自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

理解GC的输出(不包括G1)

垃圾收集器很大程度上会影响应用的吞吐量和延迟。在调优之前,首先要监控,继而进行分析。那我们先看一下如何获取GC数据,并理解这些数据。获取GC数据可以在命令行中指定下面一种选项:-verbose:gc或-verbosegc-XX:+PrintGCDetails——获取的信息比-verbose:gc更多如果要获取GC执行的时间,计算GC的持续时间和频率,可以在命令行中指定任...

2014-10-24 17:59:09 166

HotSpot JVM里的G1垃圾收集器

G1垃圾收集器HotSpot JDK 7从update 4开始引入了G1垃圾收集器。G1收集器是服务器风格的垃圾回收器,主要针对多处理器机器上占用大量内存的应用。G1能缩短暂停时间,也能提供高吞吐量。与CMS的区别和CMS(Concurrent Mark-Sweep)收集器相比,G1具备压缩功能,能避免碎片问题;G1的暂停时间更加可控,用户可以指定暂停时间指标。以前的垃圾收...

2014-10-22 17:37:05 282

原创 HotSpot JVM里的垃圾收集器(Java SE 7.0之前)

内存管理的方式内存管理有显式内存管理和隐式内存管理(交给垃圾收集器处理)两种方式。显式内存管理会带来两个问题,一是悬空引用(一个对象仍然被其他对象引用着,但它的空间却被回收、重新分配了),另一个是空间泄漏(对象已经不再被引用了,但分配给它的内存没被释放)。如果交给垃圾收集器来进行内存管理,垃圾收集器就需要负责:分配内存保证被引用的对象都存在在内存中对象不可达时,回收它...

2014-09-01 18:37:24 204

JMS 2.0的新变化

自JMS 1.1于2002年发布以来,JMS规范今年进行了第一次更新——发布了JMS 2.0。在JMS 2.0里,主要进行了易用性方面的提升、简化了开发(这终于追赶上EJB、JPA等Java EE里其他子规范的脚步了)。另一方面,消息处理本身也增加了一些新特性,比如多个消费者共享同一个主题订阅、延迟发送、异步发送消息、JMS提供者必须设置JMSXDeliveryCount消息属性等。接...

2013-08-23 19:09:43 738 1

Java多线程编程梳理图

给公司实习生培训,把多线程编程的知识梳理了一下,画了一个简单的图,如下: 

2013-04-09 19:04:32 79

原创 构建Jetty 9

环境准备Jetty 9的编译需要Apache Maven 3.x,以及JDK 1.7(后面的执行步骤基于JDK 1.7.0_17和Maven 3.0.5) Maven环境搭建好之后,最好修改最大永久区的大小,否则编译过程中很可能会OOM。其中一种方式是修改Maven安装目录/bin/mvn.bat,在bat中添加:set MAVEN_OPTS=-XX:MaxPermSize...

2013-04-03 17:40:49 94

解决Red Hat Linux 6.1上的OOM: unable to create new native thread问题

在缺省配置的Red Hat Linux 6.1上运行一个大型、复杂的Java系统,如果这个Java系统会启动多个Java进程,每个进程又会有很多线程,那在运行的时候很可能会遇到java.lang.OutOfMemoryError: unable to create new native thread 遇到这个问题大家一般会想到去调整JVM的内存设置,但实际上这极可能是Linux本身的ul...

2013-02-27 21:45:18 185

原创 浅析Tomcat防止文件被锁的方式

在Windows平台的Tomcat上部署应用后,应用下的个别文件可能会被Tomcat锁住,解部署的时候删除不掉那些内容,就会导致无法重部署。如果解部署删除不掉被锁的文件,Tomcat会在日志中警告说:2013-1-9 15:44:09 org.apache.catalina.startup.ExpandWar delete严重: [D:\tomcat\apache-tomcat-7.0.3...

2013-01-21 20:37:09 654

用JSR-88往Java EE应用服务器上部署应用

概述每种Java EE应用服务器都为应用部署提供了多种方式,常用的有命令行、Web控制台、自动部署等。除了这些,用户还可以利用JSR-88 往Java EE应用服务器上部署应用。 JSR-88是Java EE Deployment API,定义了往Java EE应用服务器上部署应用的统一模型和API。利用JSR-88的部署工具可以采用统一的方式往不同的Java EE应用服务器上部署应...

2012-12-09 18:25:50 193

用Ant强杀Java进程

强杀进程的方式有很多。如果应用程序需要在多个平台下运行,我们可以为不同的平台编写不同的脚本,然后在整体构建/运行的脚本里去分别调用,但这并不太利于维护。我们可以借助Ant、采用统一的方式去完成这件事情。 以强杀Java进程为例,主要思路:使用Java自带的jps命令得到所有Java进程的信息获得符合要求的Java进程的PID调用强杀进程的命令杀死进程Ant脚本片段:...

2012-11-14 21:07:48 153

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除