Java
文章平均质量分 68
iteye_3126
这个作者很懒,什么都没留下…
展开
-
Java中的Exception异常 自定义异常
Exception类是java中所有异常类的父类,比如我们经常见到的NullPointerException所继承的父类RuntimeException就是继承于Exception,Exception类有四个构造方法,子异常类在继承Exception类后,可以自由选择调用其中的哪个构造方法,四个构造方法分别如:构造方法摘要Exception()构造详细消息为 null 的新异常...原创 2015-02-06 11:48:29 · 322 阅读 · 0 评论 -
java BIO NIO AIO 理论篇
java中的IO主要源自于网络和本地文件 IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO 在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服 务端进行通信,默认情况下服务端需要对每个请求建立一堆线程等待请求,而客户端发送请求后,先咨询服务...原创 2013-04-25 16:29:09 · 670 阅读 · 0 评论 -
表单验证设计的用户体验基本原则
引言几年前当我第一次看到Twitter的表单验证时很惊讶. 对用户界面呆板厌烦的你应该知道我在说什么. 当时我几乎兴奋的要跳起来.Twitter精心设计的分离式表单验证相当引人注意.当我输入错误时右侧弹出错误提示信息, 立即就能让我消除错误.”在线验证”帮助我明白什么是正确的方向. 我能感受到这种简洁的形式是想跟我有个随时的对话. 这是一个启示! 我不必等待加载整个页面来检查这个表单添写...原创 2013-04-07 11:34:07 · 130 阅读 · 0 评论 -
myEclipse项目转成Eclipse开发
myEclipse项目转成Eclipse开发 公司拿到手的项目开发平台都不统一。有的是myEclipse开发的,有的是Eclipse for J2EE开发的。 这里说一种把myEclipse项目转成Eclipse项目继续开发 1. 请首先确保你的eclipse是javaee版本的,或者已经安装看wtp插件 2. 然后修改eclipse工程下的.project文件: 3.在<natur...原创 2013-03-27 09:34:34 · 123 阅读 · 0 评论 -
Spring学习笔记
1. Spring 中提供一些Aware相关接口,像是BeanFactoryAware、 ApplicationContextAware、ResourceLoaderAware、ServletContextAware等等,实现这些 Aware接口的Bean在被初始之后,可以取得一些相对应的资源,例如实现BeanFactoryAware的Bean在初始后,Spring容器将会 注入BeanFact...原创 2013-03-26 18:22:18 · 75 阅读 · 0 评论 -
Java 面试题问与答:编译时与运行时
英文原文:java-success 在开发和设计的时候,我们需要考虑编译时,运行时以及构建时这三个概念。理解这几个概念可以更好地帮助你去了解一些基本的原理。下面是初学者晋级中级水平需要知道的一些问题。 Q.下面的代码片段中,行A和行B所标识的代码有什么区别呢? 123456789101112131415...原创 2013-02-01 00:21:14 · 95 阅读 · 0 评论 -
多对多关系的数据表设计
碰到多对多的关系,一般都是建立3个表,m一个,n一个,m:n一个。但是,m:n有时会遇到批量处理的情况,例如到图书馆借书,一般都是允许用户同时借阅n本书,如果要求按批查询借阅记录,即列出某个用户某次借阅的所有书籍,该如何设计呢?让我们建好必须的3个表先:书籍表(Book_table)名称 类型 约束条件 说明book_id ...原创 2013-01-06 14:41:29 · 2183 阅读 · 0 评论 -
关于 SimpleDateFormat 的非线程安全问题及其解决方案
参考:http://my.oschina.net/leejun2005/blog/152253目录[-]1、问题:2、解决方案(1)使用局部变量:(2)使用 ThreadLocal(3)同步代码块 synchronized(code)(4)使用第三方的日期处理函数:(5)最后的提问:REF:之前有同事好几次都掉这个坑里去了,刚好今天有看到有篇帖子提了下,...原创 2016-06-08 18:15:23 · 264 阅读 · 0 评论 -
cookie session 登录
有很多Web程序中第一次登录后,在一定时间内(如2个小时)再次访问同一个Web程序时就无需再次登录,而是直接进入程序的主界面(仅限于本机)。实现这个功能关键就是服务端要识别客户的身份。而用Cookie是最简单的身从验证。如果用户第一次登录,可以将用户名作为Cookie写到本地,代码如下: <!--<br /><br />Code highlight...原创 2012-12-04 10:17:48 · 180 阅读 · 0 评论 -
公钥和私钥的区别
公钥密码体制的核心思想是:加密和解密采用不同的密钥。这是公钥密码体制和传统的对称密码体制最大的区别。对于传统对称密码而言,密文的安全性完全依赖于 密钥的保密性,一旦密钥泄漏,将毫无保密性可言。但是公钥密码体制彻底改变了这一状况。在公钥密码体制中,公钥是公开的,只有私钥是需要保密的。知道公钥 和密码算法要推测出私钥在计算上是不可行的。这样,只要私钥是安全的,那么加密就是可信的。...原创 2012-12-03 19:46:18 · 250 阅读 · 0 评论 -
Cas集成openid配置
参考文章:https://wiki.jasig.org/display/CASUM/OpenID OpenID is an open, decentralized, free framework for user-centric digital identity. Users represent themselves using URIs. For more informati...原创 2012-11-13 09:13:56 · 609 阅读 · 0 评论 -
如何设置(修改)jetty(maven插件maven-jetty-plugi)的端口
在使用jetty的maven插件,有两种方式来改变jetty server的端口,第一种方式较为简单,即:通过命令行指定端口:mvn -Djetty.port=9999 jetty:run另一种方式是在pom中的配置中通过指定新的connector来实现的,例如下述的配置文档:[html] view plaincopy<plugin&...原创 2012-11-05 11:31:35 · 109 阅读 · 0 评论 -
使用Eclipse构建Maven的SpringMVC项目
参考博客:http://www.cnblogs.com/xujj/archive/2012/04/16/2452788.html需要注意的几点: 2.3.3 配置 Modify Faceted Project时输入src/main/webapp,与当前web目录保持一致 3.1 在pom.xml中添加所需要的jar包时,依赖的Dependencies需要手动配置上,才能...原创 2012-10-31 17:29:22 · 74 阅读 · 0 评论 -
eclipse 中创建maven web项目
Maven的Eclipse插件m2eclipse在线安装地址 http://m2eclipse.sonatype.org/sites/m2e;我又试了link方式安装也没什么作用,不知怎么回事?还有让webapp显示到最上层的WTP插件http://m2eclipse.sonatype.org/sites/m2e-extras下面介绍方法一、创建新Maven Web项目1.新建Ma...原创 2012-10-31 17:27:10 · 79 阅读 · 0 评论 -
需要看的
http://www.ibm.com/developerworks/cn/java/j-lo-processthread/index.htmlhttp://blog.jobbole.com/41280/原创 2014-07-25 20:41:59 · 84 阅读 · 0 评论 -
文件操作工具类
目录操作工具类 CopyDir.java[java] view plaincopy package com.util; import java.io.*; /** * 1,建立目的目录。 2,遍历源目录。 3,遍历过程中,创建文件或者文件夹。 原理:其实就是改变了源文件或者目录的目录头。 * @datetime Dsc ...原创 2014-09-11 15:58:59 · 84 阅读 · 0 评论 -
介绍并调优JVM GC(Garbage Collection)
下文是转贴于http://www.javadby.com/yuyanjichu/20080322/5220.html。因为这几天压力测试,然后再重温GC的时候,觉得这片文章写得比较详细,对于去看GC print有一些帮助。转贴一下。 调整JVM GC(Garbage Collection),可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。...原创 2014-10-03 16:50:11 · 97 阅读 · 0 评论 -
JAVA中SERIALVERSIONUID的解释
serialVersionUID作用: 序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。有两种生成方式: 一个是默认的1L,比如:private static final long serialVersionUID = 1L; 一个是根据类名、接口名、成员方法及属性等来生成一个64位的哈希字段,比如: private sta...原创 2015-02-04 16:16:47 · 87 阅读 · 0 评论 -
Java使用RSA加密解密签名及校验
由于项目要用到非对称加密解密签名校验什么的,于是参考《Java加密解密的艺术》写一个RSA进行加密解密签名及校验的Demo,代码很简单,特此分享!RSA加密解密类: [java] view plaincopy package com.ihep; import java.io.BufferedReader; import java.io....原创 2015-02-03 16:48:01 · 431 阅读 · 0 评论 -
java枚举类型enum的使用
Java 中的枚举类型采用关键字enum 来定义,从jdk1.5才有的新类型,所有的枚举类型都是继承自Enum 类型。要了解枚举类型,建议大家先打开jdk 中的Enum类简单读一下,这个类里面定义了很多protected 方法,比如构造函数,如果要使用这些方法我们可以把枚举类型定义到当前类中。每个枚举类型,都有自己的名字和顺序,当我们输出一个枚举类型的时候,会输入枚举类型的name ,具体可以...原创 2015-01-28 15:18:15 · 84 阅读 · 0 评论 -
Java异步和回调 Demo
public interface CallBack { /** * 执行回调方法 * @param objects 将处理后的结果作为参数返回给回调方法 */ public void execute(Object... objects );}public class Local implements CallBack,Ru...原创 2015-01-07 23:45:37 · 269 阅读 · 0 评论 -
volatile使用场景以及注意事项
Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized 的一部分。本文介绍了几种有效使用 volatile 变量的模式,并强调了几种不适合使用 volatile 变量的情形。锁提供了两种主要特性:互...原创 2014-12-31 10:54:33 · 988 阅读 · 0 评论 -
Java:单例模式的七种写法
第一种(懒汉,线程不安全): 1 public class Singleton { 2 private static Singleton instance; 3 private Singleton (){} 4 public static Singleton getInstance() { 5 if (instance ==...原创 2014-12-30 21:15:22 · 82 阅读 · 0 评论 -
Java实现定时任务的三种方法
在应用里经常都有用到在后台跑定时任务的需求。举个例子,比如需要在服务后台跑一个定时任务来进行垃圾回收(译者注:个人觉得用定时任务来跑垃圾回收不是很好的例子,从译者接触到的项目来看,比较常见的是用定时任务来进行非实时计算,清除临时数据、文件等)。 在本文里,我会给大家介绍3种不同的实现方法:普通thread实现TimerTask实现ScheduledExecutorServic...原创 2014-12-16 18:04:41 · 115 阅读 · 0 评论 -
详解java定时任务
在我们编程过程中如果需要执行一些简单的定时任务,无须做复杂的控制,我们可以考虑使用JDK中的Timer定时任务来实现。下面LZ就其原理、实例以及Timer缺陷三个方面来解析java Timer定时器。一、简介在java中一个完整定时任务需要由Timer、TimerTask两个类来配合完成。 API中是这样定义他们的,Timer:一种工具,线程用其安排以后在后台线程中执行的任务。可安排任务...原创 2014-12-14 17:08:07 · 112 阅读 · 0 评论 -
java反射机制与动态代理
在学习HadoopRPC时,用到了函数调用,函数调用都是采用的java的反射机制和动态代理来实现的,所以现在回顾下java的反射和动态代理的相关知识。一、反射JAVA反射机制定义: JAVA反射机制是java程序在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射...原创 2014-12-01 20:32:21 · 110 阅读 · 0 评论 -
FastJson---高性能JSON开发包
Fastjson介绍Fastjson是一个Java语言编写的JSON处理器,由阿里巴巴公司开发。1、遵循http://json.org标准,为其官方网站收录的参考实现之一。2、功能qiang打,支持JDK的各种类型,包括基本的JavaBean、Collection、Map、Date、Enum、泛型。3、无依赖,不需要例外额外的jar,能够直接跑在JDK上。4、开源,使用Apache Lice...原创 2014-11-05 17:21:20 · 67 阅读 · 0 评论 -
SortedMap接口的实现类TreeMap介绍和实现Comparator自定义比较器
与SortedSet接口类似,SortedMap也是一个结构,待排序的Map,其一个比较常用的实现类是TreeMap。TreeMap的put(K key, V value)方法在每添加一个元素时,都会自动排序。构造方法:TreeMap()使用键的自然顺序构造一个新的、空的树映射。TreeMap(Comparator<? super K> comparator)构造一个新...原创 2014-10-30 00:00:58 · 133 阅读 · 0 评论 -
Java Map遍历方式的选择
1. 阐述 对于Java中Map的遍历方式,很多文章都推荐使用entrySet,认为其比keySet的效率高很多。理由是:entrySet方法一次拿到所有key和value的集合;而keySet拿到的只是key的集合,针对每个key,都要去Map中额外查找一次value,从而降低了总体效率。那么实际情况如何呢? 为了解遍历性能的真实差距,包括在遍历key+value、遍历key、遍历...原创 2014-10-29 23:22:08 · 72 阅读 · 0 评论 -
java中文乱码
过程分析:第一步:java文件编码格式 文件格式非固定: Java文件在编写之前需要指定文件的编码格式,默认编码和当前操作系统平台编码保持一致。比如,当前操作系统平台为windows中文版,那么编码一般为GBK。当然可以对保存文件的编码进行修改。例如修改成UTF-8。那么此时文件保存的编码就为UTF-8。第二步:java文件编写保存 编写完成之后,那么则以第一步的编码进行保存。...原创 2014-10-23 19:04:34 · 95 阅读 · 0 评论 -
Json格式
21世纪初,Douglas Crockford寻找一种简便的数据交换格式,能够在服务器之间交换数据。当时通用的数据交换语言是XML,但是Douglas Crockford觉得XML的生成和解析都太麻烦,所以他提出了一种简化格式,也就是Json。Json的规格非常简单,只用一个页面几百个字就能说清楚,而且Douglas Crockford声称这个规格永远不必升级,因为该规定的都规定了。...原创 2012-10-16 16:25:43 · 108 阅读 · 0 评论 -
Java中的泛型方法
泛型是什么意思在这就不多说了,而Java中泛型类的定义也比较简单,例如:public class Test<T>{}。这样就定义了一个泛型类Test,在实例化该类时,必须指明泛型T的具体类型,例如:Test<Object> t = new Test<Object>();,指明泛型T的类型为Object。 但是Java中的泛型方法就比较复...原创 2015-07-23 10:59:01 · 126 阅读 · 0 评论 -
JAVA中String与StringBuffer的区别
String和StringBuffer的区别,网上资料可以说是数不胜数,但是看到这篇文章,感觉里面做的小例子很有代表性,所以转一下,并自己做了一点总结。 在java中有3个类来负责字符的操作。1.Character 是进行单个字符操作的,2.String 对一串字符进行操作。不可变类。3.StringBuffer 也是对一串字符进行操作,但是可变类。...原创 2011-04-27 22:34:34 · 79 阅读 · 0 评论 -
对Java Serializable(序列化)的理解和总结
1、序列化是干什么的? 简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保存object states,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。2、什么情况下需要序列化 a)当你想把的内存中的对象状态保存到一个文件中或者数据库中时候...原创 2011-04-27 17:13:32 · 78 阅读 · 0 评论 -
bundle
、 这两组标签用于资源配置文件的绑定,唯一不同的是 标签将资源配置文件绑定于它标签体中的显示, 标签则允许将资源配置文件保存为一个变量,在之后的工作可以根据该变量来进行。 根据 Locale 环境的不同将查找不同后缀的资源配置文件,这点在国际化的任何技术上都是一致的,通常来说,这两种标签单独使用是没有意义的,它们都会与 I18N formatting 标签库中的其他标签...原创 2011-04-12 15:57:46 · 95 阅读 · 0 评论 -
Java 截取反斜杠 replaceAll和split (“\”) 问题解决办法
xxx.split("\\") 显然得不到想要的结果 正确方法 xxx.split("\\\\"); 原因如下: 在Java中处理一些路径相关的问题的时候,如要取出ie浏览器上传文件的文件名,由于ie会把整个文件路径都作为文件名上传,需要用java.lang.String中的replaceAll或者split来处理。如: 上传文件路径为:C:\Documen...原创 2011-01-18 10:06:43 · 357 阅读 · 0 评论 -
Session机制详解
摘要:虽然session机制在web应用程序中被采用已经很长时间了,但是仍然有很多人不清楚session机制的本质,以至不能正确的应用这一技术。本文将详细讨论session的工作机制并且对在Java web application中应用session机制时常见的问题作出解答。目录:一、术语session二、HTTP协议与状态保持三、理解cookie机制四、理解session机制五、理解javax....原创 2011-07-31 11:19:35 · 87 阅读 · 0 评论 -
String、StringBuffer与StringBuilder之间区别
最近学习到StringBuffer,心中有好些疑问,搜索了一些关于String,StringBuffer,StringBuilder的东西,现在整理一下。关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下 1.三者在执行速度方面的比较:StringBuilder > StringBuffer > St...原创 2011-07-27 15:48:53 · 62 阅读 · 0 评论 -
Spring -- 控制反转与依赖注入原理
在Spring中有两个非常重要的概念,那就是控制反转和依赖注入;控制反转将依赖对象的创建和管理交由Spring容器,而依赖注入则是在控制反转的基础上讲Spring容器管理的依赖对象注入到应用之中;那么控制反转和依赖注入的原理到底是什么呢?一言以蔽之,那就是:XML文件解析+Java反射技术;只要我们了解了如何进行XML解析以及Java的反射技术,那么我们完全可以实现自己的具有控制反转和...原创 2011-07-24 16:59:08 · 103 阅读 · 0 评论 -
Java堆.栈和常量池
今天复习了一下这些知识,顺便做了下笔记.1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)3. 堆:存放所有new出来的对象。4. 静态域:存放静态成员(static定义的)5. 常量池:存放字符串常量和基本类型...原创 2011-07-24 13:49:41 · 191 阅读 · 0 评论