JAVA
文章平均质量分 67
wsswss1123
这个作者很懒,什么都没留下…
展开
-
Adapter模式(转)
[b]GOF《设计模式》一书对Adapter模式是这样描述的: 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使原本由于接口不兼容而不能一起工作的类可以一起工作。 这段话大致是说:我们需要一种方式,为一个功能正确但接口不合的对象创建一个新接口。例如,客户给我们如下需求: 1) 为都有“显示”(display)行为的点、线、正方形分别创建类。 2) ...原创 2011-08-17 15:48:12 · 83 阅读 · 0 评论 -
HashMap HashTable TreeMap
Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value HashMap通过hashcode对其内容进行快速查找,而TreeMap中所有的元素都保持着某种固定的顺序,如果你需要得到一个有序的结果你就应该使用TreeMap(HashMap中元素的排列顺序是不固定的)。 1.AbstractMap抽象类和SortedMap接口 AbstractMap...原创 2011-08-11 13:45:42 · 59 阅读 · 0 评论 -
Abstract or Interface
[b]详解java中的抽象类和接口的区别[/b] 在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进 行抽象类定义时对于abstract c...原创 2011-08-11 15:02:06 · 75 阅读 · 0 评论 -
JVM常见配置汇总
[img]http://dl.iteye.com/upload/attachment/536678/f1575272-1f18-3fae-adce-8a185db04ed4.bmp[/img] 从这个图中可以看到,JVM是运行在操作系统之上的,它与硬件没有直接的交互。我们再来看下JVM有哪些组成部分,如下图所示: [img]http://dl.iteye.com/upload/atta...原创 2011-08-15 14:56:45 · 91 阅读 · 0 评论 -
Date4j,一个简约的日期处理类库
Java本身的日期类在JDK1.0版本之后就再也没有更新过,同时还存在着一些众所周知的问题(例如1月从0开始,导致了很多月份差一的漏洞)。一份新的Java规范请求(JSR,Java Specification Request)已经被提交,目的就是要解决上述问题,此版本的类库仍处在Alpha版本。在其稳定之前,很多开发者还是会使用Joda Time类库,该类库与JSR-310的参考实现类似(但不完全...原创 2011-12-14 10:13:26 · 103 阅读 · 0 评论 -
Thread的实现
Making a Thread A thread in Java begins as an instance of java.lang.Thread. For the exam, you’ll need to know, at a minimum, the following methods: start() yield() sleep() run() You can define...原创 2011-12-21 14:25:20 · 310 阅读 · 0 评论 -
java中ArrayList 、LinkList区别
java中ArrayList 、LinkList、List区别 java中ArrayList 、LinkList区别 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 3.对于新增和...原创 2011-12-21 15:30:49 · 87 阅读 · 0 评论 -
Mysql连接数据库:PreparedStatement.addBatch()方法
[b]1.Eclipse连接MySQL数据库[/b] mysql>CREATE DATABASE test; //创建一个数据库 mysql>use test; //指定test为当前要操作的数据库 mysql>CREATE TABLE user (name VARCHAR(20),password VARCHAR(20)); //创建一个表user,设置两个字段。 ...原创 2011-12-23 08:43:39 · 373 阅读 · 0 评论 -
单例模式的俩种方式
等等 单例模式的俩种方式: 饿汉式 class Singleton { private static Singleton instance=new Singleton(); private Singleton(){} static Singleton getInstance() { return instance; } } 懒汉式 class Sin...原创 2012-01-04 14:09:14 · 69 阅读 · 0 评论 -
Log4j的配置文件
Log4j支持两种配置文件格式,一种是java属性文件(键—值),一种是xml格式文件。 这里仅介绍下java属性文件的配置方法。 先看看个配置文件:log4j.properties [code="java"]log4j.rootCategory=debug,stdout,R log4j.appender.stdout=org.apache.log4j.ConsoleAppen...原创 2012-02-14 10:42:22 · 66 阅读 · 0 评论 -
Log4j配置文件详细说明[转]
属性文件Properties properties属性文件 1 log4j.threshold 阈值项 log4j.threshold = error 2 log4j.rootLogger 根日志属性项 log4j.rootLogger = info,stdout1,stdout2 3 log4j.category. 子日志属性项(旧)...原创 2012-02-14 10:48:42 · 92 阅读 · 0 评论 -
Java 5 并发学习(转)
Java 5 并发学习 在Java5之后,并发线程这块发生了根本的变化,最重要的莫过于新的启动、调度、管理线程的一大堆API了。在Java5以后,通过Executor来启动线程比用Thread的start()更好。在新特征中,可以很容易控制线程的启动、执行和关闭过程,还可以很容易使用线程池的特性 一、创建任务 任务就是一个实现了Runnable接口的类。 创建的时候实run方法即...原创 2012-06-26 14:38:42 · 112 阅读 · 0 评论 -
The "Double-Checked Locking is Broken" Declaration
[url]http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html[/url] To first explain the desired behavior, consider the following code: [code="java"]// Single threaded version ...原创 2012-02-22 10:34:57 · 80 阅读 · 0 评论 -
volatile 的高级模式
前面几节介绍的模式涵盖了大部分的基本用例,在这些模式中使用 volatile 非常有用并且简单。这一节将介绍一种更加高级的模式,在该模式中,volatile 将提供性能或可伸缩性优势。 volatile 应用的的高级模式非常脆弱。因此,必须对假设的条件仔细证明,并且这些模式被严格地封装了起来,因为即使非常小的更改也会损坏您的代码!同样,使用更高级的 volatile 用例的原因是它能够提升性能,...原创 2012-02-22 13:07:21 · 89 阅读 · 0 评论 -
多线程死锁问题(转)
前天俺们谈到了加锁,但是在使用加锁的同时又会带来一个问题,就是死锁。 什么叫死锁? 所谓死锁: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。 那么为什么会产生死锁呢? 1.因为系统资源不足。 2.进程运行推进的顺序不合适。 3.资源分配不当。 学过操作系统的朋友都知道:产生...原创 2011-08-10 19:42:08 · 77 阅读 · 0 评论 -
JAVA调优总结(一)转
[b]数据类型[/b] Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。 基本类型的变量保存原始值,即:他代表的值就是数值本身; 而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。 基本类型包括:byte,short,int,long,char,float,double,Boolean,r...原创 2011-08-10 16:08:49 · 64 阅读 · 0 评论 -
Thread的实现
Thread的实现 1.extend Thread,then overrides run method() [code="java"] class PrimeThread extends Thread { long minPrime; PrimeThread(long minPrime) { this.minPrime...原创 2011-09-20 09:47:32 · 108 阅读 · 0 评论 -
PO BO VO DTO POJO DAO概念及其作用(转)
J2EE开发中大量的专业缩略语很是让人迷惑,尤其是跟一些高手讨论问题的时候,三分钟就被人家满口的专业术语喷晕了,PO VO BO DTO POJO DAO,一大堆的就来了(听过老罗对这种现象的批判的朋友会会心一笑)。 首先声明偶也不是什么高手,以下总结都是自己的体会。不对之处请您多指教。 PO: persistant object持久对象 最形象的理解就是一个PO就是数据库中的...原创 2011-09-20 09:49:10 · 74 阅读 · 0 评论 -
学习Enum转
1. 关于 Java Enum: 学过 C/C++ 等语言的人,应该都对 Enum 类型略知一二。 Enum 一般用来表示一组相同类型的常量。如性别、日期、月份、颜色等。 对这些属性用常量的好处是显而易见的,不仅可以保证单例,且比较时候可以用 ”==” 来替换 equals , 是一种好的习惯。 JDK1.5 之前没有 Enum 这个类型,那时候一般用接口常量来替代。有了 JavaEnu...原创 2011-09-22 14:11:50 · 72 阅读 · 0 评论 -
重写hashCode和equals方法(转)
如果你的对象想散列存储的集合中或者想作为散列Map的Key时(HashSet、HashMap、Hashtable等)那么你必须重写equals()方法,这样才能保证唯一性。在重写equals()方法的同时,必须重写hashCode()方法?当然,在这种情况下,你不想重写hashCode()方法,也没有错,但是sun建议这么做,重写hashCode只是技术要求(为了提高效率)。 当在散...原创 2011-09-27 09:58:58 · 75 阅读 · 0 评论 -
How to use Log4j
1. [code="java"]LogManager.getInstance().getLogger(getClass()).info("");[/code] 2 [code="java"]private static Logger logger = Logger.getLogger(xxx.class); . String message ="xxx"; lo...原创 2011-09-29 13:57:05 · 70 阅读 · 0 评论 -
Class.forName(转)
Class.forName(xxx.xx.xx) 返回的是一个类 首先你要明白在java里面任何class都要装载在虚拟机上才能运行。这句话就是装载类用的(和new 不一样,要分清楚)。 至于什么时候用,你可以考虑一下这个问题,给你一个字符串变量,它代表一个类的包名和类名,你怎么实例化它?只有你提到的这个方法了,不过要再加一点。 A a = (A)Class.forName("p...原创 2011-07-20 09:58:53 · 97 阅读 · 0 评论 -
Spring 依赖注入配置
Spring把daobean注入到servicebean [b]生成DaoBean[/b] [code="java"]public class TestDaoBean implements DuncanDao { /* (non-Javadoc) * @see dun.dao.bean.updatebean#updatebean() */ public void u...原创 2011-07-20 11:14:39 · 96 阅读 · 0 评论 -
Spring控制反转/依赖注入(转)
Spring控制反转/依赖注入 看了n篇文章也不明白控制反转到底是在说什么,今天终于看到一个像样的解释。以下内容选自于《Spring从入门到精通》作者:郭锋 清华大学出版社 出版时间:2006年10月 引自:CSDN读书频道 地址:http://book.csdn.net/bookfiles/250/index.html(本人帖在这只是为了学习方便,希望不涉及侵权问题) ...原创 2011-07-20 15:03:00 · 83 阅读 · 0 评论 -
JAVA基本概念
对象:对象是要研究的任何事物。从一本书到一家图书馆,单的整数到整数列庞大的数据库、极其复杂的自动化工厂、航天飞机都可看作对象,它不仅能表示有形的实体,也能表示无形的(抽象的)规则、计划或事件。对象由数据(描述事物的属性)和作用于数据的操作(体现事物的行为)构成一独立整体。从程序设计者来看,对象是一个程序模块,从用户来看,对象为他们提供所希望的行为。在对内的操作通常称为方法。 类:类是对象...原创 2011-08-06 12:36:29 · 108 阅读 · 0 评论 -
Reverse a string in a sentence
在整句话中,使整个句子反转 [code="java"] public static String sentenceReverse(String src) { char[] contents = src.toCharArray(); final int length = contents.length; if (length < 2) return src; ...原创 2011-08-08 11:18:53 · 124 阅读 · 0 评论 -
Singleton模式
模式的用途是 "ensure a class has only one instance, and provide a global point of access to it"(确保每个类只有一个实例,并提供它的全局访问点)。 在此类系统中,在任何给定时间只应运行一个类或某个类的一组预定义数量的实例。 例如,当使用某个类来维护增量计数器时,此简单的计数器类需要跟踪在多个应用程序领域中使用的...原创 2011-08-08 15:14:10 · 63 阅读 · 0 评论 -
Java关键字final、static使用总结
[b]一、final[/b] 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 [b]final类不能被继承,没有子类,final类中的方法默认是final的。 [/b] [b]final方法不能被子类的方法覆盖,但可以被继承。 [/b] [b]fin...原创 2011-08-08 15:36:42 · 52 阅读 · 0 评论 -
JAVA泛型
考虑写一个方法,它用一个Object的数组和一个collection作为参数,完成把数组中所有object放入collection中的功能。 下面是第一次尝试: [code="java"] static void fromArrayToCollection(Object[] a, Collection c) { for (Object o : a) { c.add(o); /...原创 2011-08-09 10:06:39 · 56 阅读 · 0 评论 -
WeakHashMap和HashMap的区别
[url]http://mzlly999.iteye.com/blog/1126049[/url] WeakHashMap,此种Map的特点是,当除了自身有对key的引用外,此key没有其他引用那么此map会自动丢弃此值, 见实例:此例子中声明了两个Map对象,一个是HashMap,一个是WeakHashMap,同时向两个map中放入a、b两个对象,当HashMap remove掉a 并...原创 2012-02-24 13:42:30 · 75 阅读 · 0 评论