自定义博客皮肤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)
  • 收藏
  • 关注

原创 深入理解jstack日志

在分析线上问题时常使用到jstack <PID>命令将当时Java应用程序的线程堆栈dump出来。面对jstack 日志,我们如何查看?   首先要清楚线程的状态线程的状态有:new、runnable、running、waiting、timed_waiting、blocked、dead线程状态变迁图:     各状态说明:New: 当线程对象创建时存在的状态,此时线程...

2016-05-18 20:35:01 2681

使用xml和annotation实现类似spring依赖注入和自动扫描类的功能

大家知道,spring依赖注入可以通过xml和annotation两种方式实现,还提供了自动扫描类的功能,这样大大简化了开发。今天也闲着没事,也实现了类似的功能。废话少说,直接上码: 先说明下要使用到的jar包:dom4j.jar和jaxen.jar(读取配置文件),junit.jar(单位测试),log4j.jar和commons-logging.jar(日志记录)。 1,类似spring...

2010-06-02 21:10:38 223

jbpm4学习之任务分配

在jbpm4中,必须给任务分配参与者(assignee),我总结了下,有以下的几种方法 一,直接在jpdl.xml文件中指明参与者,如: <task name="review" g="280,146,92,52" assignee="zcl"> <transition name="to wait" to="wait" g="-25,-25

2010-04-15 17:06:44 132

java实现的折半查找

/** * 折半查找 * author: zcl */ public class BinarySearch { public static int search(int[] arrays, int target) { int start = 0; int end = arrays.length - 1; int pos; while (star...

2010-04-15 13:12:56 130

java实现的简单链表

** * 实现的简单链表 * @author zcl * */ public class LinkedList { public class Node { private String nodeName; private Node next; public Node(String name) { nodeName = name; ...

2010-04-15 13:10:38 101

策略模式

策略模式是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。 策略模式的类图:     抽象策略角色可以由java接口或抽象类实现,若有一些公有的行为,则应该使用抽象类。抽象类应该的角色应该足够“重”。 下面举个例子来说明策略模式的用意和作用。 现在有个需求要对一组数据进行排序,但由于各种原因,...

2010-04-13 13:33:46 84

二叉树

大家都知道,要对一个对象进行排序可以利用java提供的Comparable<T>接口和Arrays工具类实现。 在实现Comparable<T>接口时要实现下面的方法 public int compareTo(T t);  此方法返回1,0和-1。返回1表示升序,-1表示降序。0表示相等。 为什么要这样定义?出于好奇,我查看了源代码,发现此方法是利用了数据结构里面的...

2010-04-13 13:09:29 78

PO/VO/DTO/DAO的区别(转)

PO :persistent object持久对象 1 .有时也被称为Data对象,对应数据库中的entity,可以简单认为一个PO对应数据库中的一条记录。 2 .在hibernate持久化框架中与insert/delet操作密切相关。 3 .PO中不应该包含任何对数据库的操作。 --------------------------------------------------------- P...

2010-04-13 01:13:48 152

java类加载器加载机制

类加载器(class loader)用来加载 Java 字节码到 java虚拟机中,即类加载器负责读取 Java 字节代码,并转换成 java.lang.Class 类的一个实例。每个这样的实例用来表示一个 Java 类。 在java虚拟机中可以安装多个类加载器,系统默认三个主要类加载器: BookStrap,  ExtClassLoader,  AppClassLoader 类加载器也是j...

2010-04-12 18:55:44 87

java 字节流与字符流的区别(转)

InputStream,OutputStream,Reader,Writer    1. InputStream 和OutputStream,两个是为字节流设计的,主要用来处理字节或二进制对象,    2. Reader和 Writer.两个是为字符流(一个字符占两个字节)设计的,主要用来处理字符或字符串.    字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串,而...

2010-04-10 19:07:50 101

抽象工厂模式

抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型的情况下,创建多个产品族的产品对象。 类图如下:   一个例子:由于业务需求,我公司引进了一个使用机器绘图,可以很方便绘制不同的几何形状,如圆形,方形和三角形。但是有时还得需要手动绘图,每个几何图形都要有画图draw()和擦去erase()两个方法,请使用抽象工厂来解决此问题 先实现定义抽象产品 public i...

2010-04-08 21:20:40 101

工厂方法模式

工厂方法模式是是简单工厂的进一步抽象和推广。由于使用了多态,工厂方法保持了简单工厂模式的优点,而且克服了它的缺点。 工厂方法模式的类图: 在一个真实的系统中,会有多于一个的产品等级结构,此时可以将工厂方法应用到这个系统中,按照产品等级结构设计一个同结构的工厂等级结构。 一个例子:请使用工厂方法设计创建一个不同几何形状,如圆形,方形和三角形实例的描图员(Art Tracer),针对于圆形有...

2010-04-08 20:54:34 88

简单工厂模式

简单工厂模式,或称静态工厂方法模式,是类的创建模式,由一个工厂对象决定创建出哪一种产品类的实例。 一个例子,要求设计一个创建不同几何形状,如圆形,方形和三角形实例的描图员系统。每个几何图形要有画出draw()和擦去erase()两个方法。 类图如下:  Shape接口 public interface Shape { //画图形 public void draw(); ...

2010-04-08 20:30:14 94

空空如也

空空如也

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

TA关注的人

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