自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(80)
  • 资源 (7)
  • 收藏
  • 关注

转载 Java NIO vs. IO

当学习了Java NIO和IO的API后,一个问题很快进入心中:我应该在何时使用IO,何时使用NIO呢?在本文中,我会尽量清晰地阐明Java NIO和IO的差异、它们的用例,以及它们如何影响您的代码设计。下表总结了Java NIO和IO之间的主要差别,我会更详细地描述表中每部分的差异。           IO                 NIO         面向流

2013-01-31 17:15:51 673

转载 Java企业系统架构选择考量

现在Java领域各种技术百花齐放,名目繁多,如何根据自己的需求选择这些框架呢?特别对于初学者,在学习选择方向上也非常迷茫,如何有针对性的根据自己项目特点进行学习就变的更加重要。  下面我们从一个发展角度来对J2EE/Java EE的这些框架诞生进行一番考量,可能对我们的选择有很大帮助。  首先我们需要明白一个高质量的J2EE系统是什么样子?高质量的J2EE/Java EE系统标准实际就是O

2013-01-31 16:42:10 704

转载 Java EE/J2EE基本概念

技术背景Java EE/J2EE基本概念J2EE可以说指Java在数据库信息系统上实现,数据库信息系统从早期的dBase、到Delphi/VB等C/S结构,发展到B/S(Browser浏览器/Server服务器)结构,而J2EE主要是指B/S结构的实现。J2EE又是一种框架和标准,框架类似API、库的概念,但是要超出它们。J2EE是一个虚的大的概念,J2EE标准主要有三种子技术标准

2013-01-31 16:41:43 987

转载 J2EE集群原理

这篇文章被放置于TSS右边重要栏目第二个,说明很多人对J2EE集群原理认识严重不足,而且在进行架构选择时,极其容易被忽视。http://www.theserverside.com/articles/article.tss?l=J2EEClusteringTSS上这篇来自Wang yu的文章,文章阐述了负载平衡和failover的意思,比较了Web层Tomcat的动态负载平衡和HttpS

2013-01-31 16:22:00 611

转载 排 序

1. 排序的分类    在介绍有关排序的算法之前,先来介绍与排序相关的基本概念。本节主要介绍排序的基本概念及相关概念。排序:把一个无序的元素序列按照元素的关键字递增或递减排列为有序的序列。稳定排序和不稳定排序:在排列过程中,如果存在两个关键字相等即ki=kj(1≤i≤n,1≤j≤n,i≠j),在排序前对应的元素Ei在Ej之前。内排序和外排序:根据排序过程中,所利用的内存储器和外

2013-01-28 15:39:12 798

转载 队列基础

1. 队列的定义    队列是一种特殊的线性表,它包含一个队头(front)和一个队尾(rear),其中队头只允许删除元素,队尾只允许插入元素。队列的特定是先进入队列的元素先出来,即先进先出(FIFO)。出队列时,只有当前面的元素都退出之后,后面的元素才能退出。

2013-01-28 15:37:54 1370

转载 栈基础

1. 栈的基础     栈,也成为堆栈,是一种重要的线性结构。栈具有线性表的特点:每一个元素只有一个前驱元素和后继元素(除了第一个元素和最后一个元素外),但是在操作上与线性表不同,栈是一种操作受限的线性表,只允许在栈的一端进行插入和删除操作。栈可以用顺序存储结构和链式存储结构存储,采用顺序存储结构的栈称为顺序栈,采用链式存储结构的栈称为链式栈。栈的应用十分广泛,在表达式求值、括号匹配时常用到栈

2013-01-28 15:37:22 913

转载 Collections.unmodifiableList方法的使用与场景

在公司接触到Collections.unmodifiableList(List list)) 觉得用法挺特殊的,所以学习了下,简单而言,看名字就知道,将参数中的List返回一个不可修改的List.觉得以下这篇文章写得很好,说 明了它的应用场景。--------------------------------------------------------------------------

2013-01-28 13:32:30 6603 1

转载 开源Commons包的 使用粗劣总结~

