
Java技术
william_yao
In case i dont see you good afternoon good evening and good night.
展开
-
Druid连接池简单入门配置
偶尔的机会解释Druid连接池,后起之秀,但是评价不错,另外由于是阿里淘宝使用过的所以还是蛮看好的。Druid集连接池,监控于一体整好复合当前项目的需要,项目是ssh结构,之前是用C3p0的,现在换一个连接池也是很简单的,首先spring配置DataSource,配置如下:[html] view plain copybea转载 2016-03-14 10:48:14 · 842 阅读 · 0 评论 -
深入理解Java:内省(Introspector)
一些概念: 内省(Introspector) 是Java 语言对 JavaBean 类属性、事件的一种缺省处理方法。 JavaBean是一种特殊的类,主要用于传递数据信息,这种类中的方法主要用于访问私有的字段,且方法名符合某种命名规则。如果在两个模块之间传递信息,可以将信息封装进JavaBean中,这种对象称为“值对象”(Value Object),或“VO”。方转载 2014-02-26 10:56:07 · 818 阅读 · 0 评论 -
spring相关JUnit4注解
@ContextConfiguration用来指定加载的Spring配置文件的位置,会加载默认配置文件例如下例会加载:classpath:/com/example/MyTest-context.xml文件package com.example; @ContextConfigurationpublic class MyTest {// class body...}转载 2014-02-25 13:47:47 · 1370 阅读 · 0 评论 -
Cron表达式
CronTrigger配置格式:格式: [秒] [分] [小时] [日] [月] [周] [年]配置语法序号项是否必填允许填写的值允许的通配符1秒是0-59, - * /2分是0-59, - * /转载 2014-02-24 17:59:23 · 1222 阅读 · 1 评论 -
SpringSide代码规范
SpringSide代码规范前言 本文档反映的是SpringSide 团队的编码规范,同时推荐所有使用SpringSide框架的开发人员遵循。 本文档基本遵循Sun's Coding Conventions,补充了其中没有说明或者有所改动的地方。版权声明 本规范由springside团队维护,相关评论与意见请发至springside@gmail.com,转载转载 2014-02-09 15:46:17 · 1076 阅读 · 0 评论 -
修改maven3项目的默认的编译级别(compile level)
听闻maven的鼎鼎大名打算在最近的一个项目中试下爽,结果遇到了这个问题,虽对项目影响不大,但做技术刨根问题是必须的了,少废话。1.cmd命令建立web项目:mvn archetype:generate -DgroupId=biz.yunduo -DartifactId=dts -DpackageName=dts -DarchetypeArtifactId=maven-archetype-转载 2014-01-26 16:31:36 · 3525 阅读 · 0 评论 -
SpringSide 3 中的安全框架(spring security)-这是我看过对springsecurity分析的最好的 最清晰的文章
在SpringSide 3的官方文档中,说安全框架使用的是Spring Security 2.0。乍一看,吓了我一跳,以为Acegi这么快就被淘汰了呢。上搜索引擎一搜,发现原来Spring Security 2.0就是Acegi 2.0。悬着的心放下来了。虽然SpringSide 3中关于Acegi的配置文件看起来很不熟悉,但是读了Acegi 2.0的官方文档后,一切都释然了。先来谈一谈A转载 2014-01-16 21:47:00 · 2131 阅读 · 0 评论 -
JAVA 线程中的异常捕获
在java多线程程序中,所有线程都不允许抛出未捕获的checked exception(比如sleep时的InterruptedException),也就是说各个线程需要自己把自己的checked exception处理掉。这一点是通过java.lang.Runnable.run()方法声明(因为此方法声明上没有throw exception部分)进行了约束。但是线程依然有可能抛出unchec转载 2014-01-23 22:52:01 · 811 阅读 · 0 评论 -
有效处理Java异常三原则
Java中异常提供了一种识别及响应错误情况的一致性机制,有效地异常处理能使程序更加健壮、易于调试。异常之所以是一种强大的调试手段,在于其回答了以下三个问题:什么出了错?在哪出的错?为什么出错?在有效使用异常的情况下,异常类型回答了“什么”被抛出,异常堆栈跟踪回答了“在哪“抛出,异常信息回答了“为什么“会抛出,如果你的异常没有回答以上全部问题,那么可能你没有很好地使用它们转载 2014-01-23 10:33:50 · 1381 阅读 · 0 评论 -
为什么匿名内部类和局部内部类只能访问final变量
当一个方法中的匿名类或者局部内部类需要访问方法区域中的变量时,该变量参数必须定义为fina。追究根本原因其实就是作用域中变量的生命周期导致的。首先,内部类和外部类其实是处于同一个级别,内部类不会因为定义在方法中就会随着方法的执行完毕而跟随者被销毁。问题就来了,如果外部类的方法中的变量不定义final,那么当外部类方法执行完毕的时候,这个局部变量肯定也就被GC了,然而内部类的某个方法转载 2013-12-26 10:03:38 · 694 阅读 · 0 评论 -
如何一次性删除List里的所有元素?
一次性删除List里的所有元素?不仅听起来简单(只是有个在删除元素时元素下标动态变化的问题在里面,有点苦恼),而且做起来其实也简单(大话了,只是到了后面解决了后才觉得简单的),得益于一同行问的“js中删除元素时下标从1变为0”的问题。 出现问题的代码是这样的(他的是javascript代码,我用java的List模拟): List list = new ArrayList(转载 2013-12-25 18:13:10 · 2211 阅读 · 0 评论 -
Java反射与内省(Introspector)
一、java反射机制 JAVA反射机制是在运行状态中,对于任意一个类,都能够得到这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 用一句比较白的话来概括,反射就是让你可以通过名称来得到对象 ( 类,属性,方法 ) 的技术。例如我们可以通过类名来生成一个类的实例;知道了方法名,转载 2014-02-26 10:57:06 · 890 阅读 · 0 评论 -
spring中的定时任务-@scheduled
spring中内置了一种定时任务的实现方式,简单到了极点。只需在xml中配置 当然,还要加入namespacexmlns:task="http://www.springframework.org/schema/task"http://www.springframework.org/schema/task http://www.sprin原创 2014-02-17 16:45:47 · 1500 阅读 · 0 评论 -
java中不带package和带package的编译运行方式
java中不带package的程序和带package的程序编译的方式是不同的。一、不带package的程序建立个HelloWorld.java的文件,放入C:\,内容如下:public class HelloWorld{ public static void main(String args[]) //向屏幕上写字符串"HelloWorld!" {转载 2014-03-13 19:47:29 · 1853 阅读 · 0 评论 -
比较器报错:Comparison method violates its general contract
Brother Zeng遇到的错误:java.lang.IllegalArgumentException: Comparison method violates its general contract!网上查到一个解释:Description: The sorting algorithm used by java.util.Arrays.sort and (indirec原创 2015-07-07 11:46:13 · 1295 阅读 · 0 评论 -
实例讲解 SQL 注入攻击
本文由 伯乐在线 - zer0Black 翻译,蒋生武 校稿。未经许可,禁止转载!英文出处:Steve Friedl。欢迎加入翻译小组。一位客户让我们针对只有他们企业员工和顾客能使用的企业内网进行渗透测试。这是安全评估的一个部分,所以尽管我们之前没有使用过SQL注入来渗透网络,但对其概念也相当熟悉了。最后我们在这项任务中大获成功,现在来回顾一下这个过程的每一步,将它记录为一个案例。转载 2015-01-14 17:35:07 · 1828 阅读 · 0 评论 -
ReflectionToStringBuilder的使用分析与优化
前因:Object 类 手写toString 方法 太繁琐, 修改太麻烦后果:利用 Apache Commons lang 自动化实现 toString优势:①代码简洁 , 无须任何配置 ② Model 属性变化 , 无需修改 toString缺陷:安全性问题 , 反射私有属性值也会暴露 .改进:利用ToStringBuilder弥补(通过 Reflec转载 2015-01-14 16:52:30 · 4714 阅读 · 0 评论 -
MaNGOS大芒果服务端源码研究(一)——环境安装与源码下载
此文章是我自己的学历历程记录,教学味道不强。我学到哪记到哪,是为了我自己的下次学习能够很快找到上次的点。MaNGOS的一些介绍就不多说了,可以自行百度。其实就是一个大型的通用服务端,可以支持多种客户端接入。但其实我自己也还有些不懂,怎么实现的通用。一个模块针对的是魔兽世界的模块,如果用其他客户端接入,这样可以用么?有待继续研究。一开始可以先上大芒果中国论坛,去把单机版的原创 2015-02-02 14:42:20 · 11420 阅读 · 0 评论 -
细节见真功之 Javadoc
作为一个 Java 程序员,Javadoc 大家都应该写过吧,是不是觉得写的时候特简单呢?相信看完本文后你会若有所思。另外,本文非常适合处女座程序员阅读。句号为什么是句号而不是其他的标点符号呢?因为这涉及到一个 JDK 文档生成的规则:The first sentence of each doc comment should be a summary sentence, c转载 2014-08-18 12:35:41 · 1124 阅读 · 0 评论 -
使用POI读写Excel文件
package com.jadyer.demo; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.open转载 2014-05-23 16:43:09 · 848 阅读 · 0 评论 -
Spring2.5+JUnit4单元测试
要求: JDK1.5以上(因为Junit4是用注解来实现的) 需要的包 spring-2.5.jar junit-4.4.jar spring-test.jar 测试类 package user;import static org.junit.Asser转载 2014-05-21 17:42:17 · 905 阅读 · 0 评论 -
java内存分配
一、引题 在java语言的所有数据类型中,String类型是比较特殊的一种类型,同时也是面试的时候经常被问到的一个知识点,本文结合java内存分配深度分析关于String的许多令人迷惑的问题。下面是本文将要涉及到的一些问题,如果读者对这些问题都了如指掌,则可忽略此文。 1、java内存具体指哪块内存?这块内存区域为什么要进行划分?是如何划分的?划分之后每块区域的作用是什转载 2014-04-04 17:22:43 · 794 阅读 · 0 评论 -
本周算法:图的拓扑排序
本文由 ImportNew - 陈 秋林 翻译自 dzone。欢迎加入Java小组。转载请参见文章末尾的要求。介绍假设我们有一组任务要完成,并且有些任务要在其它任务完成之后才能开始,所以我们必须非常小心这些任务的执行顺序。如果这些任务的执行顺序足够简单的话,我们可以用链表来存储它们,这是一个很好的方案,让我们可以准确知道任务的执行顺序。问题是有时候不同任务之间的关系是非转载 2014-04-15 11:19:27 · 982 阅读 · 0 评论 -
深入理解Java:SimpleDateFormat安全的时间格式化
想必大家对SimpleDateFormat并不陌生。SimpleDateFormat 是 Java 中一个非常常用的类,该类用来对日期字符串进行解析和格式化输出,但如果使用不小心会导致非常微妙和难以调试的问题,因为 DateFormat 和 SimpleDateFormat 类不都是线程安全的,在多线程环境下调用 format() 和 parse() 方法应该使用同步代码来避免问题。下面我们通过一转载 2014-03-17 17:48:28 · 700 阅读 · 0 评论 -
关于 java.util.concurrent 您不知道的 5 件事,第 1 部分
通过并发 Collections 进行多线程编程Ted Neward, 总裁,ThoughtWorks, ThoughtWorks简介: 编写能够良好执行,防止应用程序受损的多线程代码是很艰巨的任务 — 这也是为什么我们需要 java.util.concurrent 的原因。Ted Neward 会向您说明并发 Collections 类,比如CopyOnWri转载 2013-12-24 14:23:26 · 828 阅读 · 0 评论 -
Java 日志管理最佳实践
Java 日志管理最佳实践日志记录是应用程序运行中必不可少的一部分。具有良好格式和完备信息的日志记录可以在程序出现问题时帮助开发人员迅速地定位错误的根源。对于开发人员来说,在程序中使用日志API记录日志并不复杂,不过遵循一些最佳实践可以更好的利用日志。本文介绍了在Java程序中记录日志的最佳实践,同时也介绍了如何使用开源软件对日志进行聚合和分析。0 评论:转载 2014-01-07 20:13:08 · 1281 阅读 · 0 评论 -
Java Calendar 类的时间操作
Java Calendar 类时间操作,代码很简单。演示了获取时间,日期时间的累加和累减。 [java] view plaincopypackage MyTest; /* * 演示 Calendar 的一般操作 */ import java.text.SimpleDateFormat; impor转载 2013-12-21 18:07:09 · 1111 阅读 · 0 评论 -
Java网络编程中的一些异常Java.net
第1个异常是java.net.BindException:Address already in use: JVM_Bind。该异常发生在服务器端进行new ServerSocket(port)(port是一个0,65536的整型值)操作时。异常的原因是以为与port一样的一个端口已经被启动,并进行监听。此时用netstat –an命令,可以看到一个Listending状态的端口。只需要找一个没有被转载 2013-09-06 09:02:44 · 930 阅读 · 0 评论 -
Java运行内存分析
Java的内存分配 Java程序运行时的内存结构分成:方法区、栈内存、堆内存、本地方法栈几种。 方法区 存放装载的类数据信息,包括:基本信息:每个类的全限定名、每个类的直接超类的全限定名、该类是类还是接口、该类型的访问修饰符、直接超接口的全限定名的有序列表。每个已装载类的详细信息:运行时常量池、字段信息、方法信息、静态变量、到类classloader的引用、到类class的引用。原创 2013-08-30 11:46:29 · 1206 阅读 · 0 评论 -
Spring2.5.6整合hibernate3遇到的异常3
最近做ssh的整合,第一次整合,不出意外的碰到了很多问题。碰到了很多异常,为了以后查找方便,还有其他朋友碰到时查找的方便,我直接把异常复制。然后解决方法也写在下面。关键异常描述,用红色加粗表示。其他的基本不用看。org.hibernate.exception.GenericJDBCException: Cannot open connection原创 2013-06-18 20:49:02 · 1545 阅读 · 0 评论 -
Spring2.5.6整合hibernate3遇到的异常1
最近做ssh的整合,第一次整合,不出意外的碰到了很多问题。碰到了很多异常,为了以后查找方便,还有其他朋友碰到时查找的方便,我直接把异常复制。然后解决方法也写在下面。关键异常描述,用红色加粗表示。其他的基本不用看。org.springframework.beans.factory.BeanCreationException: Error creating bean wit原创 2013-06-18 20:19:33 · 1353 阅读 · 0 评论 -
Spring2.5.6整合hibernate3遇到的异常2
最近做ssh的整合,第一次整合,不出意外的碰到了很多问题。碰到了很多异常,为了以后查找方便,还有其他朋友碰到时查找的方便,我直接把异常复制。然后解决方法也写在下面。关键异常描述,用红色加粗表示。其他的基本不用看。org.springframework.beans.factory.BeanCreationException: Error creatin原创 2013-06-18 20:35:58 · 1140 阅读 · 0 评论 -
深入Java单例模式----绝对最深入
前言:这是关于单例,我看过的,真的写的最好的一篇博文。非常的详尽,并且有浅及深。只不过,我只能看懂到编译原理之前了,到编译原理之后的那几段代码,实在是没法消化。在GoF的23种设计模式中,单例模式是比较简单的一种。然而,有时候越是简单的东西越容易出现问题。下面就单例设计模式详细的探讨一下。 所谓单例模式,简单来说,就是在整个应用中保证只有一个类的实例存在。就像是转载 2013-05-27 15:53:02 · 934 阅读 · 0 评论 -
hibernate异常:Error applying BeanValidation relational constraints
java.lang.ExceptionInInitializerErrorat com.ssh.utils.HibernateUtilsTest.test(HibernateUtilsTest.java:11)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethod原创 2013-05-18 14:47:49 · 1576 阅读 · 0 评论 -
JAVA中修饰符
1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用 2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。 3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他原创 2013-01-29 14:01:28 · 545 阅读 · 0 评论 -
Struts1jar包问题 DispatchAction类
今天学习struts1的时候,用struts2的方法,直接解压APPS里面的blank.war,然后把lib下的jar包全部拷过来。但是出现了问题:我想使用DispatchAction来分发到方法,但是在继承时没有DispatchAction这个类。检查发现,是struts-extras-1.3.10.jar这个包没有拷入导致的,但是blank没有这个包。原创 2013-01-25 18:50:20 · 2209 阅读 · 2 评论 -
Integer与int解惑
jdk1.5引入了自动装箱(autoboxing)与自动拆箱(unboxing),这方便了集合类以及一些方法的调用,同时也使初学者对其感到非常之困惑。在此,我们来揭开其神秘的面纱。首先,需要厘清一些概念:1、Integer是一个类,用Integer声明一个变量其是一个对象类型(或者说引用类型);int是基本类型,用int声明的变量是非对象类型,即不能在其上调用方法。2、“==”作用转载 2013-09-13 17:01:47 · 1545 阅读 · 0 评论 -
Java中的抽象类和接口
首先,我们来看一下抽象类的概念,java编程思想中说“万物皆对象”,我们知道所有的对象都是通过类来描绘的,但是反过来却不是这样。并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类是表征我们对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。好比,我们都知道三角形是一个形状,世界上有三角形这样具原创 2013-09-30 10:03:35 · 901 阅读 · 0 评论 -
LRU缓存介绍与实现 (Java)
引子:我们平时总会有一个电话本记录所有朋友的电话,但是,如果有朋友经常联系,那些朋友的电话号码不用翻电话本我们也能记住,但是,如果长时间没有联系了,要再次联系那位朋友的时候,我们又不得不求助电话本,但是,通过电话本查找还是很费时间的。但是,我们大脑能够记住的东西是一定的,我们只能记住自己最熟悉的,而长时间不熟悉的自然就忘记了。其实,计算机也用到了同样的一个概念,我们用缓存来存放以前转载 2013-12-19 20:35:14 · 985 阅读 · 0 评论 -
Java动态给类中配置常量赋值的三种方法
public class Configuration { public static final String CONFIG = "你想要指定的一些配置项"; }当我们需要给Configuration类中的CONFIG常量第一次使用时动态指定一个值时,而此时我们又不想去修改源代码,那我们有三种方法去实现这种需求。第一种:使用一个static静态代码块来指定原创 2013-12-16 18:24:10 · 12455 阅读 · 1 评论