JavaSE面试题

 

  1. 一个“.java”源文件中是否可以包含多个类(不是内部类)?有什么限制?
  2. 说说&和&&的区别
  3. 在Java中如何跳出当前的多重嵌套循环?
  4. IO流的分类
  5. Switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
  6. short s1=1; s1=s1+1;有什么错?short s1=1;s1+=1;有什么错?
  7. Char型变量中能不能存储一个中文汉字?为什么?
  8. 为什么java中会有位运算符
  9. 使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
  10. “==”和equals()方法的有什么区别?
  11. 静态变量和实例变量的区别?
  12. 是否可以从一个static方法内部发出对非static方法的调用?
  13. Integer和int的区别
  14. Java提供的取整方法
  15. 请说出作用域public、private、protect,以及不写时的区别
  16. Overload和Override的区别
  17. Override使用时的注意事项
  18. Overload使用时的注意事项
  19. 构造器Constructor是否可被override?
  20. 接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concreteclass)?抽象类中是否可以有静态的main方法?
  21. 写clone()方法时,通常都有一行代码,是什么?
  22. Java中实现多态的机制是什么?
  23. 抽象类和接口有什么区别?
  24. String是Java的基本数据类型吗?
  25. 用“+”连接String类型的两个字符串时,原始的String对象中的内容到底变了没有?
  26. 是否可以继承String类
  27. Java的23种设计模式
  28. GC是什么?为什么要有GC
  29. BS和CS的联系与区别
  30. 描述JVM加载class文件的原理机制
  31. 如果main方法被声明为private会怎样?
  32. Java里的传引用和传值的区别是什么?
  33. 如果要重写一个对象的equals方法,还要考虑什么?
  34. Java的“一个编译,处处运行”是如何实现的?
  35. 说明一个public static void main(String[] args)这段声明里每个关键字的作用
  36. Java支持哪种参数传递类型?
  37. 面向对象编程的原则是什么
  38. 介绍下继承的原则
  39. 什么是隐式的类型转化?
  40. 封装,继承和多态是什么?
  41. 显式的类型转化是什么?
  42. 什么是Java虚拟机?
  43. 类型向下转换是什么?
  44. 你怎么理解变量?
  45. 数值提升是什么?
  46. Java的类型转化是什么?
  47. 静态变量在什么时候加载?编译期还是运行期?静态代码块加载的时机呢?
  48. 一个类能拥有多个main方法吗?
  49. 简单的介绍下JVM是如何工作的?
  50. 什么是反射API?它是如何实现的?
  51. 介绍Collection框架的结构
  52. Collection框架中实现比较要实现什么接口
  53. ArrayList和Vector的区别
  54. HashMap和Hashtable的区别
  55. List和Map的区别
  56. List,Set,Map是否继承自Collection接口?
  57. ListMap、Set三个接口,存取元素时,各有什么特点?
  58. 说出ArrayList,Vector,LinkedList的存储性能和特性
  59. 去掉一个Vector集合中重复的元素
  60. Collection和Collections的区别?
  61. Set里的元素是不能重复的,那么用什么方法来区分重复与否?是用==还是equals?他们有何区别?
  62. 你所知道的集合都有哪些?主要方法?
  63. 两个对象值相同(x.equals(y)==true),但却可有不同hashcode,这句话对不对?
  64. TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用哪个?
  65. 说出一些常用的类,包,接口,请各举5个
  66. 简述String类与StringBuffer类的关联
  67. Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请输出他们分别是哪些类
  68. 字节流与字符流的区别
  69. 什么是java序列化,如何实现Java序列化?或者请解释Serializable接口的作用
  70. 描述一下JVM加载class文件的原理机制?
  71. heap和stack有什么区别?
  72. 垃圾回收的优点和原理。并考虑两种回收机制
  73. 垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收
  74. 什么时候用assert
  75. Java中会存在内存泄漏吗,请简单描述
  76. 能不能自己写个类,也叫java.lang.String
  77. 什么是线程?它与进程有什么区别?为什么要使用多线程
  78. 如何在Java中实现线程
  79. 用Runnable还是Thread?
  80. Thread类中的start()和run()方法有什么区别?
  81. Java中Runnable和Callable有什么不同?
  82. Java中CyclicBarrier和CountDownLatch有什么不同?
  83. Java中volatile变量是什么?
  84. 什么是线程安全?Vector是一个线程安全类吗?
  85. Java中如何停止一个线程?
  86. 一个线程运行时发生异常会怎样?
  87. 如何在两个线程间共享数据?
  88. 同步和异步有什么区别?
  89. 如何实现Java多线程
  90. 一个类是否可以同时继承Thread与实现Runnable接口?
  91. run()方法与start()方法有什么区别
  92. 多线程同步的实现方法有哪些?
  93. Sleep()方法与wait()方法有什么区别
  94. Sleep()方法与yield()方法有什么区别?
  95. 终止线程的方法有哪些?
  96. Synchromzed与Lock有什么异同
  97. 什么时守护线程
  98. Join()方法的作用是什么
  99. 同步和异步有何异同,在什么情况下分别使用他们?举例说明
  100. 多线程有几种实现方法?同步有几种实现方法?
  101. 启动一个线程是用run()还是start()?
  102. 线程的基本概念、线程的基本状态以及状态之间的关系
  103. Java多线程中调用wait()和sleep()方法有什么不同?
  104. Java中的fork join框架是什么?
  105. 如何强制启动一个线程?
  106. 写出3条你遵循的多线程最佳实践
  107. 如何在Java中创建线程安全的Singleton?
  108. 单例模式的双检锁是什么?
  109. 如果同步块内的线程抛出异常会发生什么?
  110. Volatile变量和atomic变量有什么不同?
  111. 多线程中的忙循环是什么?
  112. Java中ReadWriteLock是什么?
  113. 如何在Java中创建Immutable对象?
  114. Java中invokeAndWait和invokeLater有什么区别?
  115. 什么是阻塞式方法?
  116. 网络编程时的同步、异步、阻塞、非阻塞?
  117. Java如何实现无阻塞方式的Socket编程?
  118. 什么是Java的序列化(串行化)?
  119. 什么情况下需要序列化?序列化的注意事项,如何实现Java序列化(串行化)?
  120. Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是那些类?
  121. 用Java Socket编程,读服务器几个字符,再写入本地显示
  122. TCP/IP在连接时有几次握手?释放时有几次握手?
  123. TCP/IP协议的理解
  124. TCP协议的通信特点是什么?
  125. UDP协议的通信特点是什么?
  126. 用Java的套接字编程实现一个多线程的回显(echo)服务器
  127. Tcp和udp的区别
  128. 流量控制和拥塞控制
  129. XML是什么?
  130. DTD与XML Schema有什么区别?
  131. Xpath是什么?
  132. XSLT是什么?
  133. 什么是XML元素和属性
  134. 什么是格式良好的XML
  135. XML命名空间是什么?它为什么很重要?
  136. DOM和SAX解析器有什么区别
  137. XML CDATA是什么?
  138. Java的XML数据绑定是什么?
  139. XML文档定义有几种形式?他们之间有何本质区别?解析XML文档有哪几种方式?
  140. 你在项目中哪些地方用到了XML?
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值