自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 高级线程开发(线程池、资源封锁和队列)

转自:http://my.oschina.net/dxf/blog/239jdk1.5后,提供了java.util.concurrent包,它可以实现线程池,你把线程当成普通对象就可以了,它来负责调度和执行包括两类线程池固定线程池可变线程池延迟线程池 固定线程池public static ExecutorService newFi

2013-09-08 22:09:36 429

转载 JVM 垃圾回收机制与GC性能调优

本文摘自:http://www.51testing.com/?uid-23978-action-viewspace-itemid-141684一、GC概要JVM堆相关知识    为什么先说JVM堆?    JVM的堆是Java对象的活动空间,程序中的类的对象从中分配空间,其存储着正在运行着的应用程序用到的所有对象。这些对象的建立方式就是那些new一类的操作,当对象无用后,是

2013-09-08 22:09:08 551

转载 web.xml 中的listener、 filter、servlet 加载顺序及其详解

一、启动顺序 在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰。 首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关。即不会因为 filter 写在 listener 的前面而会先加 载 filter。最终得出的结论是:listener

2013-09-08 20:15:03 427

转载 jstat命令(Java Virtual Machine Statistics Monitoring Tool)

JDK内置工具使用一、javah命令(C Header and Stub File Generator)二、jps命令(Java Virtual Machine Process Status Tool)三、jstack命令(Java Stack Trace)四、jstat命令(Java Virtual Machine Statistics Monitoring To

2013-09-08 20:08:52 562

转载 性能问题的查找

1、发现问题1)、使用w命令查看CPU的Load情况,Load越高说明问题越严重;2)、使用jstat查看FGC发生的频率及FGC所花费的时间,FGC发生的频率越快、花费的时间越高,问题越严重;2、导出数据:在应用快要发生FGC的时候把堆导出来1)、查看快要发生FGC使用命令:jmap -heap 会看到如下图结果:

2013-09-08 19:59:26 633

转载 JAVA线程dump的分析 --- jstack pid

Java 的线程线程是指能独立于程序的其它部分运行的执行单元。 JAVA语言能够很好的实现多线程的程序。我们在调试程序,或者在开发后期需要做性能调优的时候,往往也需要了解当前程序正在运行的线程的状态,正在执行的操作,从而分析系统可能存在的问题。 在阅读本文之间,应对 Java线程的编程原理,同步机制有一定了解 . 产生 JAVA线程 dumpJAVA 的线程 D

2013-09-08 19:57:11 647

转载 jstack和线程dump分析

一:jstackjstack命令的语法格式: jstack  。可以用jps查看java进程id。这里要注意的是:1. 不同的 JAVA虚机的线程 DUMP的创建方法和文件格式是不一样的,不同的 JVM版本, dump信息也有差别。本文中,只以 SUN的 hotspot JVM 5.0_06 为例。2. 在实际运行中,往往一次 dump的信息,还不足以确认问题。建议产生三次 dum

2013-09-08 19:53:11 2159

转载 如何在多线程下保证Lazy初使化对象的完全整性与正确-The "Double-Checked Locking is Broken" Declaration

这篇文章的原始URL是:http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html主要说的是多线程下,如何确保Lazy初使化的对象的完整性与正确性,并例举了可行与不可行的几种情况,这也是我们在编写多线程应用的时候,会经常碰到的问题。完整的原文COPY如下:The "Double-C

2013-09-08 19:49:46 479

转载 JAVA编码注意事项

1、比较两个浮点型是否相等,包括float及double,不要采用等号"=="进行比较,因为浮点计算可能涉及到舍入计算。如果是需要值比较准确的比较,如货币金额等,可以考虑使用固定精度的类型,如BigDecimal的。对于不需要精确的值,考虑比较平等一些范围内,例如:如果(Math.abs(x - y的)[java] view plaincopy

2013-09-08 19:48:52 422

转载 Java中hashCode的作用

以下是关于HashCode的官方文档定义:[plain] view plaincopyhashcode方法返回该对象的哈希码值。支持该方法是为哈希表提供一些优点,例如,java.util.Hashtable 提供的哈希表。     hashCode 的常规协定是:   在 Java 应用程序执行期间,在同一对象上多次调用 hash

2013-09-08 19:46:40 954

转载 Java序列化的作用和反序列化

1、序列化是干什么的?  简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保存object states,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。  2、什么情况下需要序列化  a)当你想把的内存中的对象状态保存到一个文件中或者数据库中时候;

2013-09-08 19:43:03 399

转载 Annotation学习入门的几篇文章

1、http://docs.oracle.com/javase/tutorial/java/javaOO/annotations.html,这个是官方网站的入门示例,讲解决 了annotation的几种类型,可以用于:    1)、给编译器提供相应的信息,如错误检测及警告;    2)、为编译及打包时的提供处理行为,如生成代码、生成XML文件等,常用的就是@Document用于生成

2013-09-08 19:41:38 456

转载 在只有JRE的环境下使用BTrace

Btrace是一个基于Java且可以实现对字节码的动态跟踪的工具,它能在不改动当前程序的情况下,运行时的去监控Java程序的执行状况,例如可以做到内存状况的监控、方法调用的监控等等。但是它只能够运行于JDK6+以上的版本,因为某些原因,如在JDK5中JTWTI(Java Virtual Machine Toolkit Interface:Java 虚拟机工具接口,可以参看这篇文章:http://w

2013-09-08 19:40:30 571

空空如也

空空如也

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

TA关注的人

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