随笔分类 -  Java

摘要:1.下载YourKit(在不同系统或终端下请保持版本一致)http://www.yourkit.com/java/profiler/index.jsp 2.解压Linux的YourKittarxfj .tar.bz23.增加-agentpath: VM 选项到java命令行启动参数。(默认端口100... 阅读全文
posted @ 2014-10-24 15:39 rilley 阅读(1306) 评论(0) 推荐(0)
摘要:public static String[] split(String str, String limit) { List result = new ArrayList(); char[] chars = limit.toCharArray(); ... 阅读全文
posted @ 2014-06-16 16:38 rilley 阅读(355) 评论(0) 推荐(0)
摘要:Maven<?xml version=”1.0” encoding=”utf-8” ?><project xmlns=http://maven.apache.org/POM/4.0.0xmlns:xsi="http://www .w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0& 阅读全文
posted @ 2012-11-18 22:11 rilley 阅读(1279) 评论(0) 推荐(1)
摘要:TestNG annotaion:@DataProvider@ExpectedExceptions@Factory@Test@Parameters<suite name="ParametersTest"> <test name="Regression1"> <classes> <class name="com.example.ParameterSample" /> <class name="com.example.ParameterTest"> <m 阅读全文
posted @ 2012-11-09 16:09 rilley 阅读(4392) 评论(0) 推荐(0)
摘要:对于所有对象都同用的方法1 考虑用静态工厂方法替代构造器类可以提供一个公有的静态工厂方法,他只是一个返回类的实例的静态方法。实例受控类public static Boolean valueOf(boolean b){ return b ? Boolean.TRUE : Boolean.FALSE;}编写实例受控类有几个原因。实例受控使得类可以确保他是一个Singleton或者是不可实例化的。他还使得不可变类可以确保不会存在两个相等的实例。API可以返回对象,同时又不会使对象的类变成公有的。以这种方式隐藏实现类会使API变得非常简介。这种结束适用于基于接口的框架(java.util.Col... 阅读全文
posted @ 2012-10-24 17:58 rilley 阅读(1089) 评论(0) 推荐(0)
摘要:死锁原因系统资源不足线程运行顺序不合适资源分配不当必要条件互斥条件:一个资源只能被一个线程使用请求和保持条件:一个线程因请求资源而阻塞时,对已获的资源保释不放不剥夺条件:线程已获得的资源,在未使用完之前不能强行剥夺循环等待条件:若干线程之间形成一种首尾相接的循环等待资源关系预防死锁资源一次性分配:(破坏请求和保持条件)可剥夺资源:当某线程新的资源未满足时,释放已占有资源(破坏不剥夺条件)资源有序分配法:给每个资源赋予一个编号,每一个线程按照编号递增的顺序请求资源,释放则相反(破坏循环等待条件)解除死锁撤销限于死锁的全部线程逐个撤销限于死锁的线程,直到死锁不存在从陷于思所得线程中逐个强迫放弃所占 阅读全文
posted @ 2012-10-24 11:51 rilley 阅读(404) 评论(1) 推荐(0)
摘要:待更新... 阅读全文
posted @ 2012-10-19 10:37 rilley 阅读(125) 评论(0) 推荐(0)
摘要:1 public abstract class Buffer 2 { 3 public final int capacity( ) 4 public final int position( ) 5 public final Buffer position (int newPositio 6 public final int limit( ) 7 public final Buffer limit (int newLimit) 8 public final Buffer mark( ) 9 public final Buffer res... 阅读全文
posted @ 2012-09-28 10:42 rilley 阅读(243) 评论(0) 推荐(0)
摘要:Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境1. 配置文件Log4J配置文件的基本格式如下: #配置根Loggerlog4j.rootLogger = [ level ] , appenderName1 , appenderName2 , …#配置日志信息输出目的地Appenderlog4j.appender.appenderName = fully.qualified.name.of.appender.class log4j.appe.. 阅读全文
posted @ 2012-09-27 18:14 rilley 阅读(271) 评论(0) 推荐(0)
摘要:VM运行时数据区域JVM执行Java程序的过程中,会使用到各种数据区域,这些区域有各自的用途、创建和销毁时间。根据《Java虚拟机规范(第二版)》(下文称VM Spec)的规定,JVM包括下列几个运行时数据区域:------------------------------------------------------------------------------------------------------------------------- 1.程序计数器(Program Counter Register): 每一个Java线程都有一个程序计数器来用于保存程序执行到当前方法的哪一个指 阅读全文
posted @ 2012-07-16 17:24 rilley 阅读(1058) 评论(0) 推荐(0)
摘要:1 public abstract class SelectableChannel extends AbstractChannel implements Channel 2 { 3 public abstract void configureBlocking (boolean block) throws IOException; 4 public abstract boolean isBlocking( ); 5 public abstract Object blockingLock( ); 6 } 7 8 public abstract class... 阅读全文
posted @ 2012-07-16 17:21 rilley 阅读(356) 评论(0) 推荐(0)
摘要:package java.util.concurrent;import java.util.concurrent.locks.*;import java.util.*;public class ThreadPoolExecutor extends AbstractExecutorService { /** * runState provides the main lifecyle control, taking on values: * * RUNNING: Accept new tasks and process queued tasks * ... 阅读全文
posted @ 2012-02-07 17:47 rilley 阅读(2461) 评论(2) 推荐(1)