java
文章平均质量分 50
tripleTu
这个作者很懒,什么都没留下…
展开
-
java.lang.IllegalArgumentException: Can't convert argument: null
这是由于eclipse在修改项目名的时候,eclipse自动更新部署了web.xml文件 并且重新生成了xml文件的头部声明. 新增了java的命名把这个javaee去掉就可以了.一般情况下他会修改servlet的配置修改项目后之后的web.xml仔细观察标签下的子标签是否多了一个javaee你把这个删除掉就可以了web.xml[html] vi转载 2013-12-11 10:20:49 · 365 阅读 · 0 评论 -
java堆与栈生存空间
java中所有的对象都存活于可垃圾回收的堆上,实例变量存在于所属的对象中存放于堆上,而局部变量存放于栈上,且生命周期仅限于方法调用至执行完毕为止。 方法会被叠在栈上当你调用一个方法时,该方法会放在调用栈的栈顶。实际被叠在栈上的是堆栈块,它带有方法的状态,包括执行到哪一行程序以及所有的局部变量的值。Java把内存划分成两种:一种是栈内存,一种是堆内存。 在转载 2013-08-30 17:09:31 · 319 阅读 · 0 评论 -
java正则表达式
[正则表达式]文本框输入内容控制整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$只能输入数字:"^[0-9]*$"。只能输入n位的数字:"^\d{n}$"。只能输入至少n位的数字:"^\d{n,}$"。只能输入m~n位的数字:。"^\d{m,n}$"只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。只能输入有两位小数的正实数:"^[0-转载 2013-08-30 11:16:52 · 237 阅读 · 0 评论 -
synchronzied用法
ynchronized 方法声明是为了定义变量的作用范围和作用域通过在方法声明中加入 synchronized关键字来声明 synchronized 方法。如:public synchronized void accessVal(int newVal);synchronized 方法控制对类成员变量的访问:每个类实例对应一把锁,每个 synchronized 方法都必须获得调用该方转载 2013-08-28 15:26:17 · 349 阅读 · 0 评论 -
工厂方法和抽象工厂
读书笔记 工厂方法:通过提供一个抽象的接口,让继承接口的子类去实现工厂方法(生产实例的方法)。 以pizza为例,定义接口PizzaStore,和工厂方法createPizza(String type) 让继承其接口的子类NYPizzaStore,自定义实现createPizza(String type),从而实现对于用户和具体商品的解耦和。Interface Piz原创 2013-08-08 17:07:41 · 300 阅读 · 0 评论 -
观察者模式
读书笔记观察者在观察事件中进行注册,当被观察事件发生变化时,依次通知注册的观察者,调用观察者的定义方法,实现事件的通知。通过调用被观察者的addObserver(),deleteObserver()方法将自己注册或者从观察者列表中删除。当被观察者发生变化时,就调用notifyObserver()方法对观察者列表中的所有观察者进行通知,调用观察者的notify方法原创 2013-08-20 15:12:37 · 338 阅读 · 0 评论 -
装饰者模式
装饰者模式动态得将责任附加到对象上,想要扩展功能,装饰者提供有别于继承的另一种选择。这是一个符合开放-关闭原则的模式,对扩展开放,对修改关闭。顺带一提OO原则封装变化多用组合,少用继承针对接口编程,不针对实现编程为交互对象之间的松耦合设计而努力对扩展开放,对修改关闭装饰者一层一层的包装,通过委托,层层调用被包装者的方法,来实现组合的目的。典型原创 2013-08-22 11:57:22 · 312 阅读 · 0 评论 -
单例模式
单例模式即确保一个类只有一个实例,并提供一个全局访问点。实现很简单,将构造函数私有,并提供静态的方法获得实例,该静态方法利用判断全局静态变量是否为null而决定是否初始化一个实例。public class Singleton { public static Singleton model; private Singleton() { } public static原创 2013-08-22 17:41:29 · 330 阅读 · 0 评论 -
适配器模式
读书笔记适配器利用被适配对象构造一个继承目标对象的适配器对象,是的可以利用目标对象的接口来操作被适配的对象。差别就是:对象适配器实现了客户端想要的接口(USB),在内部有一个被适配对象(PS2)的引用,通过组合实现适配功能。类适配器实现了客户端想要的接口(USB)和被适配对象接口(PS2),通过继承来实现适配功能。package com.zzy.adapter;/** * 类原创 2013-08-27 15:21:26 · 298 阅读 · 0 评论 -
命令模式
命令模式:在请求者和响应者之间,通过传递命令实现解耦。实例:电视遥控器,餐厅里的订单public interface Command { public void execute();}public class ConcreteCommand implements Command { private Receiver receiver = null; pri原创 2013-08-27 15:27:03 · 303 阅读 · 0 评论 -
理解ThreadLocal
ThreadLocal是什么早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thread的局部变量,也许把它命名为T转载 2013-09-02 14:00:02 · 501 阅读 · 0 评论 -
java构造函数使用方法总结
使用构造器时需要记住:1.构造器必须与类同名(如果一个源文件中有多个类,那么构造器必须与公共类同名)2.每个类可以有一个以上的构造器3.构造器可以有0个、1个或1个以上的参数4.构造器没有返回值5.构造器总是伴随着new操作一起调用继承与构造函数 使用super调用父类构造器的语句必须是子类构造器的第一条语句如果子类构造器没有显式地调用父类的构造器,则将转载 2013-09-02 16:00:37 · 258 阅读 · 0 评论 -
Android GestureDetector手势识别类
为了加强鼠标响应事件,Android提供了GestureDetector手势识别类。通过GestureDetector.OnGestureListener来获取当前被触发的操作手势(Single Tap Up、Show Press、Long Press、Scroll、Down、Fling),具体包括以下几种:boolean onDoubleTap(MotionEvent e) 解转载 2013-10-22 11:00:13 · 288 阅读 · 0 评论 -
Android Activity界面切换添加动画特效
在Android 2.0之后有了overridePendingTransition() ,其中里面两个参数,一个是前一个activity的退出两一个activity的进入,@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstance转载 2013-10-24 10:49:45 · 495 阅读 · 0 评论 -
Java:使用wait()与notify()实现线程间协作
通常,多线程之间需要协调工作。例如,浏览器的一个显示图片的线程displayThread想要执行显示图片的任务,必须等待下载线程 downloadThread将该图片下载完毕。如果图片还没有下载完,displayThread可以暂停,当downloadThread完成了任务 后,再通知displayThread“图片准备完毕,可以显示了”,这时,displayThread继续执行。以上逻辑简单转载 2013-10-15 15:15:34 · 349 阅读 · 0 评论 -
runnable的共享数据
Java实现多线程,有两个方法,实现runable接口和继承Thread1.实现Runnable接口使用同一个runnable构造的不同线程之间是可以共享数据的class MyThread extends Thread { private int share = 10; @Override public void run() { if (share > 0) {原创 2013-10-14 12:37:03 · 545 阅读 · 0 评论 -
Java Collection
在 Java2中,有一套设计优良的接口和类组成了Java集合框架Collection,使程序员操作成批的数据或对象元素极为方便。这些接口和类有很多对抽象数据类型操作的API,而这是我们常用的且在数据结构中熟知的。例如Map,Set,List等。并且Java用面向对象的设计对这些数据结构和算法进行了封装,这就极大的减化了程序员编程时的负担。程序员也可以以这个集合框架为基础,定义更高级别的数据抽象,比转载 2013-10-14 11:12:35 · 352 阅读 · 0 评论 -
RMI远程方法调用
RMI的本质就是实现在不同JVM之间的调用,它的实现方法就是在两个JVM中各开一个Stub和Skeleton,二者通过socket通信来实现参数和返回值的传递。 有关RMI的例子代码网上可以找到不少,但绝大部分都是通过extend the interface java.rmi.Remote实现,已经封装的很完善了,不免使人有雾里看花的感觉。下面的例子是我在《Enterprise转载 2013-09-03 16:45:17 · 281 阅读 · 0 评论 -
struts核心过滤器FilterDispatcher介绍
FilterDispatcher功能介绍FilterDispatcher是struts2的核心控制类负责处理最初的请求分发.四大责任1.执行action2.清空ActionContext上下文3.服务静态的内容(初始化环境等)4.中断请求生命周期中的XWORKS拦截器.FilterDispatcher必须映射所有的请求,除非你只想在某一部分支持struts2转载 2013-09-04 11:00:50 · 487 阅读 · 0 评论 -
多个对象访问共享对象和数据的方式——一道JAVA就业面试题的不同解法
多个对象访问共享对象和数据的方式有一道关于多个对象访问共享对象和数据JAVA面试题:设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。一下内容是对多个对象访问共享对象和数据的方式的总结,以及相应的对这道JAVA面试试题的不同解法,代码不太完整,只实现了其中的主要功能,如果各位有兴趣,可以按照题目要求加以完善!!!如果有新的思路,或者对我的总结有转载 2013-09-03 14:22:03 · 556 阅读 · 0 评论 -
java 序列化要点
你可以使用ObjectOutputStream来序列化对象存储对象的状态对象必须实现序列化这个接口才能被序列化。如果父类实现序列化,则子类也就自动地有实现,而不管是否有明确的声明。当对象被序列化时,整个对象版图都会被序列化。这代表它的实例变量所引用的对象也会被序列化。如果有不能被序列化的对象,执行期间就会抛出异常。除非该实例变量被标记为transient。否则,该变量在还原的时候会转载 2013-09-03 11:01:51 · 432 阅读 · 0 评论 -
享元模式flyweight
享元模式以共享的方式高效地支持大量的细粒度对象。享元对象能做到共享的关键是区分内蕴状态(Internal State)和外蕴状态(External State)。内蕴状态是存储在享元对象内部并且不会随环境改变而改变。因此内蕴状态并可以共享。外蕴状态是随环境改变而改变的、不可以共享的状态。享元对象的外蕴状态必须由客户端保存,并在享元对象被创建之后,在需要使用的时候再传入到享元对象内部。外原创 2013-08-28 10:26:31 · 360 阅读 · 0 评论 -
策略模式
策略模式 定义了一系列的算法,并将每一个算法封装起来,而且使他们可以互相替换。策略模式让算法与使用它的客户解耦。换句话说就是:“找到变化并且把它封装起来,稍后你就可以在不影响其它部分的情况下修改或扩展被封装的变化部分。” 尽管这个概念很简单,但是它几乎是所有设计模式的基础,所有模式都提供了使系统里变化的部分独立于其它部分的方法。面向接口编程,而不要面向实现编程模拟鸭子原创 2013-08-28 11:01:38 · 358 阅读 · 0 评论 -
spring quartz配置
spring quartz配置一:项目必须的jar包 1).quartz-all-1.6.jar 2).spring-support-1.2.3.jar 3).common-collection-3.1.jar 4).jta.jar有些博客说是要六个包,也是对的;因为我是在s2sh环境下去配置quartz的,有些包可能不经意被包含进来了,如果单独配转载 2013-07-15 10:54:58 · 654 阅读 · 0 评论 -
getRequestDispatcher()与sendRedirect()的区别
1.request.getRequestDispatcher()是请求转发,前后页面共享一个request ; response.sendRedirect()是重新定向,前后页面不是一个request。request.getRequestDispather();返回的是一个RequestDispatcher对象。2.RequestDispatcher.forward()转载 2013-07-12 11:28:45 · 228 阅读 · 0 评论 -
GPS经纬度转换为百度坐标
android客户端:Importimport com.baidu.mapapi.CoordinateConvert;import com.baidu.mapapi.GeoPoint;CodeGeoPoint p = new GeoPoint(x, y);GeoPoint p2 = CoordinateConvert.bundleDecode(Coord转载 2013-05-08 10:48:53 · 596 阅读 · 0 评论 -
K-Means算法的代码实现(Java)
//package cn.edu.pku.ss.dm.cluster;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import jav转载 2013-05-19 11:12:33 · 976 阅读 · 0 评论 -
JAVA Socket超时浅析
套接字或插座(socket)是一种软件形式的抽象,用于表达两台机器间一个连接的“终端”。针对一个特定的连接,每台机器上都有一个“套接字”,可以想象它们之间有一条虚拟的“线缆”。JAVA有两个基于数据流的套接字类:ServerSocket,服务器用它“侦听”进入的连接;Socket,客户端用它初始一次连接。侦听套接字只能接收新的连接请求,不能接收实际的数据包。套接字是基于TCP/IP实现的,转载 2013-04-28 14:56:49 · 272 阅读 · 0 评论 -
Java字节序
BIG-ENDIAN(大字节序、高字节序)LITTLE-ENDIAN(小字节序、低字节序) 主机字节序 网络字节顺序 JAVA字节序 1.BIG-ENDIAN、LITTLE-ENDIAN跟多字节类型的数据有关的比如int,short,long型,而对单字节数据byte却没有影响。 比如 int a = 0x05060708 在BIG-ENDIAN的情况下存原创 2013-04-28 15:22:12 · 268 阅读 · 0 评论 -
Java中重载和重写的区别
1, 重载(Overloading) (1) 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。重载Overloading是一个类中多态性的一种表现。(2) Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法,转载 2013-04-28 15:13:03 · 251 阅读 · 0 评论 -
byte数组 普通类型 转换
/*** 通信格式转换** Java和一些windows编程语言如c、c++、delphi所写的网络程序进行通讯时,需要进行相应的转换* 高、低字节之间的转换* windows的字节序为低字节开头* linux,unix的字节序为高字节开头* java则无论平台变化,都是高字节开头 */ public class FormatTransfer {/** * 将int转为低原创 2013-04-28 15:32:31 · 385 阅读 · 0 评论 -
[Java]读取文件方法大全
1、按字节读取文件内容2、按字符读取文件内容3、按行读取文件内容4、随机读取文件内容 public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 */ public static void readFileByBytes(String fileName) {转载 2013-04-25 10:20:29 · 326 阅读 · 0 评论 -
sun.misc.BASE64Encoder找不到jar包的解决方法
1.右键项目-》属性-》java bulid path-》jre System Library-》access rules-》resolution选择accessible,下面填上** 点击确定即可!!!2.在MyEclipse中编写Java代码时,用到了BASE64Decoder,import sun.misc.BASE64Decoder;可是Eclipse提示: Access re转载 2013-07-15 13:10:22 · 256 阅读 · 0 评论 -
EHCache
. EHCache 的特点,是一个纯Java ,过程中(也可以理解成插入式)缓存实现,单独安装Ehcache ,需把ehcache-X.X.jar 和相关类库方到classpath中。如项目已安装了Hibernate ,则不需要做什么。。直接可以使用Ehcache Cache 存储方式 :内存或磁盘 2. 单独使用 EHCache 使用CacheManager转载 2013-07-16 16:41:56 · 277 阅读 · 0 评论 -
外观模式
外观模式:为子系统中的一组接口提供一个统一的高层接口,使得子系统更加容易使用。最典型的例子:家庭影院;你要看一部电影,需要很多步骤,如果调用者一步步的操作将会非常麻烦,这时你可以提供一个简单的看电影接口,去包装实现的细节过程。虽然提供了简单的看电影接口,但是调用者仍可以接触到底层的接口,如打开DVD接口。原创 2013-08-28 11:17:04 · 336 阅读 · 0 评论 -
面向对象设计原则
原则1:DRY(Don’t repeat yourself)即不要写重复的代码,而是用“abstraction”类来抽象公有的东西。如果你需要多次用到一个硬编码值,那么可以设为公共常量;如果你要 在两个以上的地方使用一个代码块,那么可以将它设为一个独立的方法。SOLID 设计原则的优点是易于维护,但要注意,不要滥用,duplicate 不是针对代码,而是针对功能。这意味着,即使用公共代转载 2013-08-28 11:20:41 · 309 阅读 · 0 评论 -
迭代器模式
迭代器模式:提供一种方法顺序一个聚合对象中各个元素,而又不暴露该对象内部表示。package com.hufei.learnDesignPattern.improve;public interface Iterator { boolean hasNext(); Object next();}public class DinerMenuIterator implements Iter转载 2013-08-28 11:36:54 · 273 阅读 · 0 评论 -
组合模式
组合模式:合模式使得用户对单个对象和组合对象的使用具有一致性。在树形模式下,即对于叶子节点和父亲节点可以不做区分的进行处理。如餐厅中的菜单,菜单中可能包含菜单,对于菜单的遍历问题利用组合模式将变得很简单。转载 2013-08-28 11:42:41 · 296 阅读 · 0 评论 -
PreparedStatement和Statement
为什么要始终使用PreparedStatement代替Statement?为什么要始终使用PreparedStatement代替Statement?在JDBC应用中,如果你已经是稍有水平开发者,你就应该始终以PreparedStatement代替Statement.也就是说,在任何时候都不要使用Statement.基于以下的原因:一.代码的可读性和可维护性.虽然用Prepare转载 2013-08-26 12:46:23 · 273 阅读 · 0 评论 -
java override overwrite与overload
Overload是重载的意思,Override是覆盖的意思,也就是重写。重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同)。重写Override表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全相同的方法给覆盖了,这也是面向对象转载 2013-08-08 14:48:16 · 457 阅读 · 0 评论