- 博客(35)
- 收藏
- 关注
原创 Java Generics 泛型汇总
1. 泛型类。在类名后面声明泛型变量。class GenericMap<T extends Number, E extends Date> extends HashMap<T, List<E>> { ....}new GenericMap<Integer, Time>()的时候才最终绑定T(Integer)和E(Time)。...
2016-12-06 08:23:06 152
原创 Example: 使用maven plugin定制build
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-...
2016-03-09 11:48:13 147
原创 Java 8 – Lambda Expressions
A lambda expression is basically just a block of code that you can pass around to be executed later – once, or multiple times. Many other languages support them, so you’ve probably already used them i...
2015-10-29 12:28:22 124
原创 Problems when upgrading to Java8
1. Some dependencies those running well in Java6/Java7 but not Java8 e.g. javassist.jar, it's quite probably be inconsistent 2. Got SAX warning in console. That's because Java8 denies to acc...
2015-09-25 11:19:00 97
原创 Java AES KeyStore IvParameterSpec
import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.security.InvalidAlgorithmParameterException;import java.security.InvalidKeyException;import java...
2015-09-16 18:54:22 817
原创 ThreadLocal
1.ThreadLocal干什么的?ThreadLocal是用来做线程内部变量传递的,绝非线程间通信或线程同步的! 2. ThreadLocal工作原理是每个Java线程拥有一个ThreadLocal.ThreadLocalMap的成员变量,这个map的key就是ThreadLocal对象,value就是当前线程的目标变量的包装类Entry。而绝非ThreadLocal为每个th...
2015-05-26 15:19:06 101
原创 JAXP SAX DOM StAX
SAX: Simple API for XMLDOM: Document Object ModelJAXP: Java API for XML ProcessingStAX: The Streaming API for XML 1、SAX, DOM是两种对xml文档进行分析的方法(没有具体的实现,只有接口)所以他们不是解释器,仅仅靠他们是完成不了对xml文档的处理的。sa...
2015-04-04 14:32:27 117
原创 kit based dependency management
For kit based dependency management, I found that “importing dependencies” in maven will serve this purpose very well. For example ,we have two kit cib-kit and rm-kit, In cib-kit, we can specify...
2015-02-11 14:57:39 104
原创 Tomcat get请求中文乱码
Tomcat对于GET请求的url和参数默认使用iso-8859-1编码,因此,tomcat将会使用iso-8859-1将提交的字节转换成字符串。所以,对于使用get方式传值的时候,统一使用String str= new String(req.getParameter("str").toString().getBytes("iso8859_1"), "UTF-8"); 在Spring...
2015-02-09 01:05:28 195
原创 编译安装hadoop2.6
准备:1.安装gccyum install gccyum install gcc-c++2.安装jdk(注意必须jdk,jre不行)3.ProtocolBuffer 2.5.0wget https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.bz2tar jxvf protobuf-2.5.0.tar.bz2...
2015-01-07 17:44:40 133
原创 this关键字的作用范围
一个function, 从语法的角度讲,既可以使用括号让其执行,也可以new它,比如fucntion a(){}var b = a();var c = new a();对 于c来说,a方法同样会执行,需要注意的是,如果a方法有return语句,那么b和c的值都是这个被return的东西;如果a方法根本没有任何 reutrn,那么b的值是undefined,对于c来说,a方法等同于...
2014-10-30 16:48:54 420
原创 JavaScript Closure 闭包
看几个case:-------------------------------1. -------------------------------<script>var name = 1;function test1() { alert(name); var name = 2; alert(name); for(var i=0; i<1...
2014-10-29 10:59:08 79
原创 JDBC PreparedStatement的Performance问题,setString 和 varchar/nvarchar的关系
近期为了解决一些security的问题,把DAO层JDBC的Statement全部替换为PreparedStatement,然后遇到一个非常奇怪的问题是,一个简单的SQL, 比如SELECT * FROM MDC_DATA_TYPE WHERE name = 'A' AND number = 1;改成使用SELECT * FROM MDC_DATA_TYPE WHERE name = ...
2014-10-22 17:47:46 383 1
原创 JSTL choose + when + otherise的使用
JSTL中的if是没有else的。。。替代方法如下:<c:forEach var="image" items="${contents}"> <c:choose> <c:when test="${color eq 'body-white-bg' }"> <c:set var="color&quo
2014-10-05 17:38:13 163
原创 XPath and Default Namespace handling
转自 http://wakan.blog.51cto.com/blog/59583/7220原文 http://www.edankert.com/defaultnamespaces.html 诸如“为什么用 XPath 的表达式进行查询,却没有返回所期望的结果?” 的问题通常都与命名空间(NameSpace)有关,而且绝大多数是与缺省命名空间(Default Namespace...
2014-09-24 11:50:39 112
原创 使用EXECUTE sp_executesql 避免SQL Injection
比如: DECLARE @SQLString NVARCHAR(500)DECLARE @ParmDefinition NVARCHAR(500)DECLARE @IntVariable INTDECLARE @StringVariable NVARCHAR(100)DECLARE @Lastlname varchar(30)SET @SQLString = N'SELECT @Last...
2014-09-11 20:34:18 156
原创 Java enum的使用
enum TestEnum { NONE("none"), UNKNOWN("unknown"), HORIZON("horizonGroup"), REAL_DIVIDERS("realDivider"), DATE_DIVIDERS("dateDivider"); private final String name; public String getName() { ...
2014-09-04 14:41:25 80
原创 单例模式 Singleton的实现
1. 非lazy模式//Singleton with static factoryclass SingletonExample { private static final SingletonExample singleton = new SingletonExample(); private SingletonExample() { } public static ...
2014-09-04 14:39:30 64
原创 BasicDataSource设置connection自动重连
近期项目使用SpringMVC,并配置DBCP BasicDataSource作为数据源。因特殊需求,web session的有效时间需要设置为很长,导致有可能DB connection会被mysql回收,所以需要配置DBCP可以在执行sql前检查connection的有效性,如已失效,希望能获得一个新的有效connection(自动重连)。 已有配置(最简化):<!-- Da...
2014-08-30 03:26:01 1785
原创 SpringMVC中整合JSR-303 验证表单输入
JSR-303是sun的基于注解的JavaBean校验规范,仅仅是一个规范,没有具体实现。Spring也没有对其进行实现,要想在SpringMVC中需要使用JSR-303就需要提供一个对JSR-303规范的实现,最常见的是Hibernate Validator。 1. pom依赖 <!-- JSR-303 --> <dependency&...
2014-06-06 15:17:31 229
原创 使用@RequestBody, @ResponseBody实现前台JSON与对象(或泛型对象容器)的绑定
1. JQuery发送Ajax请求var array = [{id: '01', name: 'name01'}, {id: '02', name: 'name02'}];$.ajax({ type: "PUT", url: '/WebTest/user/create/batch', data: JSON.stringify(array), contentType: '...
2014-06-05 12:10:46 1085
原创 Collection, TreeMap, LinkedHashMap, TreeSet, LinkedHashSet, Comparable
1. Collections.sort():List<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(3); list.add(2); for (int i : list) { System.ou...
2014-05-22 11:27:32 82
原创 CSRF简介
转自: http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html 一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。二.CSRF可以做什么? 你这...
2014-05-22 11:26:45 107
原创 XSS 概念及分类
转自: http://www.cnblogs.com/coderzh/archive/2008/09/06/1285500.html XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。使用过ASP的同学一定见过这样的...
2014-05-22 11:23:30 267
原创 用HashSet去除自定义类型的重复 - 重写equals()和hashCode()方法
1. 目前的J2SE所有key-value的容器类型中都会用到equals()和hashCode()方法,Java对两个方法的规定如下: (1). 如果x.equals(y)返回“true”,那么x和y的hashCode()必须相等。 (2). 如果x.equals(y)返回“false”,那么x和y的hashCode()有可能相等,也有可能不等。介于如上机制,在重写一个equ...
2014-05-21 17:08:33 226
原创 多线程:使用FutureTask获得线程返回值+同步线程
public class FutureTaskTest { public static void main(String[] args) { testMultiThreadExecutor(); } public static void testFutureTask() { Callable<Integer> callable = new Calla...
2014-05-21 17:07:06 260
原创 Java线程池类ThreadPoolExecutor的使用 JDK自带的4种线程池
首先,继承关系: Executor -> ExecutorService -> AbstractExecutorService -> ThreadPoolExecutorInterface: Executor.execute(Runnable)Interface: ExecutorService.submit(Callable) -- ExecutorService ...
2014-05-21 17:05:38 463
原创 使用thread.join()同步线程
适用于线程间的简单同步:在不使用线程池(ThreadPoolExecutor)的情况下,而且线程不需要返回值(即线程继承自Runnable而非Callable接口)thread.join()应该是让当前线程block住,等被依赖的thread执行完之后,再继续执行...
2014-05-21 17:03:08 154
原创 ClassLoader
一、什么是ClassLoader? 大家都知道,当我们写好一个Java程序之后,不是管是CS还是BS应用,都是由若干个.class文件组织而成的一个完整的Java应用程序,当程序在运行时,即会调用该程序的一个入口函数来调用系统的相关功能,而这些功能都被封装在不同的class文件当中,所以经常要从这个class文件中要调用另外一个class文件中的方法,如果另外一个文件不存在的,则会...
2014-04-08 16:24:56 58
原创 OutOfMemory种类和简单分析
1) 永久区溢出 Exception in thread "main" java.lang.OutOfMemoryError: PermGen space PermGen space = Permanent Generation space永久保存区域主要存放放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域(包括常量池: 静态变量...
2014-04-08 16:17:04 158
原创 get()和load()区别
相同:都是根据ID查找记录区别:get()先在一级缓存中查找,再从二级缓存中找,都没有的话查询数据库 对于load(), 具体要看lazy为true或者false了1. lazy=true 先在一级缓存中查找对应ID, 如存在则返回; 如不存在则建立实体的代理对象(该对象为该实体类的子类,由CGLib动态生成并被class loader加载) 等到具体使用该对象的...
2014-04-08 16:04:09 63
原创 笔记: Hibernate缓存机制
一级缓存:事务级缓存 或 Session级缓存 其实质是由Hibernate自动维护的一个map,根据id来缓存实体对象(不存放普通属性的查询) ***不能跨sesseion/transaction访问 无论是list(), load()还是iterate,只要读出的是对象, 都会自动填充一级缓存 但是list()本身不去使用缓存, iterate是先去DB中select ...
2014-04-08 15:48:46 60
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人