1.如何停止一个线程
标志位,stop() 基本不用了,interrupt
2.创建线程有几种方式。如何启动一个线程
继承Thread类,实现runnable接口,实现Callable接口来创建, excutor
3.object有哪些方法,equals和hashcode的区别
public boolean equals(Object obj) { return (this == obj); }
:用以判断变量参数与当前实例是否相等,JDK默认实现是基于对象内存地址是否相同,如果两个对象内存地址相同,则表示两个对象相同。public native int hashCode();
: 默认情况下,该方法返回一个随机整数,对于每个对象来说该数字唯一,但该数字并非恒定,可能随着程序的执行发生变化
3.1如果两个对象相同(即 equals返回true
),hashcode
一定相等;但是 hashcode
相等时,两个对象却不一定 equals
。
3.2 由于为了提高程序的执行效率才实现了 hashcode
方法,先进行 hashcode
比较,如果不同,就没有必要进行 equals
比较了,这样就大大的减少了 equals
的使用次数,从而效率得到提高。
4.访问修饰符有哪些,作用域是什么
5.普通内部类和静态内部类的区别,创建的时候写法
普通内部类:
1、创建普通内部类,需要外部类的实例
2、普通内部类可以访问外部类的静态域和非静态域+静态方法和非静态方法
3、普通内部类不可以拥有静态变量和静态方法,可以拥有常量(static final)
静态内部类:
1、创建静态内部类,不需要外部类的实例
2、静态内部类只可以访问外部类的静态域和静态方法(非静态域和方法无法访问)
3、静态内部类可以拥有静态变量和静态方法+非静态变量和非静态方法
6.activemq,robbbitmq,rocketmq.kafka 区别
https://www.cnblogs.com/xiapu5150/p/9927323.html
7.mysql 死锁
https://blog.csdn.net/tr1912/article/details/81668423
8.springboot 加载mybatis过程
https://blog.csdn.net/sinat_35815559/article/details/88275684
https://blog.csdn.net/qq_20614905/article/details/102862189
9.spring 原理面试题
https://www.cnblogs.com/yanggb/p/11004887.html
10.mybatis 一级缓存和二级缓存
https://www.cnblogs.com/happyflyingpig/p/7739749.html
11.ConcurrentHashMap底层实现原理(JDK1.7 & 1.8)
https://www.jianshu.com/p/865c813f2726
12.hashMap get死循环问题
https://www.cnblogs.com/jing99/p/11319175.html
13.springcloud 面试题及答案
https://www.cnblogs.com/aishangJava/p/11927311.html
14.java 并发核心包JUC原理详解
https://www.cnblogs.com/fisherss/p/13191490.html
15.几种io的认识