Java虚拟机JVM的作用: Java源文件(.java)通过编译器编译成.class文件,.class文件通过JVM中的解释器解释成特定机器上的机器代码,从而实现Java语言的跨平台。 JVM的体系结构包含三个主要的子系统和一个内存区,分别是: 垃圾回收器:用于回收堆(heap)中无引用的对象。 ...
分类:
编程语言 时间:
2017-04-16 23:08:30
阅读次数:
189
1.protected Object clone()创建并返回此对象的一个副本。 2. boolean equals(Object obj)指示其他某个对象是否与此对象“相等”。 3. protected void finalize()当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调 ...
分类:
其他好文 时间:
2017-04-15 15:31:58
阅读次数:
109
JVM优化涉及到两大方面我个人的理解 1.如何分配JVM的内存空间 2.我应该使用什么垃圾回收器 JVM产生的垃圾需要回收、回收有不同的回收器、 JVM的调优需要了解各个垃圾回收机制的原理、 终极目标:降低FULL GC出现的频率 (FULL GC出现会导致应用的暂停服务) 优化catalina.s... ...
分类:
编程语言 时间:
2017-04-15 14:42:54
阅读次数:
180
1、在垃圾回收器中,程序员没有执行权,只有通知它的权利。 2、程序员可以通过System.gc()。通知GC运行,但是Java规范并不能保证立刻运行。 3、finalize()方法,是java提供给程序员用来释放对象或资源的办法,但是尽量少用。 一、GC的介绍 GC的全称是Garbage Colle ...
分类:
其他好文 时间:
2017-04-14 22:17:34
阅读次数:
218
一、垃圾回收器如何工作? 1、Java虚拟机将采用一种自适用的垃圾回收技术。 停止-复制: 原理: 先暂停程序的运行(所以它不属于后台回收模式),然后将所有存活的对象从当前堆复制到另一个堆,没有被复制的全部都是垃圾。当对象被复制到新堆时,他们是一个挨着一个的,所以新堆保持着紧凑的排列,当对象从一处搬 ...
分类:
其他好文 时间:
2017-04-12 03:06:32
阅读次数:
175
Java语言规范没有明确地说明JVM使用哪种垃圾回收算法,但是任何一种垃圾回收算法一般要做2件基本的事情: (1)发现无用信息对象; (2)回收被无用对象占用的内存空间,使该空间可被程序再次使用。 但垃圾回收器只知道那些显示地经由new分配的内存空间,它不知道该如何释放这块“特殊”的内存区域。特殊的 ...
分类:
编程语言 时间:
2017-04-07 09:45:41
阅读次数:
291
地址 一、单选题1. 如下关于集合类的描述错误的是A. 含有集合意义的属性命名,尽量包含其复数的意义B. 集合中的数据不需要释放,垃圾回收器会自动回收C. 集合必须指定模板类型D. 使用集合类时要设置初始化容量2. 关于线程以下说法错误的有A. 新起一个线程,都要使用Thread.setName(“ ...
分类:
编程语言 时间:
2017-04-06 01:10:39
阅读次数:
1522
[.net 面向对象程序设计深入](8)认识.NET Core 1,概述 .NET 经历14年,在Windows平台上的表现已经相当优秀,但是“跨平台、开源”却是其痛点,从16年开始.NET Core的出现将迎来.NET的真正意义上的跨平台和开源序幕。 .NET Core是一个开源通用的开发框架,支 ...
分类:
Web程序 时间:
2017-04-04 23:27:16
阅读次数:
382
Java 中有四种引用:强引用、软引用、弱引用、虚引用; 其主要区别在于垃圾回收时是否进行回收: 1.强引用 使用最普遍的引用。如果一个对象具有强引用,那就 类似于必不可少的生活用品,垃圾回收器绝不会回收它。当内存空 间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止 ...
分类:
编程语言 时间:
2017-04-04 19:00:04
阅读次数:
153
一:在JAVA中,有六个不同的地方可以存储数据: 1. 寄存器(register)。 这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。 最快的存储区, 由编译器根 ...
分类:
编程语言 时间:
2017-04-01 15:30:29
阅读次数:
241