最新网址:sk.x3qdu.com

本期主题:Java超经典面试题233问(硬核干货送你上青云没商量)。

……

1、JDK和 JRE有什么区别?

2、==和 equals的区别是什么?

3、final在 java中有什么作用?

4、java中的 Math.round(-1.5)等于多少?

5、String属于基础的数据类型吗?

6、String str=“i“与 String str=ring(“i”)一样吗?

7、如何将字符串反转?

8、String类的常用方法都有那些?

9、ring(“a“)+ ring(“b“)会创建几个对象?

10、如何将字符串反转?

11、String类的常用方法都有那些?

12、普通类和抽象类有哪些区别?

13、接口和抽象类有什么区别?

14、java中 IO流分为几种?

15、BIO、NIO、AIO有什么区别?

16、Files的常用方法都有哪些?

17、什么是反射?

18、什么是 java序列化?什么情况下需要序列化?

19、为什么要使用克隆?如何实现对象克隆?深拷贝和浅拷贝区别是什么?

20、throw和 throws的区别?

21、final、finally、finalize有什么区别?

22、try-catch-finally中,如果 catch中 return了,finally还会执行吗?

23、常见的异常类有哪些?

24、hashcode是什么?有什么作用?

25、java中操作字符串都有哪些类?它们之间有什么区别?

26、java中都有哪些引用类型?

27、在 Java中,为什么不允许从静态方法中访问非静态变量?

28、说说Java Bean的命名规范

29、Java Bean属性命名规范问题分析

30、什么是 Java的内存模型?

31、在 Java中,什么时候用重载,什么时候用重写?

32、举例说明什么情况下会更倾向于使用抽象类而不是接口?

33、实例化对象有哪几种方式

34、byte类型127+1等于多少?

35、Java容器都有哪些?

36、Colle和 Colles有什么区别?

37、List与Set区别?

38、HashMap和 Hashtable有什么区别?

39、说一下 HashMap的实现原理?

40、set有哪些实现类?

41、说一下 HashSet的实现原理?

42、ArrayList和 LinkedList的区别是什么?

43、如何实现数组和 List之间的转换?

44、在 Queue中 poll()和 remove()有什么区别?

45、哪些集合类是线程安全的?

46、迭代器 Iterator是什么?

47、Iterator怎么使用?有什么特点?

48、Iterator和 ListIterator有什么区别?

49、怎么确保一个集合不能被修改?

50、队列和栈是什么?有什么区别?

51、Java8开始currentHashMap,为什么舍弃分段锁?

52、currentHashMap(JDK1.8)为什么要使用synized而不是如ReentranLock这样的可重入锁?

53、currentHashMap和HashTable有什么区别

54、HasmMap和HashSet的区别?

55、请谈谈 ReadWriteLock和 StampedLock?

56、线程的run()和start()有什么区别?

57、为什么我们调用 start()方法时会执行 run()方法,为什么我们不能直接调用 run()方法?

58、Synized用过吗,其原理是什么?

59、JVM对Java的原生锁做了哪些优化?

60、为什么wait()、notify()和 notifyAll()必须在同步方法,或者同步块中被调用?

61、Java如何实现多线程之间的通讯和协作?

62、Thread类中的 yield方法有什么作用?

63、为什么说 Synized是非公平锁?

64、请谈谈 volatile有什么特点,为什么它能保证变量对所有线程的可见性?

65、为什么说 Synized是一个悲观锁?乐观锁的实现原理又是什么?什么是 CAS,它有什么特性?

66、乐观锁一定就是好的吗?

67、请尽可能详尽地对比下 Synized和 ReentrantLock的异同。

68、ReentrantLock是如何实现可重入性的?

69、什么是锁消除和锁粗化?

70、跟 Synized相比,可重入锁 ReentrantLock其实现原理有什么不同?

71、那么请谈谈 AQS框架是怎么回事儿?

72、AQS对资源的共享方式?

73、如何让 Java的线程彼此同步?

74、你了解过哪些同步器?请分别介绍下。

75、Java中的线程池是如何实现的

76、创建线程池的几个核心构造参数

77、线程池中的线程是怎么创建的?是一开始就随着线程池的启动创建好的吗?

78、volatile关键字的作用

79、既然 volatile能够保证线程间的变量可见性,是不是就意味着基于 volatile变量的运算就是并发安全的?

80、ThreadLocal是什么?有哪些使用场景?

81、请谈谈 ThreadLocal是怎么解决并发安全的?

82、很多人都说要慎用 ThreadLocal,谈谈你的理解,使用 ThreadLocal需要注意些什么?

83、为什么代码会重排序?

84、什么是自旋

85、多线程中 synized锁升级的原理是什么?

86、synized和 ReentrantLock区别是什么?

87、Java currency API中的 Lock接口(Loterface)是什么?对比同步它有什么优势?

88、jsp和 servlet有什么区别?

89、jsp有哪些内置对象?作用分别是什么?

90、forward和 redirect的区别?

91、说一下 jsp的 4种作用域?

92、session和 cookie有什么区别?

93、如果客户端禁止 cookie能实现 session还能用吗?

94、什么是上下文切换?

95、cookie、session、token

96、说一下 session的工作原理?

97、http响应码 301和 302代表的是什么?有什么区别?

98、简述 tcp和 udp的区别?

99、tcp为什么要三次握手,两次不行吗?为什么?

100、OSI的七层模型都有哪些?

101、get和 post请求有哪些区别?

102、什么是 XSS攻击,如何避免?

103、什么是 CSRF攻击,如何避免?

104、如何实现跨域?说一下 JSONP实现原理?

105、websocket应用的是哪个协议

106、说一下 tcp粘包是怎么产生的?

107、请列举出在 JDK中几个常用的设计模式?

108、什么是设计模式?你是否在你的代码里面使用过任何设计模式?

109、Java中什么叫单例设计模式?请用 Java写出线程安全的单例模式

110、在 Java中,什么叫观察者设计模式(observer design pattern)?

111、使用工厂模式最主要的好处是什么?在哪里使用?

112、请解释自动装配模式的区别?

113、举一个用 Java实现的装饰模式(decorator design pattern)?它是作用于对象层次还是类层次?

114、什么是 Spring框架?Spring框架有哪些主要模块?

115、使用 Spring框架能带来哪些好处?

116、Spring IOC、AOP举例说明

117、什么是控制反转(IOC)?什么是依赖注入?

118、BeanFactory和 Applicationtext有什么区别?



本章未完 点击下一页继续阅读