关闭

jvm数据区

1. 程序计数器   线程私有   当前线程所执行的字节码的行号指示器 2. 虚拟机栈   线程私有   存:Java方法(局部变量表(基本数据类型)、操作数栈、动态链栈、方法出口)   StackOverflowError 栈深度大于虚拟机所允许的深度   OutOfMemoryError 无法满足内存分配 3. 本地方法栈 ...
阅读(55) 评论(0)

java历史变迁

一、java变迁历史 版本 描述 1991年1月 Sun公司成立了Green项目小组,专攻智能家电的嵌入式控制系统 1991年2月 放弃C++,开发新语言,命名为“Oak” 1991年6月 JamesGosling开发了Oak的解释器 1992年1月 Green完成了Green操作系...
阅读(158) 评论(0)

java运行流程

运行流程 我们都知道java一直宣传的口号是:一次编译,到处运行。 java程序经过一次编译之后,将java代码编译为字节码也就是class文件,然后在不同的操作系统上依靠不同的java虚拟机进行解释,最后再转换为不同平台的机器码,最终得到执行。这样我们是不是可以推演,如果要在mac系统上运行,是不是只需要安装mac java虚拟机就行了。那么了解了这个基本原理后,...
阅读(130) 评论(0)

java内存区域与内存溢出异常

一、对象的内存布局:           1. 对象头(Header):包括两部分   (1)用于存储对象自身的运行时数据,如哈希码(HashCode)、GC分代年龄、锁状态标志、线程持有的锁、偏向线程ID、偏向时间戳等   (2)类型指针,即对象指向它的类元数据的指针,虚拟机通过这个指 针来确定这个对象是哪个类的实例。           2.实例数据(Instance Data):对...
阅读(107) 评论(0)

Java内存管理:深入Java内存区域

Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。   概述:   对于从事C和C++程序开发的开发人员来说,在内存管理领域,他们既是拥有最高权力的皇帝,又是从事最基础工作的劳动人民—既拥有每 一个对象的“所有权”,又担负着每一个对象生命开始到终结的维护责任。   对于Java程序员来说,在虚拟机的自动内存管理机制...
阅读(144) 评论(0)

java性能分析

性能分析的两种方法:    (1)自顶向下:着眼于软件栈顶层的应用,从上往下寻找优化机会和问题。                         (2)自底向上:从最底层CPU统计数据(cpu高速缓存命中率、cpu指令效率)开始,逐步上升到应用本身。     软件开发过程:...
阅读(163) 评论(0)

Java虚拟机体系结构

编译及运行环境(Complie and Runtime Enviroment) 1、Java源文件经过编译器,生成*.class(字节码)文件。 2、 *.class(字节码)文件由ClassLoader载入虚拟机,由执行引擎执行。 Java虚拟机基本结构 1、装载。所有由用户自己编写生成的*.class文件以及这些*.class文件引用的JDK A...
阅读(143) 评论(0)

初探java虚拟机

虚拟机,就是一台虚拟的计算机,它是一款软件,用来执行一系列虚拟计算机指令。虚拟机大体可以分为如下:      (1)系统虚拟机: Visual Box ,VMware      (2)程序虚拟机: java虚拟机      在java虚拟机中执行的指令为java字节码指令。现在被大规模部署的是Hotspot虚拟机。在整个java应用中都要遵循      (1)java 语言规范: java...
阅读(171) 评论(0)
    个人资料
    • 访问:167958次
    • 积分:5216
    • 等级:
    • 排名:第5558名
    • 原创:219篇
    • 转载:175篇
    • 译文:118篇
    • 评论:34条
    个人博客
    最新评论