最近因项目存在内存泄漏,故进行大规模的JVM性能调优 , 现把经验做一记录。 一、JVM内存模型及垃圾收集算法 1.根据Java虚拟机规范,JVM将内存划分为: New(年轻代) Tenured(年老代) 永久代(Perm) 其中New和Tenured属于堆内存,堆内存会从JVM启动参数(-Xmx: ...
分类:
其他好文 时间:
2017-10-12 20:19:32
阅读次数:
118
1、Eclipse无法正常启动,弹出对话框内容为 A Java Runtime...如下图: 原因分析:由于软件版本的更新或者安装其他开发软件无意之间修改了配置文件中的路径,众所周知,Java虚拟机(Java Virtual Machine 简称JVM)是运行所有Java程序的抽象计算机,是Java ...
分类:
编程语言 时间:
2017-10-12 10:19:07
阅读次数:
343
1、加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的静态方法forName(String className)实现。 例如: try{ //加载MySql的驱动类 Class.forName("com.m ...
分类:
数据库 时间:
2017-10-11 23:55:41
阅读次数:
455
序言 为什么有时候学着学着会突然之间觉得一切度是那么无趣,男的每个月也有那么几天难道?哈哈,不然是什么,我还是要坚持,可以做少一点,但是不能什么度不做。总会过去的,加油 --WH 一、运行时数据区 什么叫运行时数据区呢,看下图就知道了,今天的重点就围绕这张图讲。 1、程序计数器(寄存器) 当前线程所 ...
分类:
编程语言 时间:
2017-10-11 20:37:48
阅读次数:
236
在学习jvm的内存分配的时候,看到的这篇博客,该博客对jvm的内存分配总结的很好,同时也利用jvm的内存模型解释了java程序中有关参数传递的问题。 博客出处: http://www.cnblogs.com/hellocsl/p/3969768.html?utm_source=tuicool&utm ...
分类:
其他好文 时间:
2017-10-11 19:15:48
阅读次数:
180
Java虚拟机 Java虚拟机的主要任务是装在class文件并且执行其中的字节码。Java虚拟机包含一个类装载器,它可以从程序和API中装载class文件。Java API中只有程序执行时需要的那些类才会被装载。字节码由执行引擎来执行。 不同的Java虚拟机中,执行引擎可能实现得非常不同。在由软件实 ...
分类:
编程语言 时间:
2017-10-11 15:31:31
阅读次数:
271
最全、最完整的JAVA7运行时数据区图解,每个部分均包含简要说明,组成部分包括:线程共享区域方法区、运行时常量池、JAVA堆、直接内存线程私有区域PC寄存器、本地方法栈、JVM栈【栈志局部变量表、操作数栈、动态链接、异常分派表】】参考书目:《Java虚拟机规范(JavaSE7中文版)..
分类:
编程语言 时间:
2017-10-11 00:39:31
阅读次数:
148
类初始化阶段是加载过程中的最后一步,在准备阶段,变量已经赋过一次系统要求的初始值,而在初始化阶段,则根据程序员通过程序制定的主观计划去初始化类变量和其它资源,或者从另一个角度来表达:初始化阶段是执行类构造器<clint>()方法的过程。 <clint>()方法是由编译器自动收集类中的所有类变量的赋值 ...
分类:
编程语言 时间:
2017-10-10 16:54:01
阅读次数:
250
【转】JVM介绍 1. 什么是JVM? JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一 ...
分类:
其他好文 时间:
2017-10-10 10:04:15
阅读次数:
164
java -- JVM的符号引用和直接引用 https://www.zhihu.com/question/50258991 在JVM中类加载过程中,在解析阶段,Java虚拟机会把类的二级制数据中的符号引用替换为直接引用。 1.符号引用(Symbolic References): 符号引用以一组符号来 ...
分类:
编程语言 时间:
2017-10-10 01:41:26
阅读次数:
434