代码改变世界

随笔分类 - Java

type parameters of <T>T cannot be determined; no unique maximal instance exists for type variable T with upper bounds int,java.lang.Object

2014-06-20 15:27 by Rollen Holt, 3107 阅读, 收藏, 编辑
摘要: 今天在进行代码检查的时候出现下面的异常:1 type parameters of T cannot be determined; no unique maximal instance exists for type variable T with upper bounds int,java.lang... 阅读全文

使用IDEA进行远程调试

2014-06-04 12:11 by Rollen Holt, 41946 阅读, 收藏, 编辑
摘要: 虽然很早以前就只有Eclipse和IDEA都支持远程调试功能的,但是基本没怎么使用过,今天因为紧急处理一个问题,而本地环境搭建起来比较麻烦,所以就使用了IDEA的远程调试功能。因此写一篇文章记录一下。步骤:1. 首先在IDEA中check出来你要调试的工程的代码,假设工程的名字为A。然后在IDEA... 阅读全文

使用注解属性绑定

2014-04-29 19:28 by Rollen Holt, 4678 阅读, 收藏, 编辑
摘要: 大家应该知道在Spring中有一个注解@Value,他可以帮助我们来讲Spring加载的配置文件(*.perperties)文件中的信息自动的注入到我们的非静态属性中的。一般情况下我们会这样使用:1. 首先在Spring的配置文件中加载属性文件:然后在Java代码中使用@Value注解就可以注入值... 阅读全文

资料推荐--Google Java编码规范

2014-04-26 00:11 by Rollen Holt, 32280 阅读, 收藏, 编辑
摘要: 之前已经推荐过Google的Java编码规范英文版了:http://google-styleguide.googlecode.com/svn/trunk/javaguide.html虽然这篇文章的英文很简单,但是最近发现有人翻译了这篇文章,所以专门写一篇文章推荐一下:http://hawstein.... 阅读全文

Google Guava vs Apache Commons for Argument Validation

