
JAVA SE
文章平均质量分 84
低调才是最华丽的炫耀
有人总是喊着要岁月静好,但真实世界毕竟江河奔流
展开
-
java注解
注解是什么注解可以类比于生活中的标签,可以准确表示事物的特性。在java和class,interface一样也是一种类型。注解的定义public @interface Code {}上面的代码创建一个名为code的注解,显而易见,与接口相比就多了个@符号,也就是可以理解为我们创建了一个名为code的标签。注解的应用@Codepublic class Test {原创 2018-02-04 00:07:20 · 335 阅读 · 0 评论 -
java基础——集合全解析
一、简介java集合总体分为Iterator和Map两大系列,其中常用的是Iterator下Collection(List、Set、Queue)和Map中的几个。List代表有序重复的集合,Set代表无序不重复的结合,queue代表队列集合,map代表键值对关系的集合。集合汇总关系参照下图: ...原创 2019-02-14 23:50:30 · 181 阅读 · 0 评论 -
java基础序列化、反序列化和transient的作用
一、概念为什么会有序列化?平时我们所说的java内存中的对象是无法进行网络通信和IO操作的,对象将以序列化的存储状态(表现形式)被它们所识别。序列化:将一个对象转换成一串二进制表示的字节数组,通过保存或转移这些字节数组达到持久化的目的。反序列化:将字节数组重组成对象。二、实现序列化只需要实现java.io.Serializable接口就可以了。序列化的时候有一个serialVersionUID参数...原创 2018-06-06 12:00:33 · 363 阅读 · 0 评论 -
java基础之final&static详谈
一、final的作用被final修饰的类不可以被继承。被final修饰的方法不可以被重写。被final修饰的变量的引用不可变,内容可变。二、static的作用(一)静态资源 被static修饰的变量为类变量(静态变量),通过类.变量名引用,不用new出一个类的对象。 被static修饰的方法为类方法(静态方法),通过类.方法名引用,不用new出一个类的对象。 类变量和类变量统称为静态资...原创 2018-06-06 11:10:08 · 160 阅读 · 0 评论 -
java基础之内部类
一、内部类基础广发意义上来讲分为:成员内部类、局部内部类、匿名内部类、静态内部类。1、成员内部类成员内部类可以无条件的访问外部类的成员属性和方法。包括private成员和static成员。需要特别说明的当内部类的成员和外部内的成员同名时会发生隐蔽,访问外部类同名成员的方法:外部类.this.外部成员(变量或方法)。外部类访问内部类的成员必须先创建一个内部类的对象。/** * 内部类 * *...原创 2018-06-05 10:52:01 · 126 阅读 · 0 评论 -
java8-Optional相关操作
Optional的定义用来存储对象并解决NPE的包装类。属性private final T value;Optional 对象中包装着一个泛型方法的对象, 当我们在包装类中存放着对应的方法的时候, 我们可以检验这个值是否存在,并且在适当的时候取出这个值来。产生对象的两种方法public static <T> Optional<T> of(T value);public s...原创 2018-03-13 22:30:07 · 243 阅读 · 0 评论 -
java动态代理
静态代理静态代理是在编译时就将接口、实现类、代理类一股脑儿全部手动完成。静态代理的实现步骤一:创建公共接口(通用)/** * 顾客通用行为接口 * * @author wangmaoyu * @create 2018-02-24 23:48 **/public interface ICustomer { /** * 吃 * @param s */...原创 2018-02-25 16:44:39 · 173 阅读 · 0 评论 -
java常用函数式接口
四大函数式接口代码:/** * 函数式接口测试 * * @author wangmaoyu * @create 2018-03-09 上午12:44 **/public class TestFunction { /** * 消费型接口,接受一个参数无返回值 */ public static void testCommon1(){ ...原创 2018-03-11 16:27:33 · 359 阅读 · 0 评论 -
java8-Stream流
概述 Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作(aggregate operation),或者大批量数据操作 (bulk data operation)。Stream API 借助于同样新出现的 Lambda 表达式,极大的提高编程效率和程序可读性。同时它提供串行和并行两种模式进行汇聚操作,并发模式能...原创 2018-03-15 00:37:00 · 513 阅读 · 0 评论 -
java8-lambda表达式和方法引用
lambda表达式一:定义可以理解为匿名函数:没有名称,但有参数列表,函数主体,返回类型甚至可抛出的异常列表。语法:(argument) -> (body) 实例:lambda表达式通常用于函数式接口中。函数式接口语言设计者投入了大量精力来思考如何使现有的函数友好地支持lambda。最终采取的方法是:增加函数式接口的概念。函数式接口就是一个具有一个方法的普通接口。像这样的接口,可以被隐式转换...原创 2018-02-27 23:48:36 · 1187 阅读 · 1 评论 -
CGLIB代理
CGLIBCGLIB是一个功能强大,高性能的代码生成包。它为没有实现接口的类提供代理,为JDK的动态代理提供了很好的补充。原理CGLIB原理:动态生成一个要代理类的子类,子类重写要代理的类的所有不是final的方法。在子类中采用方法拦截的技术拦截所有父类方法的调用,顺势织入横切逻辑。它比使用java反射的JDK动态代理要快。CGLIB底层:使用字节码处理框架ASM,来转换字节码并生成新的类。不鼓励...原创 2018-02-26 00:53:15 · 298 阅读 · 0 评论 -
java反射
反射定义官方解释:反射通常用来检测和改变java在虚拟机中的表现。通俗来讲反射就是通过非常规手段在程序运行时修改程序的行为。反射入口Class反射其实就是为一个类提供通用说明书Class,注意的是 Class 是首字母大写,不同于 class 小写,class 是定义类的关键字,而 Class 的本质也是一个类,因为在 Java 中一切都是对象。把 Java 虚拟机类似于高速公路,那么 Class...原创 2018-02-10 00:33:52 · 165 阅读 · 0 评论 -
单例模式及其应用
概念终极奥义:该类负责创建自己的对象,同时确保只有单个对象被创建。特点:单例类只能有一个实例。 单例类必须自己创建自己的唯一实例。 单例类必须给所有其他对象提供这一实例。优缺点和应用场景优点:避免频繁对象的创建和销毁,减少内存开销。 避免对资源的多重占用(比如写文件操作)。缺点:没有接口,不能继承,与单一职责原则冲突。应用场景:创建的一个对象需要消耗的资源过...原创 2019-03-22 00:12:08 · 194 阅读 · 0 评论