当一个对象没有被任何对象引用,就证明这个对象没有用,那么成为了被回收对象了。 判断对象是否是垃圾的方法有两种:引用计数法、可达性分析 1.对象回收 1.1引用计数法算法 引用...
当一个对象没有被任何对象引用,就证明这个对象没有用,那么成为了被回收对象了。 判断对象是否是垃圾的方法有两种:引用计数法、可达性分析 1.对象回收 1.1引用计数法算法 引用...
1. 注解 注解入门 Annotation 是 JDK 5 开始引入的新技术。 Annotation 的作用:不是程序本身,可以对程序作出解释,这一点和注释(comment)...
线程thread的状态有六种:new、terminal、runnable、waiting、timed_waiting、block 它们的关系图如下: 代码测试: 关于Lock...
对于下面这段代码,输出是什么? 以上的结果可能是整数也可能是负数也可能是0。因为java对静态变量的自增、自减并不是原子性的。要彻底理解,必须从字节码角度来看。对于静态cou...
大家好,我是冰河~~ 最近经常有读者问我:冰河,线程到底是按照怎样的顺序执行的呀?为了同一回答大家的这个问题,今天我就单独写一篇文章吧。好了,不多说了,进入今天的正题。 一、...
new一个对象过程中发生了什么? 1.确认类元信息是否存在。当 JVM 接收到 new 指令时,首先在 metaspace 内检查需要创建的类元信息是否存在。 若不存在,那么...
业精于勤而荒于嬉,行成于思而毁于随。 java内存模型 java内存模型(java memory model)是一种规范,是解决多线程在用共享内存时,因为3级缓存,编译器重排...
前言 类加载器属于JVM的一个重要知识点,也是Java安全里命令执行、webshell管理器编写的常用技术。 类加载器简介 我们知道java源文件在运行前会被编译为class...
一、Semaphore Semaphore是一种在多线程环境下使用的设施,该设施负责协调各个线程,以保证它们能够正确、合理的使用公共资源的设施,也是操作系统中用于控制进程同步...