JAVA
行者_java
喜欢钻研技术,大数据,智能化,技术改变生活,改变你我
展开
-
为什么抽象类要再次声明接口的方法(不实现)
在代码中时常会见到,一个抽象类实现一个接口,这一段代码的截图是在Junit的源码中截取的.我能想到的解释是:为了转型方便,如果这个方法只在非抽象实现类实现,能调用到这个方法的做法就是:1,接口 obj = new 实现类();2,实现类 obj = new 实现类();如果转型为抽象类的话则不能使用这个方法.如:抽象类 obj = new 实原创 2015-09-09 16:19:18 · 558 阅读 · 0 评论 -
Volatile关键字
Volatile关键字也是多线程编程中经常会用到的关键字.下面详细说说volatile.Volatile只能修饰变量,既可以是静态变量也可以是实例变量.volatile保证每次都从主存强制读取其他线程修改后的最新数据.当读一个volatile变量的时候,会把当前线程的本地内存设为无效,所以要去主存读取变量数据!据我理解,在售票系统中会用到volatile关键字,为什原创 2016-10-21 23:52:45 · 284 阅读 · 0 评论 -
找出参数注解和参数的方案(好用)
有时间写个分析过程!package com.myspring.app.annos;import java.lang.annotation.Annotation;import java.lang.reflect.Method;import java.util.ArrayList;import java.util.List;imp原创 2016-10-21 23:50:23 · 406 阅读 · 0 评论 -
Method.getParameterAnnotations()研究
在Java的反射中,通常需要获取方法参数上的注解,那么:1,先拿到对象的Class对象.2,然后找到某个方法的反射对象Method3,然后再用Method的获取参数注解.Annotation[][] annos = method.getParameterAnnotations();得到的结果是一个二维数组.那么这个二维数组是怎么排列组合的呢?首先举个例子原创 2016-10-21 23:49:17 · 11237 阅读 · 2 评论 -
如何反射获得父类的泛型类型
此段代码的出处是Mybatis或者是Ibatis的BaseDao对象,以对象的全限定名作为sqlMapper的命名空间名称.解析:1,Class的父类是Type; 2,将Type转换为ParameterizedType; 3,有三个方法:package com.zoo.thread;import java.原创 2016-10-21 23:48:16 · 687 阅读 · 0 评论 -
如何获得当前类的字段,方法参数泛型的类型
package com.zoo.thread;import java.lang.reflect.Field;import java.lang.reflect.Method;import java.lang.reflect.ParameterizedType;import java.lang.reflect.Type;import java.util.Date;imp原创 2016-10-21 23:47:16 · 3820 阅读 · 0 评论 -
为什么Arrays.asList(T...t)不能add和remove?
平常使用的时候,会将数组转换成列表进行处理。但经过这种方式处理以后,却不能再添加和删除元素,意思就是说不能修改,生成的结果很固定,也很稳定!为什么?List list = Arrays.asList;这个方法返回的对象是java.util.Arrays.ArrayList,而不是java.util.ArrayList.这两个ArrayList有什么区别吗?原创 2016-10-21 23:43:18 · 658 阅读 · 0 评论 -
接口与抽象类
首先,复习下类的初始化过程:1,先初始化父类的静态成员变量和静态代码块.(按声明的顺序初始化).2,然后初始化父类的非静态成员变量和非静态代码块(按声明顺序初始化).3,然后是父类的构造方法,关键是看子类调用的父类哪个构造方法(默认是无参构造方法).4,然后是子类的静态成员和静态代码块.5,然后初始化子类的非静态成员和非静态代码块.6,然后是子类的构造方法.注意原创 2016-10-21 23:40:43 · 269 阅读 · 0 评论 -
Log4J layout conversion pattern说明
出处:org.apache.log4j.PatternLayout PatternLayout也是一个简单的布局对象,它提供下列Bean属性,可以通过配置文件进行设置:S.N.属性和说明1conversionPattern设置转换模式。默认为 %r [%t] %p %c %x - %m%n模式转换字符:下表说明了以上模式使用的字符和原创 2016-10-21 23:31:19 · 1972 阅读 · 0 评论 -
java类加载器
类加载器的层级关系及作用范围:BootStrap (JRE/lib/rt.jar)这有这个是c++,其他是java类 |ExtClassLoader (JRE/lib/ext/*.jar) |AppClassLoader (CLASSPATH指定的所有的jar或目录)类加载器的委托机制1,由App交给Ext,Ext再交给原创 2016-10-21 23:29:51 · 359 阅读 · 0 评论 -
Log4j2+spring+maven配置首例
Log4j2重构了原来的架构,使用的方式也和之前有差别.我在网上看了一些例子,也结合自己的操作,总结如下:1,在项目pom.xml下,配置 org.apache.logging.log4j log4j-api 2.0.2 org.apache.logging.log4j lo原创 2016-10-21 23:28:40 · 7130 阅读 · 1 评论 -
Tomcat容器启动时,报java.io.EOFException异常
EOFException表示输入过程中意外地到达文件尾或流尾的信号,导致从session中获取数据失败。tomcat的session持久化机制引起的,tomat这个功能本身的用意在于重启tomcat之后保持之前的session。但是tomcat非正常关闭后,tomcat尝试恢复session时读取失败,就抛出这个错误。,由于tomcat上次非正常关闭时有一些活动session被持久化(表现为一些临原创 2016-10-21 23:21:49 · 4192 阅读 · 0 评论 -
在表单中动态生成n多的商品属性,然后一起提交,想在商品对象中定义一个属性数组来接收属性,怎么办?
JAVA:如果不加index下标来指定,我在goodsAttributeForm中拿到的是Null对象,我换成ArrayList也是一样得到的是Null对象.原创 2016-10-21 23:20:19 · 791 阅读 · 0 评论 -
spring aop拦截Controller做参数校验
在项目中,我们会对入参做校验,这些参数的校验逻辑我们会写很多次.能不能将这些参数的校验逻辑提出来呢?答案是可以.Spring 有自己的validate工具方法,我个人感觉不是太好远,想自己定制更加契合自己项目的校验机制.经过哆哆嗦嗦的研究,有点结果,现在贴出来,大家一起看看! 我曾经写过一个工具类,就是会在Service层的方法上加上自定义的注解,利用Spring aop拦截标注注原创 2016-12-28 16:05:30 · 18513 阅读 · 3 评论