当一个对象没有被任何对象引用,就证明这个对象没有用,那么成为了被回收对象了。 判断对象是否是垃圾的方法有两种:引用计数法、可达性分析 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是一种在多线程环境下使用的设施,该设施负责协调各个线程,以保证它们能够正确、合理的使用公共资源的设施,也是操作系统中用于控制进程同步...
线程池中的一个线程异常了会被怎么处理? 抛异常出来并打印在控制台上(只对了一半,根据提交方式的不同(execute和 submit)) 其他线程任务不受影响 异常线程会被回收...
引言 在上篇文章[https://www.jianshu.com/p/cf89ef2689c9]中曾详细谈到了JVM的内存区域,其中也曾提及了:Java程序运行过程中,绝大部...
第一篇:全民 Kotlin:Java我们不一样[https://www.jianshu.com/p/a01e6b957269] 第二篇:全民 Kotlin:你没有玩过的全新玩...
今天来给大家介绍一款项目构建神器——Maven,不仅能帮我们自动化构建,还能够抽象构建过程,提供构建任务实现;它跨平台,对外提供了一致的操作接口,这一切足以使它成为优秀的、流...
本文从应用开发者角度给予一些IO知识介绍,因篇幅问题,很多内容只做了粗略介绍,因IO涉及知识体系众多,读者若感兴趣可以对某个方向进行深入研究,本文不做赘述。若本文有错误之处,...
那天,小二去马蜂窝面试,面试官老王一上来就甩给了他一道面试题:请问Comparable和Comparator有什么区别?小二差点笑出声,因为三年前,也就是 2021 年,他在...
那天,小二去贝壳面试,面试官老王一上来就甩给了他一道面试题:请问 Iterator与Iterable有什么区别?小二差点笑出声,因为一年前,也就是 2021 年,他在《Jav...
那天,小二去阿里面试,面试官老王一上来就甩给了他一道面试题:为什么阿里的 Java 开发手册里会强制不要在 foreach 里进行元素的删除操作?小二听完就面露喜色,因为两年...
大家好,我是二哥呀。 这是《Java 程序员进阶之路》专栏的第 60 篇,我们来聊聊 ArrayList 和 LinkedList 之间的区别。大家可以到 GitHub 上给...
每个 Java 程序员都得了解 HashMap 的扩容机制美团一面:说说 HashMap 的扩容机制吧看完这篇,如果你还不懂 HashMap 的扩容机制,那我就哭了!看完这篇...