随笔分类 -  Java

关于Java的一些笔记
摘要:一、API 1、int getAndIncrement() 返回旧值,然后自增 2、int incrementAndGet() 自增,然后返回新值 3、int getAndDecrement() 返回旧值,然后自减 4、int decrementAndGet() 自减,然后返回新值 5、boolea 阅读全文
posted @ 2021-01-05 22:55 huang1993 阅读(155) 评论(0) 推荐(0) 编辑
摘要:一、什么是双亲委派模型 简单来说,就是当一个类加载器被调用的loadClass方法之后,不会直接就加载这个class,而是会先将加载任务向上(父加载器)递交,让父类加载器尝试加载,直到最顶层类加载器,然后再依次向下加载,直到能够加载返回。 1 public Class<?> loadClass(St 阅读全文
posted @ 2021-01-04 22:03 huang1993 阅读(309) 评论(0) 推荐(0) 编辑
摘要:一、类加载器的类型 1、Bootstrap类加载器 最顶层的类加载器,它是由C++编写,主要负责JVM的核心类库的加载,例如java.lang包。 2、扩展类加载器 第二层类加载器,父加载器当然就是bootstrap,主要是加载jre\lb\ext子目录里面的类库。 3、系统类加载器 第三层类加载, 阅读全文
posted @ 2021-01-04 20:51 huang1993 阅读(94) 评论(0) 推荐(0) 编辑
摘要:一、类的加载阶段 类的加载阶段,其实就是将class字节码文件中的二进制数据读取到内存之中,然后将文件所代表的静态存储结构,转换为方法区中运行时的数据结构,并且在堆内存中生成一个该类的java.lang.Class对象,作为访问方法区数据结构的入口。 而在同一个类加载器下,无论一个类被加载多少次,堆 阅读全文
posted @ 2021-01-04 20:09 huang1993 阅读(142) 评论(0) 推荐(0) 编辑
摘要:JVM对类的初始化是一个延迟的机制,只有当一个类在首次主动使用的时候才会被初始化,在JVM下有六种情况算是主动使用。而在同一个运行时包下,一个Class只会被初始化一次。 1、new 关键字实例化,会导致类的加载并且最终初始化 2、调用类的静态变量,会导致类的初始化 3、调用类的静态方法,也会导致类 阅读全文
posted @ 2021-01-03 22:24 huang1993 阅读(281) 评论(0) 推荐(0) 编辑
摘要:在线程的正常运行中,调用该线程的interrupt方法,该线程的interrupt的flag会变成true,但是线程正常运行; 1 //中断前 2 System.out.printf("Thread is interrupted ? %s\n", thread.isInterrupted()); 3 阅读全文
posted @ 2021-01-02 20:22 huang1993 阅读(246) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示