![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
铮诚
这个作者很懒,什么都没留下…
展开
-
Java多线程编程
原文链接 Java 给多线程编程提供了内置的支持。 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。 多线程是多任务的一种特别的形式,但多线程使用了更小的资源开销。 这里定义和线程相关的另一个术语 - 进程:一个进程包括由操作系统分配的内存空间,包含一个或多个线程。一个线程不能独立的存在,它必须是进程的一部分。一个...原创 2019-07-27 19:26:21 · 126 阅读 · 0 评论 -
Java类加载过程
类加载过程Class 文件需要加载到虚拟机中之后才能运行和使用,那么虚拟机是如何加载这些 Class 文件呢? 系统加载 Class 类型的文件主要三步:加载->连接->初始化。连接过程又可分为三步:验证->准备->解析。 加载类加载过程的第一步,主要完成下面3件事情: 通过全类名获取定义此类的二进制字节流 将字节流所代表的静态存储结...原创 2019-07-28 11:49:39 · 68 阅读 · 0 评论 -
Java面经
Java: Java类加载机制? Java-类加载过程Java-类加载器与双亲委派模型JavaGuide Java中的List,Map,Set是否都实现了Collections接口? List、Set 是,Map 不是。Map是键值对映射容器,与List和Set有明显的区别,而Set存储的零散的元素且不允许有重复元素(数学中的集合也是如此),List是线性...原创 2019-07-28 11:09:17 · 170 阅读 · 0 评论 -
判断对象是否死亡
以下内容来自《深入理解 Java 虚拟机》(第二版)——周志明 在堆里面存放着 Java 世界中几乎所有的对象实例,垃圾收集器在对堆进行回收之前,需要确定这些对象当中哪些还存活着,哪些已经死去(即不可能再被任何途径使用的对象)。 引用计数算法 给对象添加一个引用计数器,每当一个地方引用它,计数器加 1;当引用失效时,计数器减 1。引用计数实现简单,判定效率也很高...原创 2019-12-18 12:48:03 · 154 阅读 · 0 评论 -
运行时数据区域
以下内容来自《深入理解 Java 虚拟机》(第二版)——周志明 Java 开发比 C++ 开发更容易的地方在于 JVM 提供了内存动态分配和垃圾收集技术。 Java 虚拟机在执行 Java 程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些数据区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结...原创 2019-12-17 10:47:00 · 104 阅读 · 0 评论 -
垃圾收集算法
以下内容来自《深入理解 Java 虚拟机》(第二版)——周志明 标记 - 清除算法(Mark-Sweep) 算法分为 “标记” 和 “清除” 两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。它的不足主要有两个:一个是效率问题,标记和清除两个过程的效率都不高;另一个是空间问题,标记清除之后会产生大量不连续的内存碎片,空间碎片太多可能会...原创 2019-12-18 14:04:16 · 93 阅读 · 0 评论 -
类加载的时机
以下内容来自《深入理解 Java 虚拟机》(第二版)——周志明 在 Class 文件中描述的各种信息,最终都需要加载到虚拟机中之后才能运行和使用。虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型,这就是虚拟机的类加载机制。 与那些在编译时需要进行连接工作的语言不同,在 Java ...原创 2019-12-22 14:53:00 · 109 阅读 · 0 评论 -
垃圾收集器
以下内容来自《深入理解 Java 虚拟机》(第二版)——周志明 这里讨论的收集器基于 JDK 1.7 Update 14 之后的 HotSpot 虚拟机。上图展示了 7 种作用于不同分代的收集器,如果两个收集器之间存在连线,就说明它们可以搭配使用。 Serial 收集器 Serial 收集器是最基本,发展历史最悠久的收集器。他是一个单线程的收集器,但它的 “...原创 2019-12-18 15:16:55 · 108 阅读 · 0 评论 -
回收方法区
以下内容来自《深入理解 Java 虚拟机》(第二版)——周志明 Java 虚拟机规范中确实说过可以不要求虚拟机(或者 HotSpot 虚拟机中的永久代)在方法区实现垃圾收集,而且在方法区中进行垃圾收集的 “性价比” 确实比较低:在堆中,尤其是新生代,收集一次一般可以回收 70% ~ 95% 的空间,而方法区中是远远达不到的。 永久代的垃圾收集主要回收两部分内容:废...原创 2019-12-18 13:22:54 · 130 阅读 · 0 评论 -
推荐阅读:通俗易懂的介绍IOC
推荐阅读:https://www.zhihu.com/question/23277575/answer/169698662转载 2020-06-10 21:24:25 · 145 阅读 · 0 评论 -
推荐阅读:命名规范
推荐阅读:https://snailclimb.gitee.io/javaguide/#/docs/system-design/naming 常见命名规则以及适用场景这里只介绍 3 种最常见的命名规范。 驼峰命名法(CamelCase)驼峰命名法应该我们最常见的一个,这种命名方式使用大小写混合的格式来区别各个单词,并且单词之间不使用空格隔开或者连接字符连接的命名方...转载 2020-06-27 10:39:04 · 289 阅读 · 0 评论