HeapBuffer 堆缓冲 :其实是在java 的内存模型中,java 虚拟机可以直接管控的 DirectBuffer 直接缓冲 :使用的是native ,与操作系统挂钩,调用的是c 或者c++ 的代码,不在java 的内存模型中,我们称为堆外内存,因为不属于java 内存模型,所以java 虚拟 ...
分类:
编程语言 时间:
2018-09-18 00:24:43
阅读次数:
183
文章转自 https://www.cnblogs.com/myna/p/7567889.html 引文 JDK7及之前版本的方法区(Method Area)和Java堆一样,是各个线程共享的内存区域,用于存储已经被虚拟机加载的类信息、常量、静态常量、即时编译器编译后的代码等数据。虽然Java虚拟机规 ...
分类:
编程语言 时间:
2018-09-17 23:05:16
阅读次数:
407
Java技术体系: Sun官方所定义的Java技术体系包括以下几个组成部分: Java程序设计语言 各种硬件平台上的Java虚拟机 Class文件格式 Java API类库 来自商业机构和开源社区的第三方Java类库 我们可以把Java程序设计语言、Java虚拟机、Java API类库这三部分统称为 ...
分类:
编程语言 时间:
2018-09-17 21:28:33
阅读次数:
151
1、进程与线程 进程是指一个程序的执行过程,持有资源和线程 线程是系统中最小的执行单元,一个进程可以有多个线程,线程共享进程资源,具有同步(线程的协作)与互斥(资源的争抢) 例如:我们一个班级当做一个进程,班级里面的学生就是线程,里面的学习工具就是资源,学生们的相互协作与竞争就是线程之间的同步与互斥 ...
分类:
编程语言 时间:
2018-09-15 16:41:04
阅读次数:
201
Java ClassLoad详解 类加载器是 Java 语言的一个创新,也是 Java 语言流行的重要原因之一。它使得 Java 类可以被动态加载到 Java 虚拟机中并执行。类加载器从 JDK 1.0 就出现了,最初是为了满足 Java Applet 的需要而开发出来的。Java Applet 需 ...
分类:
编程语言 时间:
2018-09-14 20:00:15
阅读次数:
176
在 java.util.concurrent 包中的 ExecutorService 的实现就是壹個线程池的实现 任务的委托(Task Delegation) 壹旦线程把任务委托给 ExecutorService,该线程就会继续执行与运行任务无关的其它任务。 Executor框架的两级调度模型 在H ...
分类:
编程语言 时间:
2018-09-14 18:28:01
阅读次数:
166
最近开始肝第三次<深入理解Java虚拟机-JVM高级特性与最佳实践>, 每次都是看了就忘, 所以这次准备写点东西记录下来. 个人感觉这本书写的是真的不错, 不同的阶段看有不同的体验, 每次都有很多收获. 话不多说, 直接进入正题. 什么是JVM Java Vitual Machine, 是一个运行J ...
分类:
其他好文 时间:
2018-09-13 23:59:51
阅读次数:
301
直接上代码,代码中有解释,再看不懂就先去看看java虚拟机的书. ...
分类:
编程语言 时间:
2018-09-13 17:31:12
阅读次数:
167
一、根搜索算法: (1)定义:通过一系列名为"GC Roots"的对象作为起点,从这些起点开始向下搜索,搜索走过的路径称为引用链,当一个对象到GC Roots没有任何引用链相连的时候,则证明此对象不可用 (2)GC Roots对象包括这几种:虚拟机栈中引用的对象;方法区中的类静态属性引用的对象;方法 ...
分类:
编程语言 时间:
2018-09-13 14:05:02
阅读次数:
179