译文地址:https://anturis.com/blog/java-virtual-machine-the-essential-guide/介绍: Java虚拟机(JVM)是Java应用程序的执行环境。在一般的意义上来说,JVM是一种抽象的计算机,通常,Java虚拟机是指用严格的指令集以及全面的....
分类:
编程语言 时间:
2014-10-11 19:40:56
阅读次数:
248
OOM
内存泄漏引发很多问题:
1:程序卡顿,响应速度慢(内存占用高时JVM 虚拟机会频繁出发GC)
2:莫名其妙消失
3:直接崩溃
ANDROID 内存面临的问题
1: 有限的堆内存,原始只有16M
2:内存大小消耗等根据设备,操作系统等级,尺寸的不同而不同
3:程序不能直接控制
4:支持后台多任务处理
5...
分类:
移动开发 时间:
2014-10-11 17:08:55
阅读次数:
189
android studio下gradleRobolectric单元测试配置1.RobolectricRobolectric另辟蹊径,它并不依赖于Android提供的测试功能,它使用了shadow objects并且运行测试于普通的工作站/服务器JVM,不像模拟器或设备需要dexing(Androi...
分类:
移动开发 时间:
2014-10-11 14:55:06
阅读次数:
203
执行Java -jar somefile.jar时发生了什么(二)...
分类:
编程语言 时间:
2014-10-11 00:15:24
阅读次数:
609
来源:当选择完workspace之后,eclipse开始加载启动,在这个阶段经常出现闪退出的情况,这主要有两个原因:原因一、eclipse.ini的配置问题: 可能配置的内存太小,或者系统本身内存不够了,比如我的就配置成这样:-Xms128m-Xmx512m-XX:PermSize=256m-XX....
分类:
其他好文 时间:
2014-10-10 23:50:24
阅读次数:
213
调整线程栈空间
当非常缺少内存时,可以调整线程使用的内存。每个线程都有一个栈,用来记录该线程的调用栈信息。线程中的栈的默认空间是有OS和JVM的版本决定的:
OS
32-bit
64-bit
Linux
320 KB
1 MB
Mac OS
N/A
1 MB
Solaris Sparc
512 KB
1 MB
So...
分类:
编程语言 时间:
2014-10-10 20:47:04
阅读次数:
238
首先看看下面的图,看清楚了图咱们要说的知识点也就说说清楚了一半
int a=10;
String b="ss";
String c=new String("kkk");
Person d=new Person("dlf");
String e=new String("kkk");
String f="ss";
jvm中有堆heap,栈stack,常量池constant...
分类:
其他好文 时间:
2014-10-10 19:14:44
阅读次数:
219
前两次分别讲述了Java关于jvm、jdk、jre、collection、classLoader和一些Design Pattern的自我理解。这次仍然不准备开始过渡到j2ee中,因为觉得还有一些琐碎的j2se的问题没有总结完毕。 1. 关于Object类理解 大家都知道Object是所有Ja...
分类:
编程语言 时间:
2014-10-10 17:45:44
阅读次数:
173
在继续了解Java内存模型之前,最好先理解Java对象的内存表示。在网上搜了下Java对象内存表示,说得都不够系统和到位。之前看了《Hotspot实战》一书,对JVM如何表示对象这块说得挺好,推荐一下。如果不理解JVM运行时的各种内存区域以及Java调用的过程,那么把Java内存模型理解到位。这个是一个比较大的主题,以后会陆续写一些JVM相关的。这里单把Java对象的内存拿出来聊聊,文中内容都基于...
分类:
编程语言 时间:
2014-10-10 17:01:34
阅读次数:
1965
Tomcat本身不能直接在计算机上运行,需要依赖于操作系统和一个JAVA虚拟机。JAVA程序启动时JVM会分配一个初始内存和最大内存给APP。当APP需要的内存超出内存的最大值时虚拟机就会提示内存溢出,并且导致应用服务崩溃。一、常见的Java内存溢出有以下三种:1.java.lang.OutOfMemor..
分类:
系统相关 时间:
2014-10-10 01:06:14
阅读次数:
222