加载中
如何精确地测量java对象的大小-底层instrument API

关于java对象的大小测量,网上有很多例子,大多数是申请一个对象后开始做GC,后对比前后的大小,不过这样,虽然说这样测量对象的大小是可行的,不过未必是完全准确的,因为过程中包含对象本身...

2016/07/15 19:07
516
JVM调优总结(十)-调优方法

JVM调优工具 Jconsole,jProfile,VisualVM Jconsole : jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用。对垃圾回收算法有很详细的跟踪。详细说明参考这里 JProfiler:商业软件,...

2016/07/15 19:03
41
JVM调优总结(七)-典型配置举例1

以下配置主要针对分代垃圾回收算法而言。 堆大小设置 年轻代的设置很关键 JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可...

2016/07/15 19:02
59
系统架构-性能篇章1(应用系统性能2:OOM&参数配置)

对于JVM的内存写过的文章已经有点多了,而且有点烂了,不过说那么多大多数在解决OOM的情况,于此,本文就只阐述这个内容,携带一些分析和理解和部分扩展内容,也就是JVM宕机中的一些问题,O...

2016/07/15 18:55
62
Java GC CMS 日志分析

看之前最好对GC的新生代(Young Generation)和老生代(Old Generation)以及晋升过程(Promotion)都有深刻理解,本文帮助理解GC CMS日志,对JVM调优没有进一步说明。 82551.569:[GC [1 CMS...

2016/04/20 14:49
604
Java序列化(Serializable)与反序列化

序列化是干什么的 简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保 存object states...

2016/04/19 18:53
1.9K
Java 并发编程:核心理论

并发编程是Java程序员最重要的技能之一,也是最难掌握的一种技能。它要求编程者对计算机最底层的运作原理有深刻的理解,同时要求编程者逻辑清晰、思维缜密,这样才能写出高效、安全、可靠的多...

2016/04/18 19:03
188
Java8内存模型—永久代(PermGen)和元空间(Metaspace)

一、JVM 内存模型   根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。   1、虚拟机栈:每个线程有一个私有的栈,随着线程的创建而创建。栈里面存着...

2016/04/18 18:43
189
JVM的内存区域划分

学过C语言的朋友都知道C编译器在划分内存区域的时候经常将管理的区域划分为数据段和代码段,数据段包括堆、栈以及静态数据区。那么在Java语言当中,内存又是如何划分的呢? 由于Java程序是交...

2016/04/15 18:22
103
Shell的四则运算

今天学习了一下在Shell里进行四则运算的方法。 (1)简单双括号法 用两层括号将计算式子包括起来,就可以进行计算了。 $ a=10 $ ((a+=23)) $ echo $a 33 在双括号里,变量不需要加$符号。双括...

2016/04/14 19:01
292
Java NIO系列教程(三) Buffer

Java NIO中的Buffer用于和NIO通道进行交互。如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的。 缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成N...

2016/04/08 18:43
76
Java NIO学习笔记之二-图解ByteBuffer

ByteBuffer前前后后看过好几次了,实际使用也用了一些,总觉得条理不够清晰。 《程序员的思维修炼》一本书讲过,主动学习,要比单纯看资料效果来的好,所以干脆写个详细点的文章来记录一下。...

2016/04/08 18:42
196
JVM内幕:Java虚拟机详解

这篇文章解释了Java 虚拟机(JVM)的内部架构。下图显示了遵守 Java SE 7 规范的典型的 JVM 核心内部组件。 上图显示的组件分两个章节解释。第一章讨论针对每个线程创建的组件,第二章节讨论...

2016/04/05 18:34
136
深入理解Java的接口和抽象类

对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可...

2016/04/05 18:07
41
JVM调优总结(3):垃圾回收面临的问题

如何区分垃圾 上面说到的“引用计数”法,通过统计控制生成对象和删除对象时的引用数来判断。垃圾回收程序收集计数为0的对象即可。但是这种方法无法解决循环引用。所以,后来实现的垃圾判断算...

2016/04/05 16:22
42
JVM调优总结(2):基本垃圾回收算法

可以从不同的的角度去划分垃圾回收算法: 按照基本回收策略分 引用计数(Reference Counting): 比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。...

2016/04/05 16:20
21
JVM调优总结(1):一些概念

数据类型 Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用...

2016/04/05 16:19
8
Shell脚本IF条件判断和判断条件总结

前言: 无论什么编程语言都离不开条件判断。SHELL也不例外。 复制代码代码如下: if list then do something here elif list then do another thing here else do something else here fi EX1:...

2016/03/31 16:34
77
Linux使用jstat命令查看jvm的GC情况

命令格式 jstat命令命令格式: jstat [Options] vmid [interval] [count] 参数说明: Options,选项,我们一般使用 -gcutil 查看gc情况 vmid,VM的进程号,即当前运行的java进程号 interval...

2016/03/28 11:34
1.6K
java 线程的几种状态

java thread的运行周期中, 有几种状态, 在 java.lang.Thread.State 中有详细定义和说明: NEW 状态是指线程刚创建, 尚未启动 RUNNABLE 状态是线程正在正常运行中, 当然可能会有某种耗时计算/...

2016/03/02 14:54
135

没有更多内容

加载失败,请刷新页面

返回顶部
顶部