java
文章平均质量分 80
lk231_java
这个作者很懒,什么都没留下…
展开
-
Pager标签分页
分页的方法有很多,第三方组件用的也不少,但是总体思路还是一样的下面是我用Pager写的分页小例子,这是在参照别人的基础上做的一些改动,首先将pager-taglib.jar和pager-taglib.tld分别放在lib文件和WEB-INF目录下客户端jsp代码[code="jsp"] ...原创 2011-04-16 15:00:49 · 160 阅读 · 0 评论 -
TreeSet分析
1. |——SortedSet接口——TreeSet实现类 Set接口-|——HashSet实现类 |——LinkedHashSet实现类我们知道Set接口不保证集合的迭代顺序,TreeSet的出现弥补了这一问题,根据使用的构造方法不同,可能会按照元素的自然顺序进行排序,或按照在创建 set 时所提供的比较器进行排序。让我们来看一个小例子[cod...原创 2011-06-04 21:08:48 · 147 阅读 · 0 评论 -
java动态代理分析
1.所谓动态代理类是这样一种class,首先它是在运行期生成的,而且在生成的过程当中实现了真实对象实现了的一系列接口,当然它不会帮你做实质性的工作,在生成它的过程当中你必须提供一个实现了InvocationHandler的实例,由它接管实际的工作2.抽象角色[code="java"]package com.lamp.reflect;public interface IStu...原创 2011-06-07 12:48:11 · 81 阅读 · 0 评论 -
java多线程下载网络资源
在java中,我们可以通过URL和HttpURLConnection实现对资源的多线程下载,以此来减少资源的下载时间,下面是一个实现多线程下载的例子,不足的是没实现断点下载的功能[code="java"]import java.io.File;import java.io.IOException;import java.io.InputStream;import jav...原创 2011-09-09 10:43:39 · 130 阅读 · 0 评论 -
HashMap底层的实现
首先我们来看看HashMap的底层源码[code="java"] /** * Constructs an empty HashMap with the default initial capacity * (16) and the default load factor (0.75). */ public HashMap() { ...原创 2011-06-20 13:20:18 · 291 阅读 · 1 评论 -
java虚拟机基础知识
1.java虚拟机与程序的生命周期在如下几种情况下,java虚拟机将结束生命周期a.执行了System.exit()方法b.程序正常执行结束c.程序在执行过程中遇到了错误或异常而异常终止d.由于操作系统错误而导致java虚拟机进程终止2.java虚拟机工作过程为加载,连接与初始化加载:查找并加载类的二进制数据到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一...原创 2011-06-22 10:35:19 · 107 阅读 · 0 评论 -
java NIO
原有的I/O操作都是以字节为单位进行读写的,虽然应用时使用了很多高级流进行了封装,不需要直接去处理字节流,但是底层的实现还是离不开字节处理,原有的I/O操作是一次一个字节的处理数据,速度比较慢,此外InputStream中的read()是一种阻塞性的方法,该方法可用于从流中读取数据,但是如果数据源没有数据,它将一直等待,其它程序也不能执行。 为解决这一问题,从JDK1.4开始...原创 2011-09-26 10:25:12 · 103 阅读 · 0 评论 -
java之网络编程
提到java的网络编程,大家肯定会想到TCP,UDP协议,下面对这两种协议进行相应介绍1.TCP是一种面向连接的保证可靠传输的协议,通过TCP协议传输,得到的是一个顺序的无差错的数据流,发送方和接收方两个socket之间必须建立连接,一旦连接起来,双向均可以进行发送或接收操作2.UDP是一种无连接的协议,每个数据包报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径...原创 2011-08-03 11:12:40 · 68 阅读 · 0 评论 -
java日期转化"BUG"
最近看了一个有意思的帖子,拿来分享一下[code="java"]SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 统一用格林威治时间可得到正确结果 //sf.setTimeZone(TimeZone.getTimeZone("GMT")); String str3 = "1927...原创 2011-08-05 16:43:21 · 235 阅读 · 0 评论 -
JBPM安装和配置
在介绍JBPM的安装之前可能有人会问,JBPM不是说它是一个框架,而非一套”应用程序”吗,是的,在深入了解JBPM之后,可以把它的流程引擎看做是一个Java工程-若干java类,依赖库和配置文件;JBPM的流程定义和运行时的上下文是需要存储在关系型数据库中,可以是基于调试目的的内存数据库HSQLDB,也可以是真正的持久化数据库,比如mysql,oracle等,JBPM的流程设计一般是需要一...原创 2012-09-10 21:30:14 · 150 阅读 · 0 评论 -
equals和hashCode方法分析
1.HashSet存放的是无序,不能重复的对象,当添加一个对象的时,它会先检查此对象的hashCode值是否与集合中对象的hashCode值相等,如果不等,直接将对象加进去,如果相等,则再用equals方法判断,如果返回的是true表示集合中已经存在此对象,不再进行添加,若返回false将对象添加进去2.简单来说,如果两个对象equals返回true则它们的hashCode值一定相等,...原创 2011-06-04 17:51:47 · 99 阅读 · 0 评论 -
ArrayList与LinkedList分析
先看看ArrayList源码[code="java"]public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, java.io.Serializable//其中有一个成员变量 private transient E[] elementData;...原创 2011-06-04 11:49:37 · 73 阅读 · 0 评论 -
HashMap和Hashtable分析
1.先说继承关系吧Java代码public class Hashtable< k,v> extends Dictionary< k,v> implements Map< k,v>, Cloneable, java.io.Serializable {…} public class HashMap< k,v> extends AbstractMap< k...原创 2011-05-26 22:17:10 · 46 阅读 · 0 评论 -
ant的基本配置及其使用
ant大家熟知的项目构建工具,在编程领域得到了极大的应用,对于项目jar,war文件的生成有其独特的优势,ant你可以在IDE中使用,也可以在IDE外使用,其配置过程如下1.在apache的官网下载ant包,并将其解压,我的是放在C盘根目录2.将bin的目录添加到Administrator用户的path目录中C:\apache-ant-1.8.2\bin3.在Administrator...原创 2011-04-20 17:55:08 · 105 阅读 · 0 评论 -
JPA及联合主键的使用
JPA全称为java persistence API,是原SUN公司提出的java持久化规范,它为开发人员提供一种对象/关系映射工具来管理java应用中的关系数据,它的出现是为了简化现有的持久化开发工作和整合ORM技术,结束了现在Hibernate,TopLink,JDO各自为营的局面,JPA不是一种ORM框架,它只是规范了现有的ORM技术,这点类似于JDBC,此时开发出来的应用不再依赖于某个开发...原创 2011-04-26 20:07:57 · 159 阅读 · 0 评论 -
java反射机制
反射是java一大特征,没有它java体现不出它那些优点,更别提那些框架了,他们都是在反射的基础上实现的,下面是一个通过反射实现对象复制的小例子[code="java"]package com.lamp.test;import java.lang.reflect.Field;import java.lang.reflect.Method;public class R...原创 2011-05-05 19:47:33 · 49 阅读 · 0 评论 -
java反射机制2
[code="java"]package com.lamp.test;public class Student { private String name = "I am private"; public String getName() { return this.name; }}[/code]上面这个类有一个私有属性name但是我们没有为其提供共有...原创 2011-05-06 08:55:35 · 47 阅读 · 0 评论 -
java多线程及synchronized
通常我们所说的程序它只是一个静态的概念,而进程是其动态性的体现,而进程又可以拥有一个或多个线程,线程是程序中单独顺序的控制流,线程本身不能运行,它只能用于程序中一个类要想成为线程类有两种方法,第一是继承Thread类并重写其run方法,第二种是实现Runnable接口,也要去重写其run方法说到线程肯定要说道线程同步,下面是我对线程同步的理解1.java中的对象都有一个锁(lock)或者叫...原创 2011-05-08 13:31:08 · 57 阅读 · 0 评论 -
java线程通信
一说到线程通信我们就会想到生产者和消费者,哲学家就餐问题,下面例子是以生产者与消费者来实现线程之间的通信[code="java"]package com.lamp.test;public class Cake { private int number = 0; public synchronized void increase(){ while(0 != num...原创 2011-05-08 16:39:03 · 50 阅读 · 0 评论 -
java的克隆
所谓复制就是将一份东西拷贝一份,在java中有浅复制和深复制的概念浅复制是指被复制的对象与原对象有相同的成员变量值,但是其引用类型的变量还是指的同一个对象,而深复制是对原对象及其成员变量引用的对象也复制了一遍复制产生的条件要满足如下第一要实现Cloneable接口,重写Object类的clone方法并将其protect修饰符修改为public,调用Object类中的clone方...原创 2011-05-08 22:02:28 · 59 阅读 · 0 评论 -
HashSet介绍
(1) 为啥要用HahSet? 假如我们现在想要在一大堆数据中查找X数据。LinkedList的数据结构就不说了,查找效率低的可怕。ArrayList哪,如果我们不知道X的位置序号,还是一样要全部遍历一次直到查到结果,效率一样可怕。HashSet天生就是为了提高查找效率的。(2) hashCode 散列码 散列码是由对象导出的一个整数值。在Object中有一个hash...原创 2011-08-18 21:35:54 · 223 阅读 · 0 评论 -
java方法参数是引用调用还是值调用
方法调用(call by) 是一个标准的计算机科学术语。方法调用根据参数传递的情况又分为值调用( call by reference ) 和引用调用( call by value ) 。江湖上有很多关于这两种调用的定义 ,最通常的说法是传递值的是值调用,传递地址的是引用调用。这其实很不恰当,这种 这些说法很容易让我们联想到Java的对象参数传递是引用调用,实际上,Java的对象参数传递仍然...原创 2011-08-19 14:17:36 · 194 阅读 · 0 评论 -
java自定义Annotation
自定义Annotation概念篇来看一个最简单的annotation[code="java"]package com.cts.elt.annotation;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.R...原创 2013-08-23 11:41:33 · 120 阅读 · 0 评论