自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JAVA实现双向链表

http://wangyu.iteye.com/blog/190743

2013-07-13 00:06:20 124

原创 用Java实现几种常用排序算法

http://blog.csdn.net/dadoneo/article/details/6553143

2013-07-07 23:28:34 124

原创 堆排序

package al;import java.util.Arrays;/** * 堆排序. * * @author chenlb 2008-12-28 下午03:52:53 */public class HeapSort { private static int parentIdx(int childIdx) { return (childId...

2013-07-07 23:02:55 115

原创 优先队列

http://blog.csdn.net/a352193394/article/details/7210435

2013-07-07 17:34:46 85

原创 Java:实现栈和队列

Java:基于LinkedList实现栈和队列http://zhangjunhd.blog.51cto.com/113473/69912基于数组实现栈http://blog.csdn.net/fengyifei11228/article/details/5625961Java数组实现循环队列http://blog.csdn.net/microtong/article/det...

2013-07-07 15:28:55 114

原创 ClassLoader小结

负责装载class文件;这个文件来源可能是压缩包、网络、运行时编译出的或者自动生成的class文件,jvm spec没有规定必须从什么地方加载。 jvm中默认提供了三种系统类加载器:1)、启动类加载器Bootstrap ClassLoader,负责加载%JAVA_HOME%\jre\lib目录下的包,或 -Xbootclasspath 选项指定的jar包装入工作。2)、扩展类加载器...

2012-12-05 01:10:40 103

原创 深入研究Servlet线程安全性问题(转)

http://www.yesky.com/334/1951334.shtml

2012-11-21 00:13:21 75

原创 3,在EchoServer中混合用阻塞模式与非阻塞模式

      在本例中,将接收客户连接的操作单独由一个线程完成,把接收数据和发送数据的操作由另一个线程完成,这可以提高服务器的并发性能。      负责接收客户连线的线程按照阻塞模式工作,如果收到客户连接,就向selector注册读就绪和写就绪事件,否则进入阻塞状态,直到接收到了客户的连接。负责接收数据和发送数据的线程按照非阻塞模式工作,只有在读就绪和写就绪的事件发生时,才执行相应的接收数据和发...

2012-09-16 22:47:16 146

原创 2,用NIO实现非阻塞的EchoServer和EchoClient

在非阻塞模式下,EchoServer只需要启动一个主线程,就能同时处理3件事:1,接收客户的连接2,接收客户发送的数据3,接收客户发回响应的数据 package com.test.socket.nio.nonblocking;import java.io.IOException;import java.net.InetSocketAddress;impor...

2012-09-16 20:07:12 428

原创 1,用NIO实现阻塞的EchoServer和EchoClient

EchoServer采用阻塞模式,用线程池中的工作线程处理每个客户连接。EchoClient也采用阻塞模式,单线程。 package com.test.socket.nio.blocked;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;im...

2012-09-16 18:23:07 274

原创 1,socket编程小例

创建一个EchoServer和一个EchoClient类,EchoServer用于从监听从客户端输入的字符串,当客户端输入"bye"时停止 package com.test.socket;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;impor...

2012-09-07 00:43:08 118

原创 转:信号量(Semaphore)在生产者和消费者模式的使用

Semaphore 信号量,就是一个允许实现设置好的令牌。也许有1个,也许有10个或更多。 谁拿到令牌(acquire)就可以去执行了,如果没有令牌则需要等待。 执行完毕,一定要归还(release)令牌,否则令牌会被很快用光,别的线程就无法获得令牌而执行下去了。 请仔细体会里面关于仓库的处理,1 是如何保证入库时,如果仓库满就等待,2 出库时,如果仓库无货就等待的。3 以及对...

2012-09-03 01:34:16 162

原创 深入分析 Java I/O 的工作机制

http://www.ibm.com/developerworks/cn/java/j-lo-javaio/index.html

2012-09-01 01:11:22 69

原创 线程池小例

package com.test.current;import java.io.File;import java.io.FileInputStream;import java.util.ArrayList;import java.util.Scanner;import java.util.concurrent.Callable;import java.util.conc...

2012-08-27 23:40:52 98

原创 理解ThreadLocal

http://lujh99.iteye.com/blog/103804

2012-08-22 23:18:35 63

原创 Future使用小例

package com.test.current;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.util.ArrayList;import java.util.Scanner;import java.util.concurrent.Cal...

2012-08-22 22:48:42 99

原创 JAVA阻塞队列(BlockingQueue)实践

一个指定目录下包含某个关键字的文件,输出文件路径及行号。 同时启动两组线程,一个向队列中添加文件,一个从队列中取文件,并在文件中查找关键字。  package com.test.current;import java.io.File;import java.io.FileInputStream;import java.io.IOException;impor...

2012-08-22 21:07:41 155

原创 JAVA多线程小例:使用多线程实现银行转帐(未同步与同步)

使用多线程模拟实现银行转帐功能,先看看未使用同步的代码:  package com.test.current;public class UnsynchBankTest { public static final int NACCOUNTS = 100;//帐户数 public static final double INITIAL_BALANCE = 1000;//初始...

2012-08-19 21:27:22 2419

原创 TreeSet小例

 package com.test.collframework;import java.util.Comparator;import java.util.Set;import java.util.TreeSet;/** * TreeSet是一个有序集合 */public class TreeSetTest { public static void ...

2012-08-18 09:34:42 70

原创 JAVA LinkedList小例

package com.test.collframework;import java.util.Iterator;import java.util.LinkedList;import java.util.ListIterator;public class LinkedListTest { public static void main(String[] args) ...

2012-08-17 23:13:34 93

原创 HashMap原理及冲突之简谈

  HashMap简析之-HashCode冲突的解决http://msnvip.iteye.com/blog/619032 深入理解HashMap(及hash函数的真正巧妙之处)http://www.360doc.com/content/10/0505/19/495229_26234886.shtml...

2012-08-16 06:39:21 100

原创 HashMap与Hashtable的区别

HashTable的应用非常广泛,HashMap是新框架中用来代替HashTable的类,也就是说建议使用HashMap,不要使用HashTable。可能你觉得HashTable很好用,为什么不用呢?这里简单分析他们的区别。 1.HashTable的方法是同步的,HashMap未经同步,所以在多线程场合要手动同步HashMap这个区别就像Vector和ArrayList一样。2.HashTable...

2012-08-16 00:08:30 89

原创 转:Index Full Scan vs Index Fast Full Scan

作者:汪海 (Wanghai) 日期:14-Aug-2005 出处:http://spaces.msn.com/members/wzwanghai/Index Full Scan vs Index Fast Full Scanindex full scan和index fast full scan是指同样的东西吗?答案是no。两者虽然从字面上看起来差不多, 但是实现的机制完全不同...

2012-07-11 23:32:27 79

原创 转:oracle 索引跳跃式扫描

在oracle9i中我们知道能够使用跳跃式索引扫描(index skip scan).然而,能利用跳跃式索引扫描的情况其实是有些限制的.从oracle的文档中我们可以找到这样的话:index skip scansindex skip scans improve index scans by nonprefix columns.often, scanning index blocks is f...

2012-07-11 23:06:16 320

原创 JAVA内存区域与内存溢出异常

 1,运行时数据区域根据JAVA虚拟机规范的规定:JAVA虚拟机所管理的内存将会包括以下几个运行时数据区域  程序计数器(Program Counter Register)是一块较小的内存空间,它的作用可以看作是当前线程所执行的字节码的行号指示器,通过改变计数器的值来选取下一条需要执行的字节码指令、分支、循环、跳转、异常处理、线程恢复等基础功能。每条线程都需要一个独立的程序...

2012-06-10 20:02:52 85

原创 模板方法模式(Head first)

有人爱喝茶,有人爱喝咖啡,因为两者都含有咖啡因。 咖啡的冲泡方法:            茶的冲泡法:1:把水煮沸                    1:把水煮沸2:用沸水冲泡咖啡          2:用沸水浸泡茶叶3:把咖啡倒进杯子          3:把茶倒进杯子4:加糖和牛奶                4:加柠檬  观察上面的步骤发现第1步和第...

2012-06-06 22:46:30 72

原创 适配器与外观(Facade)模式(Head First版)

适配器模式:将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。 例如在香港的水货手机充电器插头无法适应大陆的插座,需要一个第三方转换器。这个转换器也就是适配器。在介绍策略模式时,有写过一个鸭子接口 package com.headfirst.chapter7;public interface Duck { public void q...

2012-06-02 17:45:25 143

原创 命令模式(Head First版)

用命令模式实现这样一个需求:有个按钮,将一盏电灯的开和关动作都绑定在这个按钮上。另外还有一个undo按钮,可撤消之前的一个动作。   package com.headfirst.chapter6;public interface Command { public void execute(); public void undo();}  ...

2012-05-31 01:01:09 77

原创 设计模式:装饰模式(Head First版)

装饰者模式:动态地将责任附加到对象上,若到扩展功能,装饰者提供了比继承更有弹性的替代方案。 UML图 有这样一个需求,咖啡店出售各式咖啡,如深焙、低卡、摩卡等,也有各种调料,如牛奶、奶泡等。咖啡店需要根据咖啡中所放入的不同调料收取不同的费用。用装饰者模式来实现 定义一个抽象组件 package com.headfirst.chapter3;/** *...

2012-05-28 23:50:26 72

原创 观察者模式(Head First版)

观察者模式:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。 有这样一个需求:一个气象站,它会提供气温,气压,湿度等气象数据,要实现一个显示当前气象状态的显示装置。能显示当前气温、气压、湿度等。当气象站的数据一发生改变,就能通知显示装置。使用观察者模式实现。 先看看观察者模式类图: 主题是一个接口,定义了注册观察者、...

2012-05-27 00:43:41 81

原创 单例模式(Head First版)

单例模式:确保一个类只有一个实例,并提供一个全局访问点。代码实现:package com.headfirst.chapter5;public class Singleton { private static Singleton singleton; private Singleton(){} public static Singleton getInstance(){...

2012-05-23 20:29:56 78

原创 工厂模式:抽象工厂

接着上一篇说过的工厂方法,这节来谈一谈抽象工厂:首先来看一个设计原则依赖倒置原则:要依赖抽象,不要依赖具体类。不能让高层组件依赖低层组件,而且,不管高层或低层组件,“两者”都应该依赖于抽象。 再回到比萨店:使用工厂方法后,各地的比萨加盟店生意火爆,但也有些加盟店使用劣质原料,导致信誉下降。现在我们要创建一个工厂来生产原料,这个工厂负责创建原料家族中的每一种原料。先来为原...

2012-05-23 17:19:47 73

原创 工厂模式:工厂方法

还是利用比萨店的例子,我们来看看一般工厂模式:如果比萨店有许多加盟店,并且这些加盟店必须严格按照总部的要求生产比萨。比如烘烤、切片、打包的方式。但允许加盟店根据各地的特色制作比萨。这要如何实现? 我们可以定义一个抽象类PizzaStore,这个类中有两个方法orderPizza和createPizza,其中createPizza是抽象的。由子类来具体实现。在orderPiz...

2012-05-23 00:12:07 75

原创 工厂模式:简单工厂

为什么要使用工厂模式?先看一个例子: Duck duck = new MallardDuck();//野鸭  我们在实例化的时候,用的是具体类(new后面的是具体类)。绑定具体类会导致代码更脆弱,缺乏弹性。当有一群相关类时,通常会写出这样的代码: Duck duck;if(picnic){ duck = new MallardDuck();}else ...

2012-05-22 21:11:32 81

原创 sleep和wait的区别

1、这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类。sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用了b的sleep方法,实际上还是a去睡觉,要让b线程睡觉要在b的代码中调用sleep。2、最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。sleep不出让系统资源;...

2011-10-05 01:30:42 59

原创 spring(5):spring,struts2和hibernate结合

本节主要通过一个小例子来讲解spring,struts,hibernate的结合: 例:增删改查用户:操作列表:保存用户或显示所有用户,如下图 新增用户界面 显示所有用户列表修改用户:  以下是代码实现,此工程所需的JAR包及配置与前几节一样User对应的bean,user有id,age,firstname,lastname四个属性:...

2011-09-25 01:04:08 89

原创 spring(4):hibernate与spring整合

本节主要讲述hibernate与spring整合:1,首先在数据库中创建person表:包括id,name,age三个字段2,创建一个WEB工程,导入hibernate与spring相关的jar包:除此外还要导入数据库连接池与mysql驱动相关的包,如下图所示: 3:代码: PersonBean.javapackage lee;public class ...

2011-09-23 20:03:49 59

原创 spring(3):spring的AOP

    1       下面看具体的例子:定义Person接口,声明两个方法package lee;public interface Person { void info(); void run();} 具体的实现类package lee;public class...

2011-09-21 21:44:52 60

原创 spring(2):struts与spring整合

本节主讲将struts与spring进行整合:1,新建一个WEB工程:工程名为strutsspring,在其src目录上新建struts.xml配置文件     将struts相关的7个JAR包,拷至工程的WebRoot/Web-inf/lib目录下     2,配置 Web.xml文件,加上struts的过滤<?xml version="1.0" encoding="U...

2011-09-21 16:42:51 74

原创 JAVA反射学习(2)

 package com.langsin.reflection;import java.lang.reflect.Method;public class InvokeTest { public int add(int a,int b){ return a+b; } public String eoch(String s){ return "...

2011-09-21 16:14:56 84

空空如也

空空如也

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

TA关注的人

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