摘要: 反射: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)