一、什么是虚拟机,什么是java虚拟机 1.1虚拟机 定义: 模拟某种计算机体系结构,执行特定指令集的软件 分类 系统虚拟机(VMware,Virtual Box等), 进程虚拟机 1)进程虚拟机 特点: 并不会完整的模拟一个操作系统的运行环境,仅仅提供了特定指令集的运行环境 实例: JVM, Ad ...
分类:
编程语言 时间:
2017-12-25 13:33:30
阅读次数:
201
Java 垃圾回收(Garbage Collection,GC) Java支持内存动态分配、垃圾自动回收,而 C++ 不支持。我想这可能也是 为什么 Java 脱胎于 C++ 的一个原因吧。 GC 的历史 GC 的历史比 Java 更久远,比如 1960 年诞生的于 MIT 的 就是第一门真正使用内 ...
分类:
编程语言 时间:
2017-12-25 11:36:27
阅读次数:
190
五、垃圾收集器 如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。由于java虚拟机规范对垃圾收集器实现没有任何的规范因此不同的厂商,不同的版本的虚拟机所提供的垃圾收集器都有可能会有很大的区别,并且一般都会提供参数供用户根据自己的应用特点和要求组合出各个年代所使用的收集器。 虚 ...
分类:
其他好文 时间:
2017-12-23 11:57:28
阅读次数:
207
一、虚拟机是什么? 什么是Java虚拟机?【摘录】 作为一个Java程序员,我们每天都在写Java代码,我们写的代码都是在一个叫做Java虚拟机的东西上执行的。但是如果要问什么是虚拟机,恐怕很多人就会模棱两可了。在本文中,我会写下我对虚拟机的理解。因为能力所限,可能有些地方描述的不够欠当。如果你有不 ...
分类:
其他好文 时间:
2017-12-22 17:02:36
阅读次数:
125
第二章 Java内存区域与内存溢出异常 运行时数据区域 程序计数器(Program Counter Register) 程序计数器 :当前线程所执行的字节码行号指示器.各条线程之间计数器互不影响,独立存储.也称之为"线程私有"的内存. PS :当执行Native方法时,计数器值为空(Undefine ...
分类:
编程语言 时间:
2017-12-22 15:07:45
阅读次数:
186
Java与C++之间有一堆由内存动态分配与垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来。 —— 《深入理解Java虚拟机:JVM高级特性与最佳实践》 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途。以及创建和销毁的时 ...
分类:
其他好文 时间:
2017-12-21 11:54:36
阅读次数:
107
为什么要打jar包? 1.因为用户不会运行class文件,更不会编译java文件,他们只会双击打开。。。 2.如果你开发100个类,供其他人使用,你不会是给别人100个class文件吧? 那样太乱了,给他一个文件就好了:将100个class文件打包成一个jar文件 打jar包: 需要使用到jdk的开 ...
分类:
编程语言 时间:
2017-12-21 01:51:43
阅读次数:
214
1、配置完Java环境变量之后,仍然不能使用java命令。 解决方法: 2、正确Java代码无法在控制台运行 Java文件可以通过javac命令编译,但无法使用java命令运行。 解决方法: 如果使用的是Windows10系统,可能因为系统安全权限过高,不允许Java虚拟机操作C盘造成的,可以将ja ...
分类:
编程语言 时间:
2017-12-20 16:51:57
阅读次数:
1161
Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个java虚拟机。JAVA程序启动时JVM都会分配一个初始内存和最大内存给这个应用程序。这个初始内存和最大内存在一定程度都会影响程序的性能。比如说在应用程序用到最大内存的时候,JVM是要先去做垃圾回收的动作,释放被占用的一些 ...
分类:
其他好文 时间:
2017-12-20 16:51:26
阅读次数:
86
先上一个图(引自:深入java虚拟机) java里面数据类型分为两种,基本类型(byte、short、char、int、float、double、long、boolean)和引用类型(类引用、接口引用、数组引用)。 1. 基本类型就是可以在方法栈中存储的操作数类型,可以不存储在堆区中。而引用类型只是 ...
分类:
编程语言 时间:
2017-12-19 12:32:56
阅读次数:
186