反射原理及动态代理模式

反射原理及动态代理模式静态代理例子:public interface Subject { abstract String saleTt();}public class RealSubject implements Subject { @Override public String
2020年12月19日 457次浏览

Java中的泛型

为什么我们需要泛型?通过两段代码我们就可以知道为何我们需要泛型
2020年12月02日 443次浏览

注解

注解的定义Java注解用于为Java代码提供元数据。作为元数据,注解不直接影响你的代码执行,但也有一些类型的注解实际上可以用于这一目的。Java注解是从Java5开始添加到Java的。注解即标签如果把代码想象成一个具有生命的个体,注解就是给这些代码的某些个体打标签如何自定义注解注解通过@interf
2020年06月05日 644次浏览

什么是依赖注入,能说说几个依赖注入的库吗?

什么是依赖(Dependency)?依赖是类与类之间的连接,依赖关系表示一个类依赖于另一个类的定义,通俗来讲就是一种需要,例如一个人(Person)可以买车(Car)和房子(House),Person类依赖于Car类和House类 static class People {
2020年06月05日 554次浏览

什么是匿名内部类,它有什么特征

匿名内部类使用注意事项匿名内部类也就是没有名字的内部类正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口匿名内部类中是不能定义构造函数的使用的形参为什么要final我们给匿名内部类传递参数的时候,若该形参在内部类中需要被使用
2020年06月04日 470次浏览

单例模式

单例模式是什么?确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。单例模式好处通常使用单例对象都是重量级,里面有很多对象,例如线程池、缓存系统、网络请求等等,很耗资源。使用单例不用重复创建这种对象,其它地方也可以重复使用这个对象,提高性能。单例模式特征构造方法不对外开发的,一般是pr
2020年06月04日 679次浏览

手写一个消息队列和延迟消息队列

第一次听到“消息队列”这个词时,不知你是不是和我反应一样,感觉很高阶很厉害的样子,其实当我们了解了消息队列之后,发现它与普通的技术类似,当我们熟悉之后,也能很快地上手并使用。我们本课时的面试题是,消息队列的使用场景有哪些?如何手动实现一个消息队列和延迟消息队列?典型回答消息队列的使用场景有很多,最常
2020年06月03日 391次浏览

动态代理是如何实现的?JDK Proxy 和 CGLib 有什么区别?

90%的程序员直接或者间接的使用过动态代理,无论是日志框架或Spring框架,它们都包含了动态代理的实现代码。动态代理是程序在运行期间动态构建代理对象和动态调用代理方法的一种机制。我们本课时的面试题是,如何实现动态代理?JDKProxy和CGLib有什么区别?典型回答动态代理的常用实现方式是反射。反
2020年06月03日 400次浏览

深克隆和浅克隆有什么区别?它的实现方式有哪些?

使用克隆可以为我们快速地构建出一个已有对象的副本,它属于 Java 基础的一部分,也是面试中常被问到的知识点之一。我们本课时的面试题是,什么是浅克隆和深克隆?如何实现克隆?典型回答浅克隆(Shadow Clone)是把原型对象中成员变量为值类型的属性都复制给克隆对象,把原型对象中成员变量为引用类型的
2020年06月02日 370次浏览

谈谈你对锁的理解?如何手动模拟一个死锁?

在并发编程中有两个重要的概念:线程和锁,多线程是一把双刃剑,它在提高程序性能的同时,也带来了编码的复杂性,对开发者的要求也提高了一个档次。而锁的出现就是为了保障多线程在同时操作一组资源时的数据一致性,当我们给资源加上锁之后,只有拥有此锁的线程才能操作此资源,而其他线程只能排队等待使用此锁。当然,在所
2020年06月02日 392次浏览