- 浏览: 1011386 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (826)
- 硬件 (8)
- 软件 (24)
- 软件工程 (34)
- JAVA (229)
- C/C++/C# (77)
- JavaScript (8)
- PHP (1)
- Ruby (3)
- MySQL (14)
- 数据库 (19)
- 心情记事 (12)
- 团队管理 (19)
- Hadoop (1)
- spring (22)
- mybatis(ibatis) (7)
- tomcat (16)
- velocity (0)
- 系统架构 (6)
- JMX (8)
- proxool (1)
- 开发工具 (16)
- python (10)
- JVM (27)
- servlet (5)
- JMS (26)
- ant (2)
- 设计模式 (5)
- 智力题 (2)
- 面试题收集 (1)
- 孙子兵法 (16)
- 测试 (1)
- 数据结构 (7)
- 算法 (22)
- Android (11)
- 汽车驾驶 (1)
- lucene (1)
- memcache (12)
- 技术架构 (7)
- OTP-Erlang (7)
- memcached (17)
- redis (20)
- 浏览器插件 (3)
- sqlite (3)
- Heritrix (9)
- Java线程 (1)
- scala (0)
- Mina (6)
- 汇编 (2)
- Netty (15)
- libevent (0)
- CentOS (12)
- mongod (5)
- mac os (0)
最新评论
-
kingasdfg:
你这里面存在一个错误添加多个任务 应该是这样的 /** * ...
Quartz的任务的临时启动和暂停和恢复【转】 -
kyzeng:
纠正一个错误,long型对应的符号是J,不是L。
Jni中C++和Java的参数传递 -
zhaohaolin:
抱歉,兄弟,只是留下作记录,方便学习,如果觉得资料不好,可以到 ...
netty的个人使用心得【转】 -
cccoooccooco:
谢谢!自己一直以为虚机得使用网线才可以与主机连接呢。。
主机网卡无网线连接与虚拟机通信 -
yuqilin001:
要转别人的东西,请转清楚点嘛,少了这么多类,误人子弟
netty的个人使用心得【转】
Java虚拟机(Java virtual
machine,JVM)是运行Java才程序必不可少的机制。编译后的Java程序指令并不直接在硬件系统的CPIJ上执行,而是由JVM执行。JVM
是编译后的Java程序和硬件系统之间的接口,程序员可以把JVM看作一个虚拟的处理器。它不仅解释执行编译后的Java指令,而且还进行安全检查。它是
Java程序能在多平台间进行无缝移植的可靠保证,同时也是Java程序的安全检验引擎。
Java虚拟机规范中给出了JVM的定义:JVM是在一台真正的机器上用软件方式实现的一台假想机。JVM使用的代码存储在。class文件中。JVM的某些指令很像真正的CPU指令,包括算术运算、流控制和数组元素访问等。
Java虚拟机规范提供了编译所有Java代码的硬件平台。因为编译是针对假想机的,所以该规范能让Java程序独立于平台。它适用于每个具体的硬件平台,以保证为JVM编译的代码的运行。JVM不但可以用软件实现,而且可以用硬件实现。
JVM的具体实现包括:指令集(等价于CPIJ的指令集)、寄存器组、类文件格式、栈、垃圾收集堆、内存区。
JVM的代码格式为压缩的字节码,因而效率较高。由JVM字节码表示的程序必须保持原来的类型规定。Java主要的类型检查是在编译时由字节码校验器完成的。Java的任何解释器必须能执行符合JVM定义的类文件格式的任何类文件。
Java
虚拟机规范对运行时数据区域的划分及字节码的优化并不做严格的限制,它们的实现依平台的不同而有所不同。JVM的实现叫做Java运行时系统,简称为运行
时。Java运行时必须遵从Java虚拟机规范,这样,Java编译器生成的类文件才可被所有Java运行时系统下载。嵌入了Java运行时系统的应用程
序,就可以执行Java程序了。目前有许多操作系统和浏览器都嵌入了Java运行时环境。
Java虚拟机的性能Java在问世之初,因其没有完全优化,并且是解释执行,因此Java程序的运行效率较低。同时,有着较长发展史、已非常成熟的C+十语言仍在开发界扮演着主要角色,人们往往拿C++的性能效率与刚诞生的Java相比较,这当然失之偏颇。
Java
解释器经过不断的优化,字节码的执行速度已有很大提高。另外,在字节码执行之前可以先经过JIT编译器(just in time
compiler)进行编译,生成针对具体平台的本机执行代码。它的执行效率可比解释执行的效率提高4~8倍。现在许多厂商都提供JlT编译器,这项技术
已非常成熟。由于字节码与平台无关,所以经过编泽的Java仍不失跨平台的特点。
Hotspot技术是Sun公司推出的一种全新技术。
它提供对代码的运行时选择,为的是从根本上解决Java程序的效率问题。在程序执行时,I{otspot对每个字节码指令进行分析,根据它的执行次数,动
态决定它的执行方式。比如,一段指令需要多次重复执行,则立即编译为可执行代码。如果是只执行一次的简单指令,且解释执行的效率更高,则使用解释执行的方
式。有了这项技术,Javal的效率问题基本上可以得到解决。
发表评论
-
A Collection of JVM Options
2011-06-24 12:59 1158A Collection of JVM Options ... -
java中堆(heap)和堆栈(stack)有什么区别
2011-05-10 14:29 893stack 和 heep 都是内存的一部分 stack 空间 ... -
JVM & Memory (5) final
2011-05-10 14:25 995先说tuning,gc有两个指标,一个是frequentcy( ... -
JVM & Memory (4) gc
2011-05-10 14:22 911不同的JVM实现对堆结构的设计有所不同,这里先说说共性的,然后 ... -
JVM & Memory (3) thread
2011-05-10 14:21 907以下继续探讨,说说jvm ... -
JVM & Memory (2) java.exe
2011-05-10 14:20 944上篇说到了关于java heap ... -
JVM & Memory (1) paging
2011-05-10 14:19 959近期看了一些有关JVM和内存的资料,为了避免遗忘,特在这里作一 ... -
JDK TOOLS
2011-05-10 14:15 813以下这几种工具(存在于 ... -
jvm日志分析工具应用
2011-05-10 14:14 2816涛涛学习笔记之gc日志分析工具 测试环境:xp+weblog ... -
JVM优化配置
2011-05-10 13:56 934OOM 这个缩写就是Java程 ... -
高手详细介绍JVM是什么?
2011-05-10 13:52 874首先这里澄清两个概念:JVM实例和JVM执行引擎实例,JVM实 ... -
JVM监控工具介绍
2011-03-22 14:25 891... -
正确认识java JVM与c/c++的执行效率
2011-03-22 10:43 1412认为Java 不能写JVM是完全错误的。JNode是一个用 ... -
Java虚拟机(JVM)参数配置说明
2011-03-22 10:26 986Java虚拟机(JVM)参数配置说明 ... -
解析 Java 类和对象的初始化过程
2011-03-21 23:40 909解析 Java 类和对象的初始化过程 由一个单态模式引出的问 ... -
JDK的概念、组成及JDK常用包
2011-03-18 22:09 1139JDK概述 JDK (Java Development ... -
安装JDK后JRE与JVM联系浅谈
2011-03-18 22:08 916安装JDK后JRE、JVM之间的 ... -
详细介绍什么是Java虚拟机
2011-03-18 22:07 841本文由浅入深,先从什么是Java虚拟机、Java虚拟机 ... -
JVM GC调整优化过程全揭秘
2011-03-18 22:03 840JVM GC调整优化是以个极为复杂的过程,由于各个程序具备 ... -
Java虚拟机的研究与实现(图文)
2011-03-18 21:59 1033引言 Java 虚拟机本质是就是一个程序,当它在命令行 ...
相关推荐
Java虚拟机(JVM)是Java程序的核心组成部分,它使得Java具有“一次编写,到处运行”的跨平台特性。Java代码经过编译后变成字节码(.class文件),这种字节码是平台无关的,可以在任何安装了JVM的平台上运行。JVM...
由标题“第一章认识Java”以及描述中的“Java发展”,我们可以从中提炼出关于Java的基本信息及其发展历程的关键点。 ##### 历史背景 - **开始研究**:Java项目始于1990年,最初由Sun Microsystems发起。 - **Oak**...
总的来说,通过深入研究《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》的源代码,开发者不仅可以提升对JVM内部机制的认识,还能提高解决问题和优化性能的能力,这对于任何Java开发者来说都是宝贵的财富。
- **解释型且性能良好**:虽然Java代码需要通过Java虚拟机(JVM)解释执行,但通过即时编译器(JIT Compiler)等技术,Java程序的性能得到了极大提升。 - **动态**:Java具有良好的动态特性,如反射机制等,使得程序...
其次,深入理解JVM(Java虚拟机)是提升面试竞争力的关键。这包括JVM内存模型(堆、栈、方法区、本地方法栈等)、垃圾回收机制(GC)及其优化策略、类加载机制(双亲委派模型)等。熟悉这些内容有助于解决性能调优和...
最后,Java是一种平台无关的编程语言,它依赖于Java虚拟机(JVM)来实现这一点。书中也会涉及JVM的基本工作原理,以及Java的跨平台特性是如何得以实现的。理解JVM的工作机制对于深入学习Java和提高程序的性能至关...
- 解释执行:Java代码被编译成字节码,然后由Java虚拟机解释执行。 - 健壮性:Java有严格的错误检查机制,能够避免许多常见的编程错误。 - 安全性:Java提供了多种安全机制,确保应用程序的安全运行。 - 可移植...
行讲解,希望这样做能帮助读者更快、更准确地把握各模块的工作流程及其本质。本书大部分章节中都专门撰写了“拓展思路”的内容,希望这部分内容能激发读者对Android代码进行深入研 究的热情。 本书面向的读者...
Java源代码被编译成中间码,这种中间码再由Java虚拟机(JVM)解释执行,JVM可以根据不同平台的具体实现进行调整,从而实现平台无关性。 安全性同样是Java语言非常重视的特点,尤其是在网络环境中。Java提供了丰富的...
### JVM基础系列——深入了解Java虚拟机的重要性 #### 一、引言 随着Java技术的不断发展,Java虚拟机(JVM)已成为软件开发人员不可或缺的核心技能之一。对于初学者而言,掌握JVM的基础知识不仅可以帮助深入理解Java...
- **JAVA语言概述**:了解JAVA的发展历程、技术组成、语言特性以及JAVA虚拟机的基本原理。 - **JAVA开发环境及过程**:学习环境变量的配置方法、JAVA编程的基本步骤以及常用的编辑器介绍。 - **JAVA开发基础语法**:...
通过以上分析,我们可以清晰地认识到JDK与JRE之间的区别及其各自的作用。对于开发者而言,需要安装JDK来进行Java程序的开发和调试;而对于Java程序的最终用户,则只需安装JRE即可运行Java应用。此外,了解JDK和JRE的...
它的设计目标是“一次编写,到处运行”,通过Java虚拟机(JVM)实现了跨平台的特性。 2. **Java语法基础**:Java语法与C++类似,但更简洁。它包括变量声明、数据类型(如整型、浮点型、字符型、布尔型以及引用类型...
其次,深入理解JVM(Java虚拟机)工作原理至关重要。面试官通常会询问关于类加载机制、内存模型(堆、栈、方法区)、垃圾回收机制等方面的问题。了解JVM调优技术,如如何通过JDK工具分析和优化程序性能,也会让你在...
1. **Java简介**:讲解Java的历史,由Sun Microsystems(现为Oracle公司)开发,以及其“一次编写,到处运行”的哲学,解释了JVM(Java虚拟机)的角色。 2. **环境搭建**:包括如何安装JDK(Java Development Kit)...
7. **Java虚拟机(JVM)**: - JVM内存模型,包括堆、栈、方法区等。 - 垃圾收集机制的深入分析,如常见的垃圾收集算法。 - JVM的调优和性能监控。 8. **Java 8及后续版本的新特性**: - Java 8引入的Lambda...
- **JVM性能调优专题**:Java虚拟机(JVM)的性能直接影响到应用程序的运行效率。本部分将介绍JVM的工作机制以及如何对其进行调优。 #### 5. 分布式框架专题 - **分布式缓存技术Redis**:Redis是一种非常流行的内存...
7. **JVM和内存管理**:理解Java虚拟机(JVM)的工作原理,包括类加载机制、内存区域(如堆、栈、方法区)以及垃圾回收机制,可以帮助优化代码性能。 8. **Java Swing和JavaFX**:这两者是Java的图形用户界面(GUI...