文章列表
读书笔记-垃圾收集器
- 博客分类:
- 读书笔记
如果说垃圾收集算法是内存回收的方法论,那么垃圾收集器则内存回收的具体实现。Java虚拟机规范中对垃圾收集应该如何实现并没有任何规定,因此不同的厂商、不同版本的虚拟机所提供的垃圾收集器都可能会有很大� ...
前面提到堆中存放着所有Java的对象实例,垃圾收集器在对堆进行回收前,第一件要做的事情就是确定这些对象有哪些还“存活”,哪些已经“死去”。今天我们来看看垃圾收集器是怎么来判断堆中对象的状态的,首先� ...
Java远程调试研究过程
- 博客分类:
- 研究过程
环境:
eclipse3.4及以上版本、NetBeans 5.x及以上版本、IntelliJ IDEA等
jdk5及以上版本
名词解释:
JPDA(Java Platform Debugger Architecture): Java 平台调试体系结构的缩写,通过 JPDA 提供的 API,开发人员可以方便灵活的搭建 Java 调试应用程序。JPDA 主要由三个部分组成:Java 虚拟机工具接口(JVMTI),Java 调试线协议(JDWP),以及 Java 调试接口(JDI)
JVMTI(JVM Tool Interface):Java 虚拟机工具接口,JD ...
BIO、NIO、AIO的概念及区别
- 博客分类:
- 研究过程
BIO(同步阻塞IO,1.4以前版本的唯一选择):
同步并阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务端就需要启动一个线程进行处理。
NIO(同步非阻塞IO,异步阻塞IO,1.4版本开始支持):
同步非阻塞IO:
同步并阻塞,服务器实现模式为一个请求一个线程,即客户端发送的连接请求都会发送到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一个线程进行处理。用户进程也需要时不时的轮询IO操作是否就绪,这就要求用户进程不停的去轮询
异步阻塞IO:
此种方式是指用户发一起一个IO操作以后,不等待内核IO的操作完成,等内核IO操作完成以后会通知应用 ...
读书笔记-Java内存区域划分
- 博客分类:
- 读书笔记
有幸拜读周志明老师的著作《深入理解Java虚拟机:JVM高级特性与最佳实践》,是这本书让我对Java虚拟机有了比较全面的认识,这里记录下一些重点,以备后期查阅。其实买这本书已经有几年了,期间断断续续看了几章,现在终于可以抽出时间来系统读一遍了。话不多说,进入正题。
运行时数据区域
Java虚拟机在执行Java程序时会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有的则是依赖用户线程的启动和结束而建立和销毁。根据《Java虚拟机规范(第2版)》的规定,Java虚拟机所管理的内存将会包含以下几个运行时数据区域 ...