JAVA 内存管理总结 1. java是如何管理内存的 Java的内存管理就是对象的分配和释放问题。(两部分) 分配 :内存的分配是由程序完成的,程序员需要通过关键字new 为每个对象申请内存空间 (基本类型除外),所有的对象都在堆 (Heap)中分配空间。 释放 :对象的释放是由垃圾回收机制决定和 ...
分类:
编程语言 时间:
2016-12-24 16:32:43
阅读次数:
282
直接内存 直接内存是一个重要的问题,首先它不是运行数据区的部分也不是java虚拟机规范的一部分,这个的出现主要和java1.4后出现的NIO相关,一个基于通道和缓冲区的io方式,它可以使用Native函数库来直接分配堆外内存,然后通过一个存在java堆中的DirectByteBuffer这个对象来对 ...
分类:
其他好文 时间:
2016-12-24 14:10:03
阅读次数:
194
锁偏向 是一种加锁操作的优化手段,他的核心思想是:如果一个线程获得了锁,那么就进入偏向模式,当这个线程再次请求锁时,无须在做任何同步操作,因此在几乎没有锁竞争的场合,偏向锁是比较好的优化效果,因为连续多次极有可能是同一个线程请求同一个相同的锁,对于锁竞争比较激烈的场合,其效果不佳,因为竞争激烈的场合 ...
分类:
编程语言 时间:
2016-12-22 20:09:06
阅读次数:
229
1.强引用 以前我们使用的大部分引用实际上都是强引用,这是使用最普遍的引用。如果一个对象具有强引用,那就类似于必不可少的生活用品,垃圾回收器绝不会回收它。当内存空 间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足问题。 ...
分类:
编程语言 时间:
2016-12-22 19:57:04
阅读次数:
156
总体思路:由表及里,勤于实践,纵横交错,融会贯通 Java语言 >JDK >Java虚拟机原理 >编译原理 >操作系统原理 >计算机组成原理 | 编程思想 >数据结构 >算法 >设计模式 | J2SE(集合,IO,数据库,序列化,反射,多线程,并发) | J2ME(Andriod) | J2EE > ...
分类:
编程语言 时间:
2016-12-22 14:14:13
阅读次数:
224
--From : JAVA程序性能优化 (葛一鸣,清华大学出版社,2012/10第一版) 1. java性能调优概述 1.1 性能概述 程序性能: 执行速度,内存分配,启动时间, 负载承受能力。 性能指标: 执行时间,CPU时间,内存分配,磁盘吞吐量,网络吞吐量,响应时间。 优化策略: 木桶原理,优 ...
分类:
编程语言 时间:
2016-12-21 11:41:15
阅读次数:
205
转载:http://blog.csdn.net/zhangjg_blog/article/details/22205831 在本专栏的第一篇文章 深入理解Java虚拟机到底是什么 中, 我们主要讲解了什么是虚拟机, 这篇博客是对JVM的一个概述。 在随后的几篇文章中,一直在讲解class文件格式。 ...
分类:
编程语言 时间:
2016-12-20 07:32:19
阅读次数:
260
好文转载:http://blog.csdn.net/zhangjg_blog/article/details/21486985 Class文件在Java体系结构中的位置和作用 在上一篇博客中, 大致讲解了Java虚拟机的体系结构和执行原理。 本篇博客主要讲解能够被JVM识别, 加载并执行的class ...
分类:
编程语言 时间:
2016-12-20 01:25:15
阅读次数:
190
好文转载:http://blog.csdn.net/zhangjg_blog/article/details/20380971 什么是Java虚拟机 作为一个Java程序员,我们每天都在写Java代码,我们写的代码都是在一个叫做Java虚拟机的东西上执行的。但是如果要问什么是虚拟机,恐怕很多人就会模 ...
分类:
编程语言 时间:
2016-12-20 00:44:36
阅读次数:
223
1.网络带来的挑战和机遇 (1).挑战一: 网络包含的设备越来越广泛, 硬件体系不同, 操作系统不同,用途不同. java解决办法: 通过创建与平台无关的程序来解决这个问题.一个java程序可以不需要修改就可以在很大范围内的机器和设备上运行. (2).挑战二:安全性 java解决办法:提供一个受保护 ...
分类:
编程语言 时间:
2016-12-19 13:36:33
阅读次数:
199