![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
月轩居士
Archimedes said: give me a fulcrum,I will move the earth.Program ape said: give me a keyboard,I can change the world.
展开
-
JVM基础 之The Java HotSpot Performance Engine Architecture
1 Introduction and Overview Java HotSpot™虚拟机是Sun公司针对Java平台实现的高性能虚拟机。 Java HotSpot为Java SE平台提供了基础,为快速开发和部署商业关键应用提供了首要的解决方案。Java SE技术在 Solaris、Linux、Windows和其他经过 Java技术授权的平台上均可使用。 图 1 Java 标准版技原创 2015-09-08 10:36:26 · 889 阅读 · 0 评论 -
JVM基础 之java内存管理以及GC
内存管理简介 内存管理的职责为分配内存,回收内存。 没有自动内存管理的语言/平台容易发生错误。 典型的问题包括悬挂指针问题,一个指针引用了一个已经被回收的内存地址,导致程序的运行完全不可知。 另一个典型问题为内存泄露,内存已经分配,但是已经没有了指向该内存的指针,导致内存泄露。 程序员要花费大量时间在调试该类问题上。 GC简介 因此引入了Garbage Collec原创 2015-09-08 10:44:28 · 568 阅读 · 0 评论 -
JVM基础 之Java HotSpot虚拟机中的内存管理
1 简介 依托JavaTM 2平台的力量,标准版(J2SETM)实现了内存的自动管理,将开发人员从复杂的显式内存管理中解放出来。 本文将对Sun公司的J2SE发行版中的Java HotSpot虚拟机中的内存管理进行一次综述。文中将会对用来进行内存管理的GC进行讲解,并对选择配置GC、设置执行GC时的内存区域给出一些意见。本文也可以用作资源文档,文中原创 2015-09-08 10:35:24 · 2070 阅读 · 0 评论 -
JVM基础 之JAVA自带监控工具的介绍
JAVA自带监控工具的介绍 简单介绍java自带的监控工具,这些监控工具是jdk5.0以上才有。JPS用来显示本地的java进程,以及进程号。我们可以通过它来查看我们到底启动了几个java进程. jps也可以列出远程服务器的java进程(远程服务需提供jstatd服务,采用rmi协议,默认链接端口1099),通常没人这么干。======原创 2015-09-08 10:43:12 · 2782 阅读 · 0 评论 -
JVM基础 之三种GC大揭秘
(本文基于JDK6) 说到GC,首先要对Java 的内存模型有所了解。Java 的内存模型各个代的默认排列有如下图(适用JDK1.4.* 到 JDK6):Java 的内存模型分为Young(年轻代)Tenured(终身代)Perm(永久代) 在堆内存中的GC可以分为Minor GC(次要GC)原创 2015-09-09 14:56:30 · 629 阅读 · 0 评论 -
JVM基础 之ClassLoader分析
ClassLoader 是 Java 虚拟机 (JVM) 的类装载子系统,它负责将 Java 字节码装载到 JVM 中, 并使其成为 JVM 一部分。 JVM 的类动态装载技术能够在运行时刻动态地加载或者替换系统的某些功能模块 , 而不影响系统其他功能模块的正常运行。本文将分析 JVM 中的类装载系统,探讨 JVM 中类装载的原理、实现以及应用。2 装载过程简介类 装载就是寻找一个原创 2015-09-09 14:55:38 · 657 阅读 · 0 评论 -
JVM基础 之图解JVM内存模型
Java 的内存模型由3个代组成,各个代的默认排列有如下图(适用JDK1.4.* 到 JDK6):Java 的内存模型分为Young(年轻代)Tenured(终身代)Perm(永久代) 有些旧版本也叫作NewOldPerm 叫法不同,表达的意思却是基本相同。 注意Young(年轻代原创 2015-09-09 14:56:43 · 649 阅读 · 0 评论 -
JVM基础 之Java 6 JVM参数选项大全
本文是基于最新的SUN官方文档Java SE 6 Hotspot VM Options 编写的译文。主要介绍JVM中的非稳态选项及其使用说明。为了让读者明白每个选项的含义,作者在原文基础上补充了大量的资料。希望这份文档,对正在研究JVM参数的朋友有帮助! 另外,考虑到本文档是初稿,如有描述错误,敬请指正。 非稳态选项使用说明-XX:+ 启用选项原创 2015-09-09 14:55:51 · 554 阅读 · 0 评论 -
JVM基础 之图解JVM在内存中申请对象及垃圾回收流程
先看一下JVM的内存模型: 从大的方面来讲,JVM的内存模型分为两大块: 永久区内存( Permanent space )和堆内存(heap space)。 栈内存(stack space)一般都不归在JVM内存模型中,因为栈内存属于线程级别。每个线程都有个独立的栈内存空间。 Permanent spac原创 2015-09-09 14:56:12 · 535 阅读 · 0 评论 -
JVM基础 之图解classloader加载class的流程及自定义ClassLoader
java应用环境中不同的class分别由不同的ClassLoader负责加载。一个jvm中默认的classloader有Bootstrap ClassLoader、Extension ClassLoader、App ClassLoader,分别各司其职:Bootstrap ClassLoader 负责加载java基础类,主要是 %JRE_HOME/lib/ 目录原创 2015-09-09 14:55:25 · 1308 阅读 · 0 评论 -
JVM基础 之温绍锦讲Java虚拟机基础
提纲• HotSpot• ClassFile• ClassLoader• 内存模型、锁、同步• JVM内存管理和垃圾收集 HotSpot介绍• Java发展历程 1995年,Sun发布Java 1.0,承诺:Write Once,Run Anywhere Hot原创 2015-09-08 10:41:41 · 2923 阅读 · 0 评论 -
JVM基础之类装载机制
也许你认为Class Load是一个高级话题,不管怎样,作为开发者你还是要了解它。本文基于最新得JDK5,然而将诉的内容却包含了最基本的原理,希望你能更加深入了解自己所使用得语言。 理解CLassLoader如果你自己定义了一个 org.test.Object 。你在程序中这样写:import ort.test.ObjectObject o原创 2015-09-08 10:46:59 · 489 阅读 · 0 评论