Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多平台上不加修改地运行。虚拟机是一个想象中的及其,实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。其在执行 ...
分类:
编程语言 时间:
2017-07-01 18:19:42
阅读次数:
116
编写好的Java程序是不能直接在系统中运行的,而是运行在Java虚拟机中。Java 虚拟机也称为JVM(Java Virtual Machine),它是Java运行环境的一部分,Java运行环境又称JRE(JAVA Runtime Environment)。 只要电脑中安装了JRE,就可以运行Jav ...
分类:
编程语言 时间:
2017-07-01 17:28:09
阅读次数:
145
Java语言的跨平台性 1.跨平台性(一个操作系统下开发的应用,放到另一个操作系统下依然可以运行)。 2.Java语言通过Java虚拟机可以实现跨平台性,windows有windows的java虚拟机,linux有linux的java虚拟机。 3.Java语言的编译过程。 ...
分类:
编程语言 时间:
2017-07-01 14:36:55
阅读次数:
139
作用 查找类的字节码文件,并构造出类在java虚拟机内部表示对象的组件。 步骤 全盘负责双亲委托机制 java.lang.Class 类描述对象 类文件被装载解析后,在JVM内部将拥有一个对应的Java.lang.Class类描述对象,该类的实例都拥有指向这个类描述对象的引用,而类描述对象又拥有指向 ...
分类:
其他好文 时间:
2017-06-30 17:11:34
阅读次数:
230
jvm区域总体分两类,heap区和非heap区。heap区又分:Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(Java虚拟机栈 ...
分类:
其他好文 时间:
2017-06-30 12:34:08
阅读次数:
151
常用垃圾回收算法 今天我关于常见的垃圾回收算法来做个总结,我们最常听到的是Java虚拟机里的垃圾回收机制,其实垃圾回收的概念最先并不是Java里首先提出来的, 垃圾回收这个概念很早就已经被提出来了,并且已经在其他语言中得到了应用。 关于垃圾回收的机制,这里不再解释,这篇文章我主要介绍常见的垃圾回收算 ...
分类:
编程语言 时间:
2017-06-29 20:45:56
阅读次数:
174
一.项目初期我们可以使用kill-9pid的方法来杀死后台服务进程,然后重新部署。但是随着时间发展,这种简单粗暴的方法会有一些问题:如何在退出时清理一些资源?如果某个请求执行操作到一半,直接被退出了,就会造成脏数据。如何给客户端正确的反馈?二.Java虚拟机退出钩子虚拟机..
分类:
其他好文 时间:
2017-06-29 17:52:46
阅读次数:
190
1. JVM生命周期 启动。启动一个Java程序时,一个JVM实例就产生了,任何一个拥有public static void main(String[] args)函数的class都可以作为JVM实例运行的起点。 运行。main()作为该程序初始线程的起点,任何其他线程均由该线程启动。 消亡。当程序 ...
分类:
编程语言 时间:
2017-06-29 00:56:28
阅读次数:
216
运行时数据区域 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区 域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而 存在,有些区域则依赖用户线程的启动和结束而建立和销毁。根据《Java虚拟机规范(Java SE 7版)》的规定,Jav ...
分类:
编程语言 时间:
2017-06-28 18:47:57
阅读次数:
188