2014-04-10 00:07 by Rollen Holt, 5652 阅读, 收藏, 编辑
摘要: It is an established good practice to validate method arguments at the beginning of the method body. For example you could check that the passed value is not negative before doing some calculation:123456public int doSomeCalculation(int value) {if (value = 0, "negative value");More recently 阅读全文

Fluent interface

2014-04-09 23:39 by Rollen Holt, 1069 阅读, 收藏, 编辑
摘要: Insoftware engineering, afluent interface(as first coined byEric EvansandMartin Fowler) is an implementation of anobject orientedAPI that aims to provide for more readable code.A fluent interface is normally implemented by usingmethod cascading(concretelymethod chaining) to relay the instruction con 阅读全文

有关Java的日期处理的一些杂记

2014-03-25 17:01 by Rollen Holt, 1231 阅读, 收藏, 编辑
摘要: 在企业应用开发中,经常会遇到日期的相关处理,说实话JDK自带的日期方法很难用。就我个人而言我一般都会采用joda-time来替代JDK自身的日期。这篇文章是杂记,所以写的比较零散,希望大家不要见怪。SimpleDateFormat先来说说JDK自带的SimpleDateFormat类吧。SimpleDateFormat 是 Java 中一个非常常用的类用来对日期字符串进行解析和格式化输出,但如果使用不小心会导致非常微妙和难以调试的问题,因为 DateFormat 和 SimpleDateFormat 类不都是线程安全的,在多线程环境下调用 format() 和 parse() 方法应该使用同步 阅读全文

maven 检查依赖冲突和版本冲突

2014-03-19 21:50 by Rollen Holt, 11648 阅读, 收藏, 编辑
摘要: 在项目发布的时候,一般都需要进行依赖冲突检查或者重复类的检查,这个时候我一般会使用下面的两个命令:mvn -U clean package -Dmaven.test.skip=true enforcer:enforce -DcheckDeployRelease_skip=true -Denforce... 阅读全文

当spring 容器初始化完成后执行某个方法

2014-03-19 21:47 by Rollen Holt, 95476 阅读, 收藏, 编辑
摘要: 在做web项目开发中,尤其是企业级应用开发的时候,往往会在工程启动的时候做许多的前置检查。 比如检查是否使用了我们组禁止使用的Mysql的group_concat函数,如果使用了项目就不能启动,并指出哪个文件的xml文件使用了这个函数。 而在Spring的web项目中,我们可以介入Spring的启动 阅读全文

jackson处理boolean类型的注意点

2014-03-19 21:41 by Rollen Holt, 10018 阅读, 收藏, 编辑
摘要: 在使用jackson处理boolean类型的时候,比如你的java bean有一个boolean类型的字段:isTitle, 默认把这个Java bean转换为json的时候,这个字段就变成了title,因此如果想在转换转换的json中保持原始的字段名称的话,可以在java bean中采用下面的例子进行处理:也就是使用@JsonProperty和@JsonIgnore注解public class User { private int id; @JsonProperty("isMale") private boolean isMale; private String na.. 阅读全文

Google的Java开发规范

2014-01-03 10:27 by Rollen Holt, 2437 阅读, 收藏, 编辑
摘要: 长期以来,Google一直有针对各种语言的规范,例如C++, Python等等。惟独对于Java语言,Google一直没有给出相应的规范(传说中是因为Google Java首席构架师Joshua Bloch写的那本《Effective Java 》本身就足以当作规范了)。不过最近,Google官方的Java语言规范出炉了!地址:http://google-styleguide.googlecode.com/svn/trunk/javaguide.html#s1.1-terminology 阅读全文

ConurrentHashMap和Hashtable的区别

2013-12-03 18:07 by Rollen Holt, 2327 阅读, 收藏, 编辑
摘要: 转自:http://www.importnew.com/7166.html集合类是Java API的核心,但是我觉得要用好它们是一种艺术。我总结了一些个人的经验,譬如使用ArrayList能够提高性能,而不再需要过时的Vector了,等等。JDK 1.5引入了一些好用的并发集合类,它们对于大型的、要求低延迟的电子商务系统来说非常的有用。这篇文章中将会看看ConcurrentHashMap和Hashtable之间的区别。这篇文章是HashMap的工作原理以及HashMap和Hashtable的区别的后续。如果你已经读过的话,那么我相信你读完本篇之后会有所收获。为什么我们需要ConcurrentH 阅读全文

java Annotation 注解

2012-11-29 13:47 by Rollen Holt, 3271 阅读, 收藏, 编辑
摘要: 首先什么是注解? 最常见的是,在我们使用Eclipse等工具编写java代码的时候,有时候会出现一些比如@Deprecated,@Override,@SuppressWarnings等东东。这个就是常见的几种注解。 在开发Java程序,尤其是Java EE应用的时候,总是免不了与各种配置文件打交道。以Java EE中典型的S(pring)S(truts)H(ibernate)架构来说,Spring、Struts和Hibernate这三个框架都有自己的XML格式的配置文件。这些配置文件需要与Java源代码保存同步,否则的话就可能出现错误。而且这些错误有可能到了运行时刻才被发现。把同一份信息保.. 阅读全文

java代理模式与反射机制

2012-11-28 15:53 by Rollen Holt, 8832 阅读, 收藏, 编辑
摘要: 代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。代理模式一般涉及到的角色有: 抽象角色:声明真实对象和代理对象的共同接口; 代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能代替真实对象。同时,代理对象可以在执行真实对象操作时,附加其他的操作,相当于对真实对象进行封装。 真实角色:代理角色所代表的真实对象,是我们最终要引用的对象。一个简单的例子如下:package com.java.proxy;... 阅读全文

java内部类总结

2012-11-27 13:50 by Rollen Holt, 1886 阅读, 收藏, 编辑
摘要: 内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附于外部类而存在的。内部类可为静态,可用protected和private修饰。(而外部类不可以:外部类只能使用public和默认的)。内部类分为:成员内部类、局部内部类、静态内部类、匿名内部类几种内部类的共性:A、内部类仍然是一个独立的类,在编译之后会内部类会被编译成独立的.class文件,但是前面冠以外部类的类命和$符号,比如Outer.class和Outer$Inner.class。B、内部类不能用普通的方式访问。内部类是外部类的一个成员,因此内部类可以自由地访问外部类的成员变量,无论是否是private的。成员 阅读全文

再谈java枚举 ENUM

2012-11-27 11:09 by Rollen Holt, 12401 阅读, 收藏, 编辑
摘要: 没有枚举之前: 在没有枚举之前,我们想列举一些相关的常量,我们会采用如下的方式:interface ActionInterface { public static final int RIGHT = 0; public static final int LEFT = 1;} 然后在某个类似于下面的方法中,使用这些常量: public void playWithInterface(int num) { switch (num) { case ActionInterface.RIGHT: System.out.println("RIGHT"); break; case Acti 阅读全文

java序列化和反序列话总结

2012-11-26 17:40 by Rollen Holt, 16630 阅读, 收藏, 编辑
摘要: 序列化:将java对象转换为字节序列的过程叫做序列化反序列化:将字节对象转换为java对象的过程叫做反序列化通常情况下,序列化有两种用途:、1) 把对象的字节序列永久的保存在硬盘中2)在网络上传输对象的字节序列相应的API java.io.ObjectOutputStream writeObject(Object obj) java.io.ObjectInputStream readObject()只有实现了Serializable或者Externalizable接口的类的对象才能够被序列化。否则当调用writeObject方法的时候会出现IOExcep... 阅读全文

eclipse怎样生成javadoc

2012-11-13 10:46 by Rollen Holt, 21491 阅读, 收藏, 编辑
摘要: 使用eclipse生成文档(javadoc)主要有三种方法: 1,在项目列表中按右键,选择Export(导出),然后在Export(导出)对话框中选择java下的javadoc,提交到下一步。 在Javadoc Generation对话框中有两个地方要注意的: javadoc command:应该选择jdk的bin/javadoc.exe destination:为生成文档的保存路径,可自由选择。 按finish(完成)提交即可开始生成文档。 2,用菜单选择:File->Export(文件->导出), 剩下的步骤和第一种方法是一样的。 3,选中要生成文档的项目,然后用菜单选择, P 阅读全文

java 序列化

2012-11-12 17:17 by Rollen Holt, 1317 阅读, 收藏, 编辑
摘要: 1.java序列化的作用 序列化就是将一个对象的状态(各个属性量)保存起来,然后在适当的时候再获得。 序列化分为两大部分:序列化和反序列化。序列化是这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网络上传输。反序列化就是打开字节流并重构对象。对象序列化不仅要将基本数据类型转换成字节表示,有时还要恢复数据。恢复数据要求有恢复数据的对象实例 序列化的什么特点: 如果某个类能够被序列化,其子类也可以被序列化。声明为static和transient类型的成员数据不能被序列化。因为static代表类的状态, transient代表对象的临时数据。 什么时候使用序列化: 一:对象序... 阅读全文

spring mvc中AbstractWizardFormController

2012-11-07 17:58 by Rollen Holt, 2054 阅读, 收藏, 编辑
摘要: 本来想上传自己写的例子的,但是在网上搜了一下,发现有比自己的例子更好的,所以就直接给出链接吧。参考:http://www.iteedu.com/webtech/j2ee/springdiary/72.phphttp://blog.csdn.net/kypfos/article/details/3061729 阅读全文