随笔分类 - Java基础
摘要:不考虑多线程并发的情况下,容器类一般使用 ArrayList、HashMap 等线程不安全的类,效率更高。在并发场景下,常会用到 ConcurrentHashMap、ArrayBlockingQueue 等线程安全的容器类,虽然牺牲了一些效率,但却得到了安全。 上面提到的线程安全容器都在 java.
阅读全文
摘要:注解常常与反射一起使用。 一、注解是什么及作用 注解(Annotation)相当于一种标记,在程序中加入注解就等于为程序打上某种标记,没有加,则等于没有任何标记,以后,javac编译器、开发工具和其他程序可以通过反射来了解你的类及各种元素上有无何种标记,看你的程序有什么标记,就去干相应的事,标记可以
阅读全文
摘要:首先,来了解下类的加载过程: 类加载的完整过程如下: 在编译时,Java 编译器编译好 .java 文件之后,在磁盘中产生 .class 文件。.class 文件是二进制文件,内容是只有 JVM 能够识别的机器码。 JVM 中的类加载器读取字节码文件,取出二进制数据,加载到内存中,解析.class
阅读全文
摘要:一、为什么需要泛型 JDK5 引入了泛型机制。 为什么需要泛型呢?回答这个问题前,先让我们来看一个示例。 public class NoGenericsDemo { public static void main(String[] args) { List list = new ArrayList<
阅读全文
摘要:一、类型转换原则 1. 基础数据类型转换规则 基础数据类型转换主要在在 赋值、方法调用、算术运算 三种情况下发生。 (1) 赋值和方法调用规则 从低位类型到高位类型自动转换;从高位类型到低位类型需要强制类型转换: 布尔型和其它基本数据类型之间不能相互转换; byte型可以转换为short、int、、
阅读全文
摘要:一、Lambda 表达式 Lambda表达式是Java SE 8中一个重要的新特性。lambda表达式允许你通过表达式来代替功能接口。 lambda表达式就和方法一样,它提供了一个正常的参数列表和一个使用这些参数的主体(body,可以是一个表达式或一个代码块)。Lambda表达式还增强了集合库。 J
阅读全文
摘要:编译期:是指把源码交给编译器编译成计算机可以执行的文件的过程。在Java中也就是把Java代码编成class文件的过程.编译期只是做了一些翻译功能,并没有把代码放在内存中运行起来,而只是把代码当成文本进行操作,比如检查错误。 运行期:是把编译后的文件交给计算机执行,直到程序运行结束。所谓运行期就把在
阅读全文