- 博客(72)
- 收藏
- 关注
转载 JVM内存区域
jvm内存区域划分 Eden Space、Survivor Space、Tenured Gen2013 年 8 月 15 日vvdiaryLeave a commentjvm区域总体分两类,heap区和非heap区。heap区又分:Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code
2014-10-24 09:41:20 830
转载 jvm内存区域划分 (解释的很形象)
jvm区域总体分两类,heap区和非heap区。heap区又分:Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机栈)、Local Method Statck(本地方法栈)。 HotSpot虚拟机GC
2014-10-24 09:39:42 529
转载 JVM内存管理和JVM垃圾回收机制
你对JVM内存组成结构和JVM垃圾回收机制是否熟悉,这里和大家简单分享一下,希望对你的学习有所帮助,首先来看一下JVM内存结构,它是由堆、栈、本地方法栈、方法区等部分组成,结构图如下所示。JVM学习笔记 JVM内存管理和JVM垃圾回收JVM内存组成结构JVM内存结构由堆、栈、本地方法栈、方法区等部分组成,结构图如下所示: 1)堆所有通过new创建的对象的内存都在堆中分配
2014-10-24 09:35:02 414
转载 jvm的内存模型之eden区
浅谈java内存模型 不同的平台,内存模型是不一样的,但是jvm的内存模型规范是统一的。其实java的多线程并发问题最终都会反映在java的内存模型上,所谓线程安全无 非是要控制多个线程对某个资源的有序访问或修改。总结java的内存模型,要解决两个主要的问题:可见性和有序性。我们都知道计算机有高速缓存的存在,处 理器并不是每次处理数据都是取内存的。JVM定义了自己的内存模型,屏蔽
2014-10-24 09:33:19 1120 1
原创 我对Java内存的认识
转载请注明出处:http://blog.sina.com.cn/s/blog_68158ebf0100wp83.html一、Java内存的构成 先上一个官方java document里的图: 由上图可知,整块区域分为Young Generation、Tenured Generation、Permanent Generation。详细解释一下Young
2014-10-24 09:22:28 480
转载 java 虚拟机--新生代与老年代GC
1. Java堆中各代分布:图1:Java堆中各代分布Young:主要是用来存放新生的对象。 Old:主要存放应用程序中生命周期长的内存对象。 Permanent:是指内存的永久保存区域,主要存放Class和Meta的信息,Class在被 Load的时候被放入PermGenspace区域. 它和和存放Instance的Heap区域不同,GC(GarbageCollect
2014-10-24 09:09:47 521
转载 JVM GC调优一则--增大Eden Space提高性能
线上有Tomcat升级到7.0.52版,然后有应用的JVM FullGC变频繁,在高峰期socket连接数,Cpu使用率都暴增。思路思路是Tomcat本身的代码应该是没有问题的,有问题的可能是应用代码升级,或者环境改变了,总之Tomcat的优先级排在最后。先把应用的heap dump下来分析下:jmap -dump:format=b,file=path pid用IBM的He
2014-10-24 09:02:21 665
转载 Java中Class对象详解
Java中把生成Class对象和实例对象弄混了,更何况生成Class对象和生成instance都有多种方式。所以只有弄清其中的原理,才可以深入理解。首先要生成Class对象,然后再生成Instance。那Class对象的生成方式有哪些呢,以及其中是如何秘密生成的呢?Class对象的生成方式如下:1.Class.forName("类名字符串")2.类名.class3.
2014-10-23 17:53:02 398
转载 如何优化Java程序设计和编码提高性能
通过使用一些辅助性工具来找到程序中的瓶颈,然后就可以对瓶颈部分的代码进行优化。一般有两种方案:即优化代码或更改设计方法。我们一般会选择后者,因为不去调用以下代码要比调用一些优化的代码更能提高程序的性能。而一个设计良好的程序能够精简代码,从而提高性能。下面将提供一些在JAVA程序的设计和编码中,为了能够提高JAVA程序的性能,而经常采用的一些方法和技巧。一、对象的生成和大小的调整。
2014-10-23 17:51:27 515
转载 深入理解Java对象序列化
关于Java序列化的文章早已是汗牛充栋了,本文是对我个人过往学习,理解及应用Java序列化的一个总结。此文内容涉及Java序列化的基本原理,以及多种方法对序列化形式进行定制。在撰写本文时,既参考了Thinking in Java, Effective Java,JavaWorld,developerWorks中的相关文章和其它网络资料,也加入了自己的实践经验与理解,文、码并茂,希望对大家有所帮助。
2014-10-23 17:47:39 404
转载 关于Java的clone()
相关要点: 1.必须实现Cloneable接口,这个接口只是一个标识;如果不实现,调用了clone(),运行时会报CloneNotSupportedException2.clone是Object的方法,标识为protected,子类必须重写,标识符可改为public 3.对于jdk1.5,clone可以返回相应类的类型或Object;对于1.4,只能返回Object4.注意
2014-10-17 11:28:09 381
转载 Tomcat ClassLoader研究
http://tomcat.apache.org/tomcat-4.1-doc/class-loader-howto.html Tomcat的ClassLoader层次结构: Bootstrap | System | Common
2014-10-17 11:26:15 665
转载 Java ClassLoader深入研究
参考文章:http://blog.csdn.net/lovingprince/archive/2009/06/03/4238695.aspxhttp://www.yesky.com/243/1840743.shtml Java为了提供平台无关性,在操作系统之上加入了一层JVM来隔离操作系统特定实现,使所编写的java代码在任何平台都能运行,但是JVM是特定于某一操作系统的
2014-10-17 11:23:32 408
转载 "java.lang.OutOfMemoryError: PermGen space" with a twist
There are a lot of posts out there about the "java.lang.OutOfMemoryError: PermGen space" exception. Agood description of the problem can be found in Frank Kieviet's blog.One of the main causes f
2014-10-17 11:00:06 542
转载 How to fix the dreaded "java.lang.OutOfMemoryError: PermGen space" exception (classloader leaks)
In the previous blog entry Classloader leaks: the dreaded "java.lang.OutOfMemoryError: PermGen space" exception I explained how this type of problem can originate in the application code that you d
2014-10-17 10:58:42 721
转载 android DexClassLoader动态加载技术详解
目录(?)[-]介绍实例准备工作正式开始介绍做项目到一定庞大的时候就会发现方法数太多,安装包根本就装不上去了,这个也不足为奇,我们都知道当方法数目超过65536这个数目限制的时候,挡在2.x的系统上面就会出现无法安装的情况,这个时候动态加载技术就显得非的重要了,我们的项目中为了兼容2.x的手机也是用到了android的动态加载技术,这里我会详细的讲解一下怎么去用,怎么实
2014-10-17 10:43:45 535
转载 东京商城注册页面使用的正则表达式......
京东商城注册页面找到的一组,正则表达式,验证规则比较准确,包括几乎包括所有常用的规则。[java] view plaincopyprint?decmal: "^([+-]?)\\d*\\.\\d+$", //浮点数 decmal1: "^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*$", //正浮点数 decmal2: "^-([1-9]
2014-10-17 10:41:51 1115
转载 web.xml 详细介绍
1、启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取和两个结点。 2、紧急着,容创建一个ServletContext(servlet上下文),这个web项目的所有部分都将共享这个上下文。 3、容器将转换为键值对,并交给servletContext。 4、容器创建中的类实例,创建监听器。 二 Load-on-startupLoad
2014-10-17 10:38:01 346
转载 理解class.forName()
使用jdbc方式连接数据库时会使用一句代码Class.forName(String className).这句话是什么意思呢?首先说一点Class.forName(String className)这个方法的作用是装载className这个字符串指定的类。官方文档返回与带有给定字符串名的类或接口相关联的 Class 对象。调用此方法等效于:
2014-10-17 10:36:25 386
转载 图解classloader加载class的流程及自定义ClassLoader
*** 转载请注明作者longdick http://longdick.iteye.com**/ java应用环境中不同的class分别由不同的ClassLoader负责加载。一个jvm中默认的classloader有Bootstrap ClassLoader、Extension ClassLoader、App ClassLo
2014-10-17 10:32:20 422
转载 JDK中的设计模式
本文主要是归纳了JDK中所包含的设计模式,包括作用和其设计类图。首先来个总结,具体的某个模式可以一个一个慢慢写,希望能对研究JDK和设计模式有所帮助。一、设计模式是什么(1)反复出现问题的解决方案(2)增强软件的灵活性(3)适应软件不断变化二、学习JDK中设计模式的好处(1)借鉴优秀代码的设计,有助于提高代码设计能力(2)JDK的设计中体现了大多数设计模式,
2014-10-17 10:28:57 337
转载 Eclipse运行性能调优
最近,Eclipse(Eclipse-JEE3.5)运行十分缓慢(可能插件安装过多),因此,得到了个机会调优一下,以便提高工作效率下图是未经任何调整eclipse的gc情况(使用jvisualvm命令,安装visual gc插件)从图中可以看出,仅启动过程就有38次young gc,11次full gc为了查看gc细节,在eclipse.ini中加入如下参数:-verbose:
2014-10-17 10:26:39 393
转载 jinfo命令
jinfo命令 该命令可以打印出java进程的配置信息:包括jvm参数,系统属性等用法:jinfo [ option ] pidjinfo [ option ] executable corejinfo [ option ] [server-id@]remote-hostname-or-IP 参数: pid 进程号executable 产生core
2014-10-17 10:25:57 715
转载 java线程中的interrupt,isInterrupt,interrupted方法
在java的线程Thread类中有三个方法,比较容易混淆,在这里解释一下(1)interrupt:置线程的中断状态(2)isInterrupt:线程是否中断(3)interrupted:返回线程的上次的中断状态,并清除中断状态举个例子:[java] view plaincopyprint?用法: class MyThread extends T
2014-10-17 10:20:12 408
转载 Timer的schedule和scheduleAtFixedRate方法的区别解析
在java中,Timer类主要用于定时性、周期性任务 的触发,这个类中有两个方法比较难理解,那就是schedule和scheduleAtFixedRate方法,在这里就用实例分析一下(1)schedule方法:“fixed-delay”;如果第一次执行时间被delay了,随后的执行时间按 照上一次 实际执行完成的时间点进行计算(2)scheduleAtFixedRate方法
2014-10-17 10:19:50 440
转载 jmap命令
jmap命令 jmap命令可以获得运行中的jvm的堆的快照,从而可以离线分析堆,以检查内存泄漏,检查一些严重影响性能的大对象的创建,检查系统中什么对象最多,各种对象所占内存的大小等等命令格式 jmap [options] pid-dump:[live,]format=b,file= --dump堆到文件,live指明是活着的对象,file指定文件名 因为在dump:l
2014-10-17 10:19:20 397
转载 jstatd命令
jstatd [options] 此命令是一个RMI Server应用程序,提供了对JVM的创建和结束监视,也为远程监视工具提供了一个可以attach的接口options -nr 当一个存在的RMI Registry没有找到时,不尝试创建一个内部的RMI Registry-p port 端口号,默认为1099-n rminame 默认为JStatRemoteHost;如果多
2014-10-17 10:16:28 920
转载 jhat中的OQL(对象查询语言)
jhat中的OQL(对象查询语言) 如果需要根据某些条件来过滤或查询堆的对象,这是可能的,可以在jhat的html页面中执行OQL,来查询符合条件的对象基本语法: select [from [instanceof] ][where ]解释: (1)class name是java类的完全限定名,如:java.lang.String, java.util.Arra
2014-10-17 10:14:45 602
转载 jdk之jhat命令
jhat命令 -- Java Heap Analyse Tool 用途:是用来分析java堆的命令,可以将堆中的对象以html的形式显示出来,包括对象的数量,大小等等,并支持对象查询语言第一步:导出堆 第二步:分析堆文件 第三步:查看html 有时你dump出来的堆很大,在启动时会报堆空间不足的错误,可以使用如下参数:jhat -J-Xmx512m 对于
2014-10-17 10:14:37 940
转载 jps命令
jps -- Java Virtual Machine Process Status Tool 可以列出本机所有java进程的pid jps [ options ] [ hostid ] 选项 -q 仅输出VM标识符,不包括class name,jar name,arguments in main method -m 输出main method的参数 -l 输出完全
2014-10-17 10:11:47 466
转载 Fiddler 教程
Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据. 使用Fiddler无论对开发还是测试来说,都有很大的帮助。阅读目录Fiddler的基本介绍Fiddler的工作原理同类的其它工具Fiddler如何捕获Firefox的会话Firefox 中使用Fiddler插件Fiddler如何捕获H
2014-10-17 09:06:38 385
转载 优化Android App性能?十大技巧必知!
无论锤子还是茄子手机的不断冒出,Android系统的手机市场占有率目前来说还是最大的,因此基于Android开发的App数量也是很庞大的。那么,如何能开发出更高性能的Android App?相信是软件开发公司以及广大程序员们头疼的一大难题。今天,就给大家提供几个提高Android App性能的技巧。高效地利用线程1.在后台取消一些线程中的动作我们知道App运行过程中所有
2014-10-14 10:24:58 432
转载 android 布局
android:id 为控件指定相应的IDandroid:text 指定控件的文本,置尽量使用strings.xmlandroid:grivity 指定控件的基本位置 ,比如举重,居右,android:padding 指定控件的内边距,
2014-10-14 09:09:03 299
转载 Android ViewPager使用详解
原文地址http://blog.csdn.net/wangjinyu501/article/details/8169924这是谷歌官方给我们提供的一个兼容低版本安卓设备的软件包,里面包囊了只有在安卓3.0以上可以使用的api。而viewpager就是其中之一利用它,我们可以做很多事情,从最简单的导航,到页面菜单等等。那如何使用它呢,与LisstView类似,我们也需要一个适配器,他就是Page
2014-10-14 09:07:57 451
转载 java发送udp广播包
import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.SocketException; import java.net.UnknownHostException; im
2014-10-14 09:05:26 1155
转载 Oracle,SqlServer,MySql高性能分页方案
SqlServer和Oracle的分页方式,是我04年研究出来的。MySql的方式,是我从超群的博客看来的http://www.fuchaoqun.com/2009/04/efficient-pagination-using-mysql/ 所以,一并整理出来。 SQL Server 2000PageCount:一页需要的数据条数PageIndex:页索引se
2014-10-14 09:01:08 578
转载 LoadRunner中winsocket协议脚本回放时的mismatch问题处理方法
使用LoadRunner录制socket协议的脚本,会发现每个请求都会发送和接受一定长度的数据流,即send buffer和recv buffer;这两个buffer后面都会有个数字,这个数字表示buffer的长度,是一个固定的值。当做性能测试时,执行每次请求响应的数据很多时候是不定长的,如果recv buffer的长度与响应的数据长度不一致,脚本会报错,有两种方法可以解决这个问题:1、造
2014-10-14 08:59:04 701
转载 Google是如何做测试的?(一、二)
来源:HuangLi@SDET导读:本文译自 James Whittaker 在 Google 测试官方博客发表的文章《How Google Tests Software》。在所有我被问及的问题中,最多的就是关于谷歌是如何测试的。尽管在博客中(google testing blog)中有过零碎的解释说明,但还是需要更多的系统阐述。虽然谷歌的技术路线在执行的过程中不断地进化,但公司的测试
2014-10-13 22:32:57 1628
转载 长连接和短连接性能测试结果差异
这次测试针对长连接和短连接对性能测试的影响做一个简单的比较,详细情况见下面1. 什么是TCP长连接什么是短连接?一般人讲的长连接与短连接的,这是一个通俗的说法, 这个TCP连接是根据连接时间的长短定义的。何谓短连接:就是一次操作完后断开连接,常见于大客户情况 如WEB服务器,如果每个连接都使用长连接 那么每个客户都保留一个socket ,系统资源耗费比较大。何谓长连接:
2014-10-13 22:19:14 4685
转载 JMeter使用技巧
在这此对新版本jmeter的学习+温习的过程,发现了一些以前不知道的功能,所以,整理出来与大分享。本文内容如下。如何使用英文界面的jmeter如何使用镜像服务器Jmeter分布式测试启动Debug 日志记录搜索功能线程之间传递变量 如何使用英文界面的JMeter Jmeter启动时会自动判断操作系统的locale 并选择合适的语言启动,所以,我们启动
2014-10-13 10:02:11 510
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人