java基础复习
藕小白菜
这个作者很懒,什么都没留下…
展开
-
Java中静态内部类的加载时机
先说结论:外部类初次加载,会初始化静态变量、静态代码块、静态方法,但不会加载内部类和静态内部类。 实例化外部类,调用外部类的静态方法、静态变量,则外部类必须先进行加载,但只加载一次。 直接调用静态内部类时,外部类不会加载。再看代码:外部类及内部类:public class Student { public static long OUTER_DATE = System...原创 2018-08-31 17:04:23 · 10402 阅读 · 2 评论 -
读书笔记--java内存区域
主要列出运行时数据区域方法区、堆、虚拟机栈、本地方法栈、程序计数器。程序计数器看作当前线程所执行字节码的行号指示器,通过改变计数器的值来选取下一条需要执行的指令。执行java方法时,计数器记录的是字节码指令的地址,执行native方法时,计数器的值为空(Undefined)。每条线程一个计数器,互不影响,独立存储,线程私有。此区域没有规定OutOfMemoryError。...原创 2019-05-29 22:39:16 · 117 阅读 · 0 评论 -
读书笔记--java对象的创建
创建前,虚拟机会检查这个类是否已被加载、解析和初始化过,然后进行类加载检查,为新生对象进行内存分配。内存分配的两种方式指针碰撞:假设内存绝对规整,用过的放一边,没用过的放另一边,中间放着一个指针指示器,需要分配内存时,往空闲内存移动一段与内存大小相等的距离。空闲列表:已用内存和空闲内存相互交错,虚拟机维护一个列表记录哪些内存时空闲的,分配时去找一个足够大的内存分给实例,并更新列表上的记...原创 2019-05-29 22:43:13 · 108 阅读 · 0 评论