吴永胡
吴永胡
全部文章
面试基础
Docker(10)
kubernetes(4)
Solr(2)
分布式(8)
归档
标签
去牛客网
登录
/
注册
好知者不如乐知者
全部文章
/ 面试基础
(共13篇)
14 描述动态代理的几种实现方式,分别说出相应的优缺点
什么是动态代理:以AOP实现日志功能为例,能够读取XML中的声明, 并且能够找到那些需要插入日志的类和方法, 接下来就需要修改这些方法了。而在java中是不允许在运行时修改类的,但是我们可以在运行时动态的创建新的类。然后将这个新类代理老的类去实现功能。总而言之:既然是在运行时动态的生成类,并且作为一...
2020-06-19
0
659
13 反射中,Class.forName 和 ClassLoader.loadClass 区别
Class.forName:从源码来看,如下所示:也就是意味着会对类进行初始化 ClassLoader: 所以两者的区别,主要在于Class.forName会对类进行初始化而已
2020-06-18
0
487
12 反射的原理,反射创建类实例的三种方式是什么
反射的原理:在java中,一切皆是对象,类也是对象,类是java.lang.Class的对象,以Animal类为例:当Animal.class在硬盘中时,是一个文件,当载入到内存中,可以认为是一个对象,是java.lang.class的对象。Animal.class中毛色这个属性对于java.lan...
2020-06-18
0
1838
11 IO模型有哪些?nio、bio、aio有什么区别?谈谈reactor模型
IO模型有哪几种?1、BIO : 同步并阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,当然可以通过线程池机制改善。2、NIO : 同步非阻塞,服务器实现模式为一个请求一个线程,即客户端发送的连接请求都会...
2020-06-18
0
857
10 继承、聚合、组合有什么区别
1、继承:他是is-a的关系,指一个类继承另外一个类的功能例如:public class A extends B { } 2、聚合:他是has-a 例如:public class A{ List b} A可以有b 3、组合:他是contans-a(强聚合)public class A { B b}...
2020-06-18
0
504
9 抽象类和接口的区别,类可以继承多个类么,接口可以继承多个接口么,类可以实现多 个接口么
抽象类:1、抽象类使用abstract来修饰2、抽象类中可以没有抽象方法3、抽象类中变量和方法可以使用private/protected/public/final/static关键字修饰,也可以是默认4、抽象类中可以有构造方法5、一个非抽象类继承抽象类,必须实现抽象类中的抽象方法 接口:1、接口使用...
2020-06-18
0
621
8 有没有有顺序的 Map 实现类,如果有,他们是怎么保证有序的
Hashmap和Hashtable 都不是有序的。TreeMap和LinkedHashmap都是有序的。 TreeMap实现有序的原理: LinkedHashmap实现有序的原理: 不过,话说一个map实现有序有什么用?
2020-06-18
0
654
7 java8中的ConcurrentHashMap为什么放弃分段锁?
原因:1、加入多个分段锁浪费内存空间2、生产环境中,map在放入时竞争同一个锁的概率非常小,分段锁反而会造成更新等操作的长时间等待。3、为了提高GC的效率 java8中的新方案:CAS首先通过hash找到对应的链表后,查看是否是第一个object,如果是,直接用cas原则插入,无需加锁,如果不是链表...
2020-06-16
0
1291
6 讲讲你对HashMap的了解
hashMap的基础知识:1、HashMap是一个用于存储key-value键值对的集合,每一个键值对也叫做Entry。这些键值对分散存储在一个数组当中,这个数组就是HashMap的主干。2、put方法的原理:当put一个元素的时候,通过对key进行hash来确定entry插入的位置。当entry越...
2020-06-16
0
490
4 ArrayList和LinkedList的区别
ArrayList:1、ArrayList底层是基于数组来实现的2、ArrayList更适用于随机访问操作,因为从ArrayList中读取数据的时候,只需要提供下标即可,而由于底层是数组实现的,所以可以直接通过下标索引的方式来获取。而如果是插入数据操作,就相当于在数组中间添加元素,那么就会导致数组下...
2020-06-15
0
392
首页
上一页
1
2
下一页
末页