
java
文章平均质量分 55
我叫睿
这个作者很懒,什么都没留下…
展开
-
java动态代理模式Proxy之JDK动态代理机制
JDK动态代理是利用接口,在JVM运行阶段动态生成Class,没错,它是在运行阶段生成的,是和字节码相关的一种操作。 JDK动态代理可以提供对代理对象的访问,可以在对象接口方法的前后处理一些逻辑,使被代理的对象的关注于自身的功能逻辑。JDK动态代理会实现它所表示的实际对象的接口,因此实现接口是最基本的需要。代理对象隐藏了实际对象,因此用户不知道是同代理做交互还是同对象本身做交互。 JDK原创 2016-09-12 22:09:19 · 378 阅读 · 0 评论 -
java动态代理模式之Cglib动态代理机制
JDK动态代理是基于接口的,代理类必须实现相同的接口,然而这么做有时候感觉有点不爽啊,要改来改去,总归有点不方便。那么,有没有不需要实现相同接口就能实现动态代理的东西呢。Java作为一种字节码的解释性语言,怎么可能没有这玩意。没错,文章标题的Cglib动态代理就实现了这种功能,当然了,这玩意一样是基于jvm的,在运行期弄的。没办法,java在编译期就想弄出来,着实有点搞不过来。 首先,不着急,写个原创 2016-09-13 23:34:48 · 307 阅读 · 0 评论 -
java8新特性简略介绍
lambda表达式—-java8最大的亮点,使得java提供了对函数式编程的支持 方法引用—–简化了方法调用 可重复注解——转化成注解值数组,使得注解更加好用。 更好的类型推测机制—–泛型等不确定类型能更好地推测出来 扩展注解的支持—–java8现在能几乎为任何类型添加注解 反射的部分增强—–能获取的基础信息更多 Java8增加的类库Optional,Stream,Date/Time,j原创 2016-11-30 23:55:07 · 246 阅读 · 0 评论 -
函数式接口之function包下的接口
函数式接口提供的接口其实只是常用的一些接口,并没有什么特别的地方,可能只是觉得很多人会使用才添加进去的,方便程序员,不用自己建造,或许也可能是为了建个规范吧。Function接口: R apply(T t) – 将Function对象应用到输入的参数上,然后返回计算结果。就是一个函数参数的接口。使用示例: public static void main(String[] args) {原创 2016-11-30 23:58:16 · 421 阅读 · 0 评论 -
lambda表达式
java 8 提供了函数式编程,使得代码变得更加优雅,更加简洁。 首先,lambda表达式只能提供对一个方法的接口的编程,当然了,不算默认方法和静态方法。 如: public static void main(String[] args) { Comparator<Integer> comparator = (a,b)->a-b; }如果实现的代码很多,可以使用花括号括起原创 2016-11-30 23:59:21 · 265 阅读 · 0 评论 -
java8之方法引用
方法引用是与函数式接口配套使用的,其标志符号为双冒号:: 方法引用是一种很有用的语法,可以直接引用已有类或对象的方法或构造器。与lambda配合使用,可以使语言的构造更紧凑简洁,减少冗余代码。 (1)构造方法引用:public class Test1 { public static void main(String[] args) { Supplier<Test1原创 2016-12-01 00:01:56 · 763 阅读 · 0 评论 -
jdk8之Stream
Stream API简化了集合框架的处理,里面提供了多种对集合操作的方法,结合lambda表达式,能方便快捷的对集合进行操纵。 如: public static void main(String[] args) { System.out.println(Arrays.asList(1,2,3,4).stream().filter(a->a!=2).mapToDouble(a-原创 2016-12-01 15:25:37 · 1217 阅读 · 0 评论