它的原理就是配置一些常用代码字母缩写,再输入简写时可以出现你预定义的固定模式代码,使得开发效率大大提高同时也可以增加个性化,最简单的例子就是java中输入sout,会出现Sy...
CGLib动态代理和JDK动态代理总结 动态代理与静态代理相比较,最大的好处是接口中声明的所有方法都被转移到调用处理器一个集中的方法中处理,解耦和易维护 两种动态代理的区别:...
什么是动态代理 在程序运行时,运用反射机制动态创建而成,无需手动编写代码CgLib动态代理的原理是对指定的业务类生成一个子类,并覆盖其中的业务方法来实现代理 1.创建支付(父...
1.HashSet 基本用法 HashSet 基本操作方法有:add(添加)、remove(删除)、contains(判断某个元素是否存在)和 size(集合数量)。这些方法...
JDK 8 之后的开发环境,推荐使用 Stream 的遍历方式,因为它足够简洁;而如果在遍历的过程中需要动态的删除元素,那么推荐使用迭代器的遍历方式;如果在遍历的时候,...
1、main方法:psvm 或者 main (模板自己可以设置) 2、输入语句:sout 3、复制一行:ctrl + d 4、删除一行:ctrl + y 5、代码向上/下移动...
什么是动态代理 在程序运行时,运用反射机制动态创建而成,无需手动编写代码JDK动态代理与静态代理一样,目标类需要实现一个代理接口,再通过代理对象调用目标方法 1.创建支付(父...
什么是静态代理 由程序创建或特定工具自动生成源代码,在程序运行前,代理类的.class文件就已经存在 通过将目标类与代理类实现同一个接口,让代理类持有真实类对象,然后在代理类...
SpringBoot2.X启动方式讲解和部署 简介:讲解SpringBoot2.X启动方式 IDEA开发中启动 本地开发中常用 外置Tomcat中启动 接近淘汰 tomc...
实现多线程的时候: * 1:需要继承Thread类 * 2:必须要重新run方法,指的是核心执行的逻辑 * 3:线程启动的时候不要直接调用run()方法,是要通过start(...
Writer: 最保险的方式,在输出流关闭之前每次都flush一下,然后在关闭 字符流可以直接读取中文汉字,字节流在处理的时候会出现中文乱码 什么时候需要加flu...
1.set 中存放的是无序,唯一的数据2.set不可以通过下标获取对应位置的元素的值,因为无序的特点3.使用treeset底层实现是treemap,利用红黑数实现4.设置元素...
1.Vector也是List接口的一个子类实现2.Vector跟ArryList一样,底层都是使用数组进行实现3.面试经常问区别: (1)ArryList是线程不安全的...
java集合框架: Collection:存放的是单一值 特点: 1、可以存放不同类型的数据,而数组只能存放固定类型的数据 ...
可变字符串: StringBuffer:线程安全,效率低 StringBuilder:线程不安全,效率高