![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 81
LZing_
这个作者很懒,什么都没留下…
展开
-
JVM——类加载(Class Loading)
Java虚拟机中的类的加载可分为加载、验证、准备、解析、初始化五个过程,下面对这几个过程进行详细分析。 加载 此过程中虚拟机需要完成以下3件事: 1)通过一个类的全限定明来获取定义此类的二进制字节流; 2)将这个字节流所代表的静态结构转化为方法区的运行时数据结构; 3)在内存中生成一个代表这个类的ja...原创 2018-06-02 18:07:22 · 604 阅读 · 1 评论 -
JVM——内存模型
Java虚拟机运行时的内存主要分为方法区、堆区、栈区、本地方法栈、程序计数器五个部分,如下图所示 (图片来源网络) 程序计数器 位于处理器内部,所包含的寄存器数量有限,由...翻译 2018-06-01 16:38:23 · 120 阅读 · 0 评论 -
Thread类中interrupt()、interrupted()和isInterrupted()方法详解
首先看看官方说明:interrupt()方法其作用是中断此线程(此线程不一定是当前线程,而是指调用该方法的Thread实例所代表的线程),但实际上只是给线程设置一个中断标志,线程仍会继续运行。 interrupted()方法作用是测试当前线程是否被中断(检查中断标志),返回一个boolean并清除中断状态,第二次再调用时中断状态已经被清除,将返回一个false。 ...原创 2018-08-06 11:38:53 · 113189 阅读 · 34 评论 -
Java线程池详解(JDK1.8)
为什么使用线程池? 首先,一个线程的线程的创建和销毁都需要消耗资源,特别是当线程中执行的是比较简单的任务时,大部分系统资源花费在线程的创建和销毁上,把过多的资源都用在了准备工作上,这显然不是我们想要的。可见,“每任务每线程”的做法并不合理。从另一个角度看,每个线程的创建和销毁过程都是一样的,同样的过程为什么我们要重复做那么多次呢?于是就产生了线程池的思想。 线程池...原创 2018-08-30 22:14:38 · 1799 阅读 · 0 评论