Java中的常量池【Class常量池、运行时常量池、字符串常量池】
关于各常量池的认识
Lambda表达式(四)方法引入
方法引入:什么是方法引入?方法引入:需要结合lambda表达式能够让代码变得更加精简。匿名内部类使用Lambda调用匿名内部类方法引入方法引入的四大分类静态方法引入 类名::(静态)方法名称对象方法引入 类名:: 实例方法名称实例方法引入 new对象 对象实例::方法引入构造函数引入 类名:
JVM内存模型之方法区
概念方法区是什么?是各个线程共享的内存区域,它用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据什么是类信息:版本号、方法、接口为何使用方法区?内存中存放类信息、静态变量等数据、属于线程共享的一块区域Hotspot虚拟机使用永久代来实现方法区特点并非数据进入了方法区就和永久
JVM内存模型之Java堆
概念什么是Java堆?是Java内存区域中一块用来存放对象实例的区域,【几乎所有的对象实例都在这里分配内存】为何使用Java堆?此内存区域的唯一目的就是存放对象实例Java堆(Java Heap)是Java虚拟机所管理的内存中最大的一块,Java堆是被所有线程共享的一块内存区域特点Java堆是垃圾收
Lambda表达式(三)方法引入
什么是方法引入方法引入:需要结合lambda表达式能够让代码变得更加精简。1.匿名内部类使用2.Lambda调用匿名内部类3.方法引入方法引入1.静态方法引入: 类名::(静态)方法名称2.对象方法引入 类名:: 实例方法名称3.实例方法引入 new对象 对象实例::方法引入4.构造函数引入
JVM内存模型之本地方法栈
概念本地方法栈是什么?用于作用于方法执行的一块Java内存区域native方法是调用cpu中原子指令的方法,native方法调用Java语言之外的语言为何使用本地方法栈?每个方法在执行的同时都会创建一个栈帧(Stack Framel)用于存储局部变量表、操作数栈、动态链接、方法出口等信息。每一个方法
JDK8Optional
Java系统内置那些函数接口消费型接口:Conusmervoid accept(T t);BiConusmer<T,U>void accept(T t,U u);//增加一种入参类型供给型接口Suppliervoid get();函数型接口Function<T ,R>R ap
JVM内存模型之程序计数器
概念程序计数器是什么?程序计数器是一块较小的内存单元,它可以看作是当前线程所执行的字节码的行号指示器线程是一个独立的执行单元,是由CPU控制执行的字节码解释器工作时就是通过计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程等基础功能都需要依赖这个计数器来完成为何要用程序计数