本系列文章主要记录自己在学习《深入理解Java虚拟机-JVM高级特性与最佳实践》的知识点总结,文章内容都是基于周志明所著书籍的总结。 1.Java内存区域与溢出 2.垃圾收集器与内存分配策略 3.HotSpot算法实现 4.垃圾收集器 5.内存分配与回收策略 6.JVM调优总结:分代垃圾回收详述 ...
分类:
编程语言 时间:
2016-07-09 16:15:44
阅读次数:
126
属于查漏补缺 Java源文件经过编译生成一个class文件/字节码文件,帮你实现真正的跨平台。一个class编译后生成一个class文件。然后通过JVM(java虚拟机)解释执行。 java的8个基本数据类型: 四个整数类型: byte(1 字节数不同且范围不同2^7~2^7), short(2), ...
分类:
移动开发 时间:
2016-07-08 23:19:39
阅读次数:
250
上节学习回顾 1、判断对象存活算法:引用计数法和可行性分析算法 2、垃圾收集算法:标记-清除算法、复制算法、标记-整理算法 3、垃圾收集器: Serial:新生代收集器,采用复制算法,单线程。 ParNew:新生代收集器,采用复制算法,多线程。 Parallel Scavenge:新生代收集器,采用 ...
分类:
编程语言 时间:
2016-07-07 12:29:32
阅读次数:
276
Java的核心优势:跨平台 JDK:Java开发工具包 JRE:Java运行时环境 JVM:Java虚拟机 JDK包含JRE,JRE包含JVM Java_HOME:JDK安装目录 path:执行dos命令时,系统会在path指定目录寻找该命令对应的可执行文件,“#Java_HOME#\bin”放到目 ...
分类:
编程语言 时间:
2016-07-07 06:18:50
阅读次数:
283
JAVA程序设计心得001:java语言之所以能够跨平台,是因为java程序并不运行在操作系统中,而是运行在java虚拟机上。java虚拟机并不是硬件方面的东西,而是用于运行java程序的软件平台。JVM是分时操作系统的版本,例如运行在Windows中的jvm,当运行java程序时,虚拟机会吧该程序 ...
分类:
编程语言 时间:
2016-07-06 23:12:39
阅读次数:
192
19.session产生方式业务场景:如何保持service调用多个dao时,统一事务。session的产生方式不考虑分布式环境分布式调用不同java虚拟机直接的对象调用1.sessionFactory.openSession()每次创建新session2.sessionFactory.getCurrentSession();(1)查看当前线程中的session是否存..
分类:
Web程序 时间:
2016-07-06 21:56:53
阅读次数:
240
Java虚拟机所管理的内存图: 1程序计数器: 该模块作用是记录线程执行字节码的位置,记录程序执行状态,以便该线程下次获得CPU时继续执行。程序里的每个线程程序计数器相互独立,互不影响,该内存区也称“线程私有”内存。 2、java虚拟机栈: 与程序计数器一样,java虚拟机栈也是“线程私有”,’每个 ...
分类:
其他好文 时间:
2016-07-06 00:02:43
阅读次数:
249
jvm : java虚拟机 sun dvm: dalvik虚拟机 google 区别: 1.基于的架构不同,jvm 基于栈架构,栈是位于内存上的一个空间,执行指令操作,需要向cpu寻址; dvm 基于寄存器架构,寄存器是cpu的一个组成部分,执行指令操作无需寻址直接执行。 2.执行文件的格式不同,j ...
分类:
其他好文 时间:
2016-07-05 22:29:19
阅读次数:
161
1.JVM -- java virtual machineJVM就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行,也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交 ...
分类:
其他好文 时间:
2016-07-05 13:51:36
阅读次数:
150
在java1.7之前大家都清楚switch的比较范围只能局限于(int 、short 、byte 、char)之间,Java 虚拟机和字节代码这个层次上,只支持在 switch 语句中使用与整数类型兼容的类型。在1.7后switch实现字符串比较的功能。具体是如何做到的?实际上,Java虚拟机和字节 ...
分类:
编程语言 时间:
2016-07-04 20:25:51
阅读次数:
171