摘要:
反射:reflect 成员属性:Field 成员方法:Method 构造方法:Constructor 类:Class
引用,援引:invoke 新实例:newInstance Declared:公开
什么是反射?
反射是一种机制,利用该机制可以在程序运行过程中对类进行解剖并操作类中的方法,属... 阅读原文
2019-04-28 17:53:01 阅读(2324) 评论(0)
摘要:
目录
什么是装箱、拆箱
基本类型和包装类型
为什么会有基本类型?
为什么还要有包装类型
两者区别
两者互转
源码分析(JDK1.8版本)
valueOf方法
1.Integer、Short、Byte、Character、Long的valueOf方法
2.Double、Float的valueO... 阅读原文
2019-04-28 17:15:06 阅读(2492) 评论(0)
摘要:
在创建Maven项目时,需要在pom.xml 文件中添加相应的依赖,其中有一个scope标签,该标签是设置该依赖范围
(maven项目包含三种classpath{编译classpath,测试classpath、运行classpath})的,其可选配置:compile、test、provided、runtime、sy... 阅读原文
2019-04-28 16:49:01 阅读(2291) 评论(0)
摘要:
1.包装类与创建对象
Java 为8大数据类型都提供了相应的包装类,并提供属性和方法,更方便的操作基本数据类型。包装类位于java.lang包中。
对于这几种类型的基本数据,都有相似的方法实现基本数据和实例的相互转换:把基本数据类型变量变成包装类实例通过包装类的 valueOf()静态方法;将包装类对象转换成... 阅读原文
2019-04-28 15:09:01 阅读(2378) 评论(0)
摘要:
NullPointerException相信每个JAVA程序员都不陌生,是JAVA应用程序中最常见的异常。之前,Google Guava项目曾提出用Optional类来包装对象从而解决NullPointerException。受此影响,JDK8的类中也引入了Optional类,在新版的SpringData Jpa... 阅读原文
2019-04-28 13:16:01 阅读(2589) 评论(0)
摘要:
jdk中自带了很多工具可以用于性能分析,位于jdk的bin目录下,jvisualvm工具可以以图形化的方式更加直观的监控本地以及远程的java进程的内存占用,线程状态等信息。
一、配置tomcat
在tomcat的 catalina.sh 文件开头加上如下配置 :
JAVA_OPTS="-Dcom... 阅读原文
2019-04-28 13:12:05 阅读(2431) 评论(0)
摘要:
大家好,今天我准备死磕NioEventLoopGroup的源码,首先讲下概念,NioEventLoopGroup 它是一个线程池,存放NioEventLoop,一个数组,今天打算先看下这行代码的初始化
EventLoopGroup bossGroup = new NioEventLoopGroup();
... 阅读原文
2019-04-28 12:19:02 阅读(2349) 评论(0)
摘要:
1.方法重载
和C++的函数重载一样,主要是实现多个相同的函数名,但是参数表不同.
参数表不同主要有以下几种
1) 参数个数不同
2) 参数类型不同
3) 参数顺序不同
2.类和对象
类class
用来描述一个对象的结构,但是类不能直接使用,必须生成对象后才能使用
对象
通过类来生成的一... 阅读原文
2019-04-28 11:55:45 阅读(2419) 评论(0)
摘要:
在使用线程池时,我们都知道线程池有两种提交任务的方式,那么他们有什么区别呢?
1.execute提交的是Runnable类型的任务,而submit提交的是Callable或者Runnable类型的任务
2.execute的提交没有返回值,而submit的提交会返回一个Future类型的对象
3.execu... 阅读原文
2019-04-28 10:23:04 阅读(2412) 评论(0)
摘要:
@TOC
对象在内存中如何储存
对象访问在java语言中无处不在,是最普通的程序行为,但即使是最简单的访问,也会涉及到java栈,java堆,方法去三个最重要的内存区域的关联关系,比如下面这段代码:
Object ocj =new Object();
假设这句代码出现在方法体中,那Object obj这部分的语义将... 阅读原文
2019-04-28 09:42:02 阅读(2467) 评论(0)