码迷,mamicode.com
首页 >  
搜索关键字:java虚拟机    ( 4370个结果
探讨深入Java虚拟机之内存优化
上一篇我们讲述了Java虚拟机的体系结构和内存模型,那么我们就不得不说到内存泄露。大家都知道,Java是从C++的基础上发展而来的,而C++程序的很大的一个问题就是内存泄露难以解决,尽管Java的JVM有一套自己的垃圾回收机制来回收内存,在大多数的情况下并不需要java程序开发人员..
分类:编程语言   时间:2015-06-06 23:47:32    阅读次数:336
JVM工作原理学习笔记
首先要了解的数据类型Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。基本类型包括:byte,short,int,l...
分类:其他好文   时间:2015-06-06 17:49:10    阅读次数:176
Objective-C内存管理总结
iPhone系统中的Objective-C的内存管理机制是比较灵活的,即可以拿来像C/C++一样用,也可以加个AutoreleasePool让它升级为半自动化的内存管理语言。当然,也不能拿JAVA虚拟机中的全自动化GC来比?一,引用计数是实例对象的内存回收唯一参考引用计数(retainCount)是...
分类:其他好文   时间:2015-06-05 19:20:33    阅读次数:103
Java偏向锁
概述偏向锁是JDK 1.6提出的一种锁优化方式,起核心思想是如果程序没有竞争,则取消之前已经取得锁的线程的同步操作。也就是说,某一个锁被一个线程获取之后,便进入了偏向锁模式,当该线程再次请求这个锁时,就无需再进行相关的同步操作,从而节省了操作时间。但是如果在此期间,有其他线程申请了这个锁,则退出偏向锁模式。在JVM中可以使用-XX:+UseBiasedLocking设置启用偏向锁。实验看如下的代码:...
分类:编程语言   时间:2015-06-05 15:52:16    阅读次数:190
Java锁消除
概述锁消除是Java虚拟机在JIT编译是,通过对运行上下文的扫描,去除不可能存在共享资源竞争的锁,通过锁消除,可以节省毫无意义的请求锁时间。实验看如下代码:package com.winwill.lock;/** * @author qifuguang * @date 15/6/5 14:11 */ public class TestLockEliminate { public sta...
分类:编程语言   时间:2015-06-05 15:51:02    阅读次数:273
20150605面试汇总--js与java的区别
javascript与java都是编程语言,不同在于代码格式不同; js基于对象,java是面向对象; java是强变量,编译前必须作出声明,js是弱变量,使用前不需做声明; JavaScript 是一种嵌入式脚本文件,直接插入网页,有浏览器一边解释一边执行。  java 语言不一样,他必须在JAVA虚拟机上运行。而且事先需要进行编译。 JAVA的语法规则比JavaScript要严格的多...
分类:编程语言   时间:2015-06-05 12:21:24    阅读次数:135
java规范与标准?
所谓规范,即指由很多人同时遵守的行为或理论。java的规范并不是指其中一种,而是有很多种,比如java编码规范,java命名规范,java虚拟机规范等等,甚至于一个编码规范都有很多种,不同的公司、组织、个人等等可能各不相同。java标准由于java是有SUN公司发明的,默认是由SUN公司控制具体的标...
分类:编程语言   时间:2015-06-05 00:41:39    阅读次数:148
深入java虚拟机阅读笔记(jvm内存原理、异常处理部分)
深入理解Java虚拟机:JVM高级特性与最佳实践 阅读笔记(内存原理、异常处理): 1.???? Jvm运行时,内存划分如图所示: ? 2.???? 程序计数器: ?????? Jvm将这个计数看作当前线程执行某条字节码的...
分类:编程语言   时间:2015-06-04 19:39:29    阅读次数:205
jstack命令使用
概述jstack可用于导出java运用程序的线程堆栈,其基本使用语法为: jstack [-l] pid -l 选项用于打印锁的额外信息。使用示例下面这段代码运行之后会出现死锁现象(因为线程1持有lock1,在等待lock2,线程2持有lock2在等待lock1,造成了循环等待,形成死锁):package com.winwill.deadlock;/** * @author qifuguang...
分类:Web程序   时间:2015-06-04 19:33:17    阅读次数:140
jcmd命令使用
概述在JDK 1.7之后,新增了一个命令行工具jcmd。它是一个多功能工具,可以用来导出堆,查看java进程,导出线程信息,执行GC等。使用示例下面这个命令能够列出当前运行的所有虚拟机:参数-l表示列出所有java虚拟机,针对每一个虚拟机,可以使用help命令列出该虚拟机支持的所有命令,如下图所示,以21024这个进程为例:查看虚拟机启动时间VM.uptime打印线程栈信息Thread.print查...
分类:其他好文   时间:2015-06-04 19:29:52    阅读次数:207
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!