
JVM
bsr1983
这个作者很懒,什么都没留下…
展开
-
JVM垃圾回收算法及垃圾收集器
垃圾回收算法:1、标记—清除算法 分为标记、清除两个阶段,首先标记所有需要回收的对象,在标记完成后统一回收掉所有被标记的对象。 缺点:一是效率问题,标记和清除过程的效率都不高;二是空间问题,标记清除后会产生大量不连续的内存碎片,可能会导致需要分配较大对象时无法找到足够的连续空间而触发下一次垃圾回收。2、复制算法 将可用内存安装容量划分为大小相等的两块,每...原创 2012-02-20 23:33:59 · 94 阅读 · 0 评论 -
Groovy学习笔记四 Groovy与Java合作
(1)从Groovy调用Java从Groovy调用Java很简单,只要把JAR放到CLASSPATH中,然后用标准的import语句就行了。以joda-time为例,下载joda-time,地址:https://github.com/JodaOrg/joda-time/releases/download/v2.6/joda-time-2.6-dist.tar.gz解压,将joda...2015-01-05 21:33:29 · 201 阅读 · 0 评论 -
Groovy学习笔记三 Groovy特性
(1)GroovyBeanGroovy很像JavaBean,不过省略了显示声明的获取和设置方法,提供了自动构造方法,并允许你用点号(.)引用成员变量。class Character{ private int strLength private int wisdom}def pc=new Character(strLength:10,wisdom:20)...2015-01-05 18:53:46 · 186 阅读 · 0 评论 -
Groovy学习笔记二 基本语法
1.默认导入下面的导入列表总是隐藏在Groovy代码之中:groovy.lang.*;groovy.util.*;java.lang.*;java.io.*;java.math.BigDecimal;java.math.BigInteger;java.net.*;java.util.*; 如果还需要引入其他的java类,则可以直接使用java...2015-01-05 14:44:26 · 259 阅读 · 0 评论 -
Groovy学习笔记一 安装及配置Groovy环境
1.下载下载地址为:http://groovy.codehaus.org/Download我下载的是最新版本的Groovy 2.4.0-rc-1,地址为:http://dl.bintray.com/groovy/maven/groovy-binary-2.4.0-rc-1.zip2.安装将下载的groovy-binary-2.4.0-rc-1.zip解压,然后配置环境变量...2015-01-05 10:57:32 · 780 阅读 · 0 评论 -
深入理解JVM学习笔记——第十三章 线程安全与锁优化
注:本系列文章均摘录自《深入理解Java虚拟机:JVM高级特性与最佳实践》,作者周志明,我看的是第一版,现在第二版已经出了,第十三章 线程安全与锁优化 1."当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协同操作,调用这个对象的行为都可以获得正确的结果,那这个对象就是线程安全的"。 2.按...原创 2013-08-15 14:29:16 · 149 阅读 · 0 评论 -
深入理解JVM学习笔记——第十二章 Java内存模型与线程
注:本系列文章均摘录自《深入理解Java虚拟机:JVM高级特性与最佳实践》,作者周志明,我看的是第一版,现在第二版已经出了,第十二章 Java内存模型与线程 1.Java虚拟机规范中试图定义一种Java内存模型(Java Memory Model,JMM)来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java在各种平台下都能达到一致的并发效果。 2.Java内存模型...原创 2013-08-14 02:21:06 · 167 阅读 · 0 评论 -
深入理解JVM学习笔记——第十一章 晚期(运行期)优化
注:本系列文章均摘录自《深入理解Java虚拟机:JVM高级特性与最佳实践》,作者周志明,我看的是第一版,现在第二版已经出了,第十一章 晚期(运行期)优化 1.为了提高热点代码的执行效率,在运行时,虚拟机会把这些代码编译成与本地平台相关的机器码,并进行各种层次的优化,完成这个任务的编译器称为及时编译器(Just In Time Compiler)。 2.解释器还可以作为编...原创 2013-08-12 11:20:52 · 245 阅读 · 0 评论 -
深入理解JVM学习笔记——第七章 虚拟机类加载机制
注:本系列文章均摘录自《深入理解Java虚拟机:JVM高级特性与最佳实践》,作者周志明,我看的是第一版,现在第二版已经出了, 第七章 虚拟机类加载机制 1.虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 Java中天生可以动态扩展的语言特性就是依赖运行期动态加...原创 2013-08-06 14:48:43 · 155 阅读 · 0 评论 -
深入理解JVM学习笔记——第六章 类文件结构
注:本系列文章均摘录自《深入理解Java虚拟机:JVM高级特性与最佳实践》,作者周志明,我看的是第一版,现在第二版已经出了, 第六章 类文件结构 1.各种不同平台的虚拟机与所有平台都统一使用的程序存储格式——字节码(ByteCode)是构成平台无关性的基石。 虚拟机并不关心Class的来源是什么语言,只要它符合Class应有的结构就可以在Java虚拟机中运行。 ...原创 2013-08-03 16:26:49 · 167 阅读 · 0 评论 -
深入理解JVM学习笔记——第五章 调优案例分析与实战
注:本系列文章均摘录自《深入理解Java虚拟机:JVM高级特性与最佳实践》,作者周志明,我看的是第一版,现在第二版已经出了,1.在高性能的硬件上部署程序的两种主要方式: (1)通过64位JDK来使用大内存 (2)使用若干个32位虚拟机简历逻辑集群来利用硬件资源 2.除了Java堆和永久代之外,以下区域还会占用较多内存,这里所有的内存总和会受到操作系统进程最大...原创 2013-08-02 14:37:30 · 245 阅读 · 0 评论 -
深入理解JVM学习笔记——第4章 虚拟机性能监控与故障处理工具
注:本系列文章均摘录自《深入理解Java虚拟机:JVM高级特性与最佳实践》,作者周志明,我看的是第一版,现在第二版已经出了,购买地址 http://item.jd.com/11252778.html 第4章 虚拟机性能监控与故障处理工具4.1 概述 给一个系统定位问题的时候,知识、经验是关键基础,数据是依据,工具是运用知识处理数据的手段。这里说的数据包括:运行日志、异常堆...2013-07-30 19:13:06 · 201 阅读 · 0 评论 -
深入理解JVM学习笔记——第三章 垃圾回收器与内存分配策略
注:本系列文章均摘录自《深入理解Java虚拟机:JVM高级特性与最佳实践》,作者周志明,我看的是第一版,现在第二版已经出了, 第三章 垃圾回收器与内存分配策略3.1概述 1960年诞生于MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言。3.2对象已死3.2.1 引用计数算法 给对象中添加一个引用计数器,每当有一个地方引用它时,计数...2013-07-30 19:12:15 · 110 阅读 · 0 评论 -
深入理解JVM学习笔记——第二章 自动内存管理机制
注:本系列文章均摘录自《深入理解Java虚拟机:JVM高级特性与最佳实践》,作者周志明,我看的是第一版,现在第二版已经出了,购买地址http://item.jd.com/11252778.html第二章 自动内存管理机制1.将jvm堆的最小值-Xms参数与最大值-Xmx参数设置为一样即可避免自动扩展,通过参数-XX:+HeapDumpOnOutOfMemoryError可以让虚拟机在内...2013-07-30 19:11:29 · 175 阅读 · 0 评论 -
JDK自带的jvm监视和故障处理工具VisualVM
1.项目主页http://visualvm.java.net/2.功能介绍http://visualvm.java.net/features.html3.插件http://visualvm.java.net/plugins.html4.文档http://visualvm.java.net/docindex.html5.中文版入门指南http://visual...原创 2013-07-30 17:29:31 · 153 阅读 · 0 评论 -
eclipse内存分析工具
Eclipse Memory Analyzer (MAT)主页 :http://www.eclipse.org/mat/下载:http://www.eclipse.org/mat/downloads.php文档:http://help.eclipse.org/kepler/index.jsp?topic=/org.eclipse.mat.ui.help/welcome.html...原创 2013-07-23 18:21:30 · 111 阅读 · 0 评论 -
Clojure学习笔记
Clojure官方网站:http://clojure.org/IntelliJ 插件地址 https://cursiveclojure.com/Clojure是在JVM上重新实现的Lisp。Clojure中的并发工具包和数据结构就是一项新技术。并发抽象层让程序员可以写出更加安全的多线程代码。它和Clojure的序列抽象层(对集合和数据结构上的不同看法)相结合,为开发人员提供了非...2015-01-13 18:40:38 · 293 阅读 · 0 评论