java
jjava常用知识汇总
Sean_徐
不忘初心
展开
-
面试官:用最简单的方法给我讲讲什么是静态代理,动态代理
小时候很喜欢看小故事大道理,用通俗易懂的小故事去解释抽象难懂的大道理,并受到启发,了解真谛。今天我们就来试着讲一讲 代理。故事前情提要:老师布置了一道作业,要求同学们做完了交给他。静态代理首先,我们先创建一个学生接口,同学们都需要写完交作业public interface Student { void handWork();}实现类表示作业写完了要交作业了publi...原创 2020-05-08 14:54:07 · 536 阅读 · 2 评论 -
编码规范
官方商城编码规范版本:1.0目的本规范的目的是通过建立编码规范统一每个开发人员的编码习惯,提高程序的可靠性、可读性、可修改性、可维护性及一致性,增加团队合作开发效率,为各项目组之间或项目组内成员之间的技术交流提供一个方便统一的方式。范围本规范适用于公司内所有运用JAVA技术的软件项目、产品等的设计、开发以及维护、升级等。本规范适用于公司所有JAVA软件开发人员。本规范建议的开发环境与...原创 2019-09-04 09:11:22 · 778 阅读 · 0 评论 -
看完这篇,包你了解CGLIB动态代理
JDK动态代理必须提供接口才能使用,在一些不能提供接口的环境中,只能采用其他第三方技术,比如CGLIB动态代理。它的优势在于不需要提供接口,只要一个非抽象类就能是新动态代理。我们写一个类 Reflectpublic class Reflect { public void sayHello() { System.out.println("Hello World");...原创 2020-04-09 18:16:06 · 175 阅读 · 0 评论 -
看完这篇,包你了解JDK动态代理
JDK动态代理是 java.lang.reflect.*包提供的方式,它必须借助一个接口才能产生代理对象,所以先定义接口。public interface HelloService { void sayHello();}提供它的实现类,大声喊出“Hello World”public class HelloServiceImpl implements HelloService {...原创 2020-04-09 15:31:38 · 194 阅读 · 0 评论 -
JVM垃圾回收及双亲委派原则
文章目录类的加载过程垃圾回收判断对象是否存活垃圾收集算法Minor GC 和 Full GC 有什么不同双亲委派原则java虚拟机运行时的数据区java内存分配类的加载过程加载 链接(验证、准备、解析) 初始化加载:就是把class字节码文件加载到内存中,创建一个class对象链接:分为三个阶段验证阶段:确保被加载的类(.class文件的字节流)满足java虚拟机的规范,不会造成安全...原创 2020-03-31 11:00:39 · 394 阅读 · 0 评论 -
如何用lambda表达式优雅的写出双层for循环
public class Test { public static void main(String[] args) { /** * 找出长度大于一分钟的曲目 * @param albums * @return */ public static Set<String> findLongTracks(List<Albu...原创 2019-09-30 09:10:52 · 6737 阅读 · 1 评论 -
切忌用equal比较AtomicInteger类型
最近接手一个项目,逻辑写的好好的,但是一直没有得到想要的结果,最后才发现原来是代码中有个条件语句,判断的时候,通过equal去比较 两个AtomicInteger 值是否相等。先看一段代码: public static void main(String[] args) { Integer integer1 = new Integer(1); Intege...原创 2019-09-29 14:15:03 · 4772 阅读 · 0 评论 -
toString类型转换的小坑
项目中经常遇到将其他类型转换成String类型的场景,模拟一下常用的两种转换方法 public static void main(String[] args) { Object obj = null; //第一种:通过String字符串强转 String s2 = (String)obj; //第二种:通过toString方法 ...原创 2019-09-29 09:48:20 · 443 阅读 · 0 评论 -
拒绝使用switch做无用功,枚举类指定索引和含义
在平时的项目中经常会用到枚举,但是有时候因为枚举的类型不是我们想要的,或者想获取枚举的含义,比较笨的方法就是通过switch去判断,其实枚举自身有更简便的方法,enum("index","description")只需要在定义枚举的指定即可,就不需要后续的逻辑转换了。public enum TestStatus { /** * 开始 1 */ start(1,...原创 2019-09-20 18:43:28 · 250 阅读 · 0 评论 -
http和https的都是什么,有什么区别
超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。 为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全...原创 2018-10-24 10:40:36 · 424 阅读 · 0 评论 -
JVM类的加载过程
public class JvmLoadTest{ private static JvmLoadTest jvmLoad = new JvmLoadTest(); public static int count_1; public static int count_2 = 0; static { count_1++; count_2...原创 2019-01-21 17:42:17 · 166 阅读 · 0 评论 -
什么是抽象类
抽象类使用abstract修饰且没有方法体的方法,称为抽象方法。特点:使用抽象abstract修饰,方法没有方法体,留给子类去实现抽象方法修饰符不能是private和final以及static抽象方法必须定义在抽象类或接口中。一般的,习惯性把abstract写在方法修饰符最前面,一看就知道是抽象方法。使用abstract修饰的类,称为抽象类1.不能创建实例,即不能new一个抽象...原创 2018-10-24 10:54:07 · 255 阅读 · 0 评论 -
什么是接口,接口与抽象类的区别
接口接口只定义了类应当遵循的规范,却不关心这些类的内部数据和其功能的实现细节,接口只规定了类里必须提供的方法,从而分离了规范和实现,增强了系统的可扩展性和可维护性。面向接口编程:接口和实现类体现了真正的多态。Java中的接口:专家说:多个抽象类的抽象就是接口。在java中最小的程序单元就是类,接口其实是一个特殊类。Java中接口表示规范,用于定义一组抽象方法,表示某一类事物必须具备的功...原创 2018-10-24 10:51:01 · 234 阅读 · 0 评论 -
你对String字符串了解多少
1):String str1 = “ABC”;最多创建一个对象,最少不创建对象常量池已经存在"ABC",那么str1直接引用,不创建对象否则,先在常量池中创建"ABC"内存空间,再引用2):String str2 = new String(“ABC”);最多创建2个对象,最少创建一个对象new关键字肯定会在堆中创建内存区域,所以至少会创建一个String对象。如果常量池中存在"ABC...原创 2018-10-24 10:45:16 · 158 阅读 · 1 评论