新公司常用的Utils类使用Apache Commons,就整理了下觉得比较常用的用作备忘 commons.io:FileUtils(file和stream,string相互转换),CopyUtils.IOUtils(stream和string,byte[]相互转换以及inputstream和outputstream相互copy) File file = new File("D:\\

2013-01-28 11:13:05 1223

转载 Commons Io 包 学习笔记~

IO包学习笔记     IO几乎都是实现序列化接口    Common 根目录工具类阅读         FileUtils 比较有学习价值 ,提供文件各种类型的操作,有点模拟操作系统       引用了大量的过滤器         FileSystemUtil 后去硬盘可用空间,           执行CMD /-C C: 指令,获取结果Process,

2013-01-28 11:11:14 951

转载 org.apache.commons.io.CopyUtils

该提供复制操作: 都是静态函数,没啥亮点 Java代码 public static int copy( Reader input, Writer output) throws IOException { char[] buffer = new char[DEFAULT_BUFFER_SIZE];

2013-01-28 11:09:07 630

转载 commons-io之ThresholdingOutputStream 和 DeferredFileOutputStream

1. ThresholdingOutputStream 这个类的意图主要是可以处理设置了临界值的OutputStream做出处理, 它当然是复写了三个write方法。 有三个步骤: 1. 检测是否到达临界值 2. 调用底层的Stream写数据 3. 改变已写数据的游标written 里面有两个抽象的方法:

2013-01-28 11:04:54 2343

转载 common-io 之ByteArrayOutputStream阅读

首先我们来分析它里面的的实例变量:buffers: 可以看成是一个buffer仓库,里面放的是已经读取的所有数据currentBufferIndex: 就是正在使用的buffer的indexcount: 用来存放buffers里面的所有的字节数currentBuffer: 就是当前的使用buffer,这个比较好理解。filledBufferSum: 这个

2013-01-28 11:04:03 1549

转载 common-io之Comparator阅读

1.  首先我们来查看AbstractFileComparator这个抽象类 首先我们来看一下IO包里面的Comparator,这个都比较好理解,首先是AbstractFileComparator这个类,他提供了两个接口,可以实现对Array和Collection的sort功能。 Java代码  "font-size: medium;">"color:

2013-01-28 11:03:24 1702

转载 commons-io之filefilter学习

1.基本功能过滤器=============================================①类型:DirectoryFileFilter、FileFileFilter②大小:EmptyFileFilter、SizeFileFilter③时间:AgeFileFilter④名称:NameFileFilter、PrefixFileFilter、SuffixFileFilter

2013-01-28 11:02:37 7479

转载 commons-io之inputstream学习

ProxyInputStream类的学习    这个类的设计意图不是特别明确,就是继承与JDK的FilterInputStream类的,但是在它的read(byte[] bytes)这个函数也是调用delegate的read(byte[])函数,父类的是直接调用的是read(byte[] bytes, int offset, int length)函数。    这个

2013-01-28 11:01:43 2594

转载 FileFilter和FilenameFilter类性能比较

FileFilter和FilenameFilter 两个接口是在文件搜索中常用的,有什么区别?      (什么是FileFilter?         什么是FilenameFilter? ) 下面通过一个测试程序来初步检验两个接口的性能。     方法:在一个目录中创建20000 个txt 文件,分别用实现了以上两个接口的类来搜索这个目录中的所有

2013-01-28 11:00:15 8235 2

转载 文件过滤器FileFilter

1、接口方法accept()中可以自行定义过滤规则2、此外,FilenameFilter和FileFilter类似,也提供文件过滤功能下面是FileFilter的一个应用案例,列出包含指定关键词的目录和文件import java.io.File;import java.io.FileFilter;public class KeywordFileFilter im

2013-01-28 10:58:59 1429

转载 commons-io之WildcardFileFilter的实现

上次这个是最后一个FileFilter,没想到这个实现的还比较复杂,当时头脑比较晕,也没有看懂,就想这次专门的看一下源码,在看这个Filter之前,我们必须要理解FilenameUtils里面的wildMatch函数的实现,这个是最经典的通配符的匹配,可以好好看看。        1. 首先我们应该来看一个小函数的实现splitOnTokens   这个函数实际上还是比较简

2013-01-28 10:58:06 1514

转载 使用Apache commons IO包规范文件名

【一】Apache commons IO包之FilenameUtils在使用JDK的File类构建目录、文件对象时,通常会碰到以下的问题: ①分隔符的问题:Unix系统和Windos系统的路径分隔符、换行符不同 ②路径规范的问题:有些API对于返回的目录路径不带"/",有些则有 ③文件名规范的问题:有些文件名中间带有空格,导致程序解析错误上面的问题虽然不算复杂,却也

2013-01-28 10:44:58 1140

转载 文件路径中的“.”,new File(".")

今天在看Thinking in java时发现这样一行代码: File file = new File(".");起初十分纳闷,不懂这个“.”代表什么意思。 后来经过一番实验返现: “.”知识代表当前工作目录的意思,它是一个相对路径的写法,一般也就是jvm调用路径,可以通过System.getProperty("user.dir")得到。 如果这样写:File file = ne

2013-01-28 09:44:14 7742

转载 ReentrantLock Fair 与 Unfair 的巨大差异

ReentrantLock  可重入的锁是我们平常除了intrinsic  lock  (也就是 synchronized 方法, synchronized block)之外用得最多的了同步方式了。 一般情况下 我们用 ReentrantLock  的时候就是用它的默认建构函数方式      new ReentrantLock  ();但其实它带一个 参数 是否 fair。如果是t

2013-01-25 12:05:57 3176

转载 java.util.concurrent 包下的 Synchronizer 框架

看完书 java concurrency in practice 当然是想找点啥好玩的东东玩玩。 当看到了Doug Lee 的论文 > 大呼来的太晚喔, 前段时间看那个ReentrantLock 的代码真的是痛苦啊,不过现在也不晚不是。  呵呵, 上菜:这个框架的核心是一个AbstractQueuedSynchronizer 类 (下面简称AQS)  它基本上的思路是:

2013-01-25 12:05:09 1646

转载 Disruptor 模式简单理解

http://www.cnblogs.com/adaikiss/tag/disruptor/Disruptor   主要用作进程间高效通信的一种模式, 它里面所有的实现都是围绕着怎样做可以high performance。 它的核心是 RingBuffer,其实就是一个事先分配好的数组。  这样做有几个好处:    1,  GC友好, 事先分配好内存就避免了

2013-01-25 11:24:09 1409

转载 Disruptor笔记(五)-FAQ

1.  MultiThreadedClaimStrategy.java中pendingPublication的用处:参考:http://blogs.lmax.com/How does this apply to our concurrentsequencing problem? We could allow threads to continue to make progress

2013-01-25 11:23:37 817

转载 Disruptor笔记(四)-关键类和代码

AggregateEventHandler.java对EventHandler列表的封装,类似EventHandler List的功能,还实现了生命周期的管理,onStart onShutdown。 Sequence.javaCache line padded sequence counter 补齐Cache line的序列计数器,ringbuffer和BatchE

2013-01-25 11:23:09 824

转载 Disruptor笔记(三)-处理模式

常见模式:1.UniCast a series of items between 1 publisher and 1 EventProcessor:一个publisher 一个eventprocessorP1  - Publisher 1RB  - RingBufferSB  - SequenceBarrierEP1 -Event

2013-01-25 11:22:39 1421

转载 Disruptor笔记(二)-测试

引入Hamcrest:是一个书写匹配器对象时允许直接定义匹配规则的框架.更丰富的表达方式,不侵入代码使用Jmock来做Mock库使用Junit4 工具类Util工具类提供计算容量2的n次方的方法        /**    * Calculate the next power of 2, greater than or equal to x.

2013-01-25 11:22:12 678

转载 Disruptor笔记(一)-预备知识

Memory Barrier 内存障.它是一个CPU指令。是的,再一次,我们在思考CPU级的东西以便得到我们需要的性能(Martin著名的MechanicalSympathy)。基本上它是一个指令,为了a)确保特定运算的执行顺序和b)影响一些数据(可能是一些指令的执行结果)的可见性。.编译器和CPU能对指令重新排序,来尝试优化性能,最终执行结果是一样的。插入一个

2013-01-25 11:19:23 598

转载 Event-Listerner事件监听模式

事件监听模式其实就是一种观察者模式,只是角度有点不同,在Java的JavaBean机制以及GUI中都使用了事件监听模式。在如今AJAX RIA客户端中,事件监听模式也成为一个主要的界面模式。事件监听模式分同步和异步两种实现方式,JavaBean机制和GUI基本都是同步机制,事件监听异步模型,需要引入Event Queue。事件监听同步模式分两个部分:Event Source和Eve

2013-01-25 11:13:02 1465

转载 JVM伪共享

伪共享False sharing说明JVM底层技术也不让人那么放心。内存缓存系统中基本单元是高速缓存行(Cache lines). cpu会把数据从内存加载到高速缓存中 ,这样可以获得更好的性能,高速缓存默认大小是64 Byte为一个区域,一个区域在一个时间点只允许一个核心操作,也就是说不能有多个核心同时操作一个缓存区域。因为高速缓存是64字节,而Hotspot JVM的对

2013-01-25 11:11:52 1366

转载 铁路订票系统的简单设计

转载自http://blog.codingnow.com/2012/01/ticket_queue.html其实铁路订票系统面临的技术难点无非就是春运期间可能发生的海量并发业务请求。这个加上一个排队系统就可以轻易解决的。本来我在 weibo 上闲扯两句,这么简单的方案,本以为大家一看就明白的。没想到还是许多人有疑问。好吧,写篇 blog 来解释一下。简单说,我们设置几个网关服务

2013-01-24 17:28:26 1350

转载 用Eclipse插件Bytecode Outline来查看Java字节码

在遇到一些小问题的时候我们经常会使用Javap反编译取得字节码来分析,虽然Javap能完成这个工作,但是有两个缺点,一方面操作麻烦,需要很多步骤,一方面没有文档注释,对新手来说看起字节码来比较麻烦。 这里推荐一个工具,Bytecode Outline .它是Eclipse的插件,可以把当前的正在编辑Java的文件或者class文件直接显示出其相应的字节码出来,而且可以进行两个Java文件

2013-01-23 15:55:24 7437 1

转载 how tomcat works中文版

http://sishuok.com/forum/blogCategory/showByCategory.html?categories_id=82&user_id=6091

2013-01-22 10:59:10 1015

转载 【解惑】 中断线程Interrupted的用处

★ 线程状态        Java虚拟机将线程运行过程分成四种状态 。 (1) New 新生;(2) Runnable 可运行;(3) Blocked 阻塞;(4) Dead 死亡。      值得注意的是: 线程的可运行状态并不代表线程一定在运行(runnable != running ) 。 大家都知道:所有现代桌面和服务器操作系统都使用了抢占式的线程调度策略 。一旦线程开始

2013-01-20 20:02:41 1954

转载 java Local用法

1 : java.util.Locale 的主要用途是什么?java.util.Locale 主要在软件的本地化时使用。它本身没有什么功能,更多的是作为一个参数辅助其他方法完成输出的本地化。 2 : java.util.Locale 简单测试: package  one;  import  java.util.Locale;  public

2013-01-19 18:08:47 6391

转载 接口和抽象类的设计

其实在刚接触java的时候我一直有这么一个疑问,接口和抽象类的区别是什么,甚至到现在还不能很确切的说明白这之间的关系和区别。以前也就大概的能说一下,接口用来多继承,抽象类可以有具体实现。可是这些毕竟只是很肤浅的认识,对结构设计并没有多大的帮助,直到最近写框架的时候,要大量使用抽象类和接口的时候,才慢慢开始理解他们之间的关系。本文,我想结合NIO的一些源码和最近在写的nSocket写点儿在类结构设计

2013-01-19 18:06:23 1065

转载 详细解析Java中抽象类和接口的区别

在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进 行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两

2013-01-19 18:04:04 875

转载 java 监听器实现原理

监听器实现者:public class MyActivity extends Activity implements InternetManager.Listener { private TextView mText; private InternetManager mInetMgr; /* called just like onCreate at some po

2013-01-18 16:01:43 17348

转载 Java监听器Listener

首先定义事件接口,里面包含对几种事情类型的常量定义。public interface EventSource { public final int EVENT_TRUNON = 0x0; public final int EVENT_TRUNOFF = 0x1; public int getEventType();} 然后定义一个具体的事件类型。public

2013-01-18 16:01:13 2802

AOP的实现机制.pdf

AOP的实现机制的实例代码和文档一起使用。

2013-02-22

commons-cli-1.2-bin.zip

commons-cli的jar包 Commons CLI 是一个用来处理命令行参数的 Java 工具包。

2012-01-27

Java网络编程,一本入门级书籍

Java网络编程,关于java网络方面的入门级书籍

2009-08-04

即用即查——JSP函数与对象参考手册

即用即查——JSP函数与对象参考手册 即用即查——JSP函数与对象参考手册

2008-11-21

JSP数据库开发实例精粹.pdf

JSP数据库开发实例精粹.pdf

2008-02-04

JAVA编程习题与解答(全美经典学习指导系列)中文版

JAVA编程习题与解答(全美经典学习指导系列)中文版

2007-07-12

空空如也

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

TA关注的人

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