JAVA面试题收录

感谢内容提供者:金牛区吴迪软件开发工作室

文章目录

一、JavaSE基础

  1. 接口和抽象类的异同点
  2. 重载(overload)和重写(overwrite)区别
  3. StringBufferStringBuilderString区别
  4. 冒泡排序
  5. 选择排序
  6. 单例设计模式
  7. 常见的异常类型
  8. Throws和Throw的区别
  9. Final,Finally,finalize关键字的作用
  10. Hashtable与HashMap的区别
  11. 线程和进程的区别
  12. 实现多线程程序的2种方式
  13. List、Set、Collection、Collections
  14. sleep()和wait()有什么区别
  15. error和exception有什么区别
  16. head(堆)和stack(栈)有什么区别
  17. GC是什么?为什么要有GC?
  18. 内存泄漏和内存溢出
  19. 运行时异常和checked异常的区别
  20. 四个访问修饰符和访问级别
  21. 逻辑运算符:&和&&的区别
  22. Java中如何实现序列化,有什么意义
  23. 阐述JDBC操作数据库的步骤
  24. Statement和PreparedStatement有什么区别?哪个性能更好?
  25. 提示输入一个数,求阶乘
  26. 斐波那契数列
  27. Java中基本数据类型
  28. 遍历D盘下面所有的文件
  29. ArrayList和LinkedList有什么区别
  30. 面向对象的特征有哪些方面
  31. String是最基本的数据类型么
  32. 有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数
  33. 写一个程序将D盘下面的一张图片拷贝到E盘
  34. 静态类型有什么特点
  35. 说一下多态的表现形式
  36. 线程通常有五种状态
  37. 事物的四大特性
  38. Java中IO体系
  39. 字节流和字符流
  40. 接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承实体类(concreteclass)?
  41. Class.forName的作用?为什么要用?
  42. 异常的体系结构
  43. 构造函数的特点和作用
  44. Java标识符的命名规则
  45. Java关键字
  46. 构造函数的特点和作用
  47. synchronized关键字的用法
  48. 启动一个线程是调用run()还是start()方法?
  49. Switch是否能作用在byte上,是否能作用在long上,是否能作用在String上?
  50. 数组有没有length方法?String有没有length方法?
  51. 构造器(constructor)是否可被重新(override)?
  52. 阐述静态变量和实例变量的区别
  53. 比较一下Java和JavaScript
  54. JDK、JRE、JVM的区别
  55. XML和Json的特点
  56. JDK常用的包
  57. 什么是值传递和引用传递
  58. 解释一下数据库连接池
  59. 空字符串和null的区别
  60. 列举Java中string类常用方法
  61. 得到Class的三种方式是什么-反射
  62. 什么是迭代器(Iterator)?
  63. char型变量中能不能存贮一个中文汉字?为什么?
  64. Java中compareTo和compare的区别
  65. Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用==还是equals()它们有何区别?
  66. 俩个对象值相同(x.equals(y)==true),但却可有不同的hashcode,这句话对不对?
  67. Java的Socket通信(多线程)
  68. 接口中定义
  69. Break和Continu
  70. 什么是内部类?StaticNestedClass和InnerClass的不同
  71. 下面这条语句一共创建的多少个对象:StringS=“a”+“b”+“c”+“d”;
  72. 什么情况下finally中的代码不会执行?
  73. 一个“.java”源文件中是否可以包括多个类(不是内部类)?有什么限制?
  74. Java 有没有goto?
  75. 如何将String类型转化成Number类型?什么是隐式的类型转化?
  76. 显示的类型转化是什么?
  77. 类型向下转化是什么?
  78. 如何原地交换俩个变量的值?
  79. 简述synchronized 和 java.util.concurrent.locks.Lock 的异同?
  80. Thread 类的 sleep() 方法和对象的 wait() 方法都可以让线程暂停执行,它们有什么区别?
  81. 线程的 sleep() 方法和yield()方法有什么区别?
  82. 当一个对象被当作参数传递到方法,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
  83. StaticNestedClass 和 InnerClass 的不同?
  84. abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
  85. 静态变量和实例变量的区别?
  86. 垃圾回收的优点和原理。并考虑2种回收机制?
  87. 垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
  88. 说出一些常用的类,包,接口,请各举5个
  89. java中实现多态的机制是什么?
  90. 哪些类可以被继承?
  91. 继承时候类的执行顺序问题
  92. 数据类型之间的转换
  93. 如何取得年月日、小时、分、秒
  94. 如何取得从1970年到现在的毫秒数
  95. 如何取得某个日期是当月的最后一天
  96. 如何格式化日期
  97. java和javascript的区别
  98. 什么时候用assert
  99. 写出一个你 最常见到的 runtimeexception
  100. 介绍 JAVA 中的 CollectionFrameWork (及如何写自己的数据结构)
  101. List,Set,Map是否继承自 Collection 接口?
  102. 你所知道的集合类都有哪些?主要方法?
  103. 说出ArrayList,Vector,LinkedList 的存储性能和特性?
  104. Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用 == 还是 equals() ?它们有何区别?
  105. 为什么HashMap链表长度超过 8 会转成树结构?
  106. 请说出你所知道的线程同步的方法
  107. 创建线程的方式
  108. 线程同步有几种实现方法,都是什么
  109. 同步和异步有何异同,在什么情况下分别使用他们
  110. 启动一个线程是用run()还是start()
  111. 线程的基本概念、线程的基本状态以及状态之间的关系
  112. 简述synchronized 和 java.util.concurrent.locks.Lock的异同?
  113. 用什么关键字修饰同步方法?stop() 和 suspend() 方法为何不推荐使用?
  114. 什么是java序列化,如何实现java序列化?
  115. java中有几种类型的流?JDK 为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?
  116. 文件和目录(I/O)操作
  117. 用JAVASOCKET编程,读服务器的几个字符,再写入本地显示
  118. 什么是设计模式?分类是什么?有哪些设计模式?并简要讲一下每个模式
  119. 设计模式的六大原则?
  120. 开发中都用到了哪些设计模式?用在什么场合?
  121. 写一个SingLeton出来
  122. 说说你所熟悉或听说过的JAVAEE中的几种常用模式?及对设计模式的一些看法?
  123. XML 文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?
  124. 你在项目中用到了xml技术的哪些方面?如何实现的?
  125. 什么是重量级?什么是轻量级?
  126. 为什么要用 clone
  127. new 一个对象的过程和 clone 一个对象的过程区别
  128. 复制对象和复制引用的区别
  129. 深拷贝和浅拷贝
  130. 俩个对象值相同(x.equals(y) == true),但却可有不同的hashCode,这句话对不对?
  131. 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里是值传递还是引用传递?
  132. 为什么函数不能根据返回类型来区分重载?
  133. char 型变量中能不能存储一个中文汉字,为什么?
  134. int 和 integer 有什么区别?
  135. 请说下String 类常用方法
  136. 字节流如何转为字符流
  137. 如何将一个java对象序列化到文件里
  138. 字节流和字符流的区别
  139. 集合的安全性问题
  140. ArrayList内部用什么实现的
  141. 并发集合和普通集合如何区别?
  142. List 的三个子类的特点
  143. List 和 Map、Set 的区别
  144. 数组和链表的区别
  145. 请用俩个队列模拟堆栈结构
  146. Collection 和 Map 的集成体系
  147. 什么是线程池,如何使用
  148. 常用的线程池有哪些
  149. 请叙述一下你对线程池的理解
  150. 说说你对Java中反射的理解
  151. 动静态代理的区别,什么场景使用?
  152. 写一个ArrayList 的动态代理类

二、JavaWeb部分

  1. 四种会话跟踪技术
  2. JSP的九大隐式对象
  3. Servlet的生命周期
  4. Servlet和JSP的关系
  5. 什么是MVC
  6. 重定向和转发的异同点
  7. Session和Cookie的区别
  8. get和post的区别
  9. 写出浏览器JS的对象
  10. 简述在JSP的注释有哪几种方法
  11. JSP中动态INCLUD与静态INCLUDE的区别
  12. 尽量多的写出request下的常用方法
  13. HTTP常见的状态码
  14. 数据库的三大范式
  15. 实体之间的关系
  16. 完整性约束
  17. 常用的端口
  18. oracle的基本数据类型
  19. JDBC访问数据库的步骤
  20. 常见的应用服务器有哪些
  21. innerText和innerHtml的区别
  22. $(document).ready()是什么函数,为什么要用他
  23. javascript中window.onload 时间和jquery ready函数有何不同
  24. jquery有哪几种常用类型的选择器
  25. jquey中如何实现节点遍历
  26. jquey中Ajax
  27. js和jquery的关系
  28. 常见应用服务器有哪些
  29. 在web应用开发过程中经常遇到输出某种编码的字符.如何输出一个某种编码的字符串
  30. http的长连接和短连接诶

三、框架部分

  1. IOC的概念
  2. 注入的三种方式
  3. mybatis的缓存机制
  4. 解释spring支持的几种作用域
  5. sprig中如何注入一个java集合
  6. 动态代理模式
  7. spring中通知的类型
  8. hibernate框架的工作原理
  9. hibernate对象的三种状态是什么
  10. Hibernate对象的三种状态如何转换的
  11. Hibernate分页是如何实现
  12. 对象关系映射
  13. hibernate拒绝连接服务器崩溃的原因
  14. mybatis与hibernate有什么不同
  15. 什么是bean的自动装配
  16. 解释自动装配的各种模式
  17. 自动装配有哪些局限性
  18. spring的传播特性
  19. spring事务的隔离界别
  20. 什么是重量级,什么是轻量级
  21. springmvc的流程
  22. springmvc的优点
  23. springmvc的主要组件
  24. mybatis的#{}和${}的区别
  25. 通常一个xml映射文件都会写一个dao接口与之对应,请问,这个dao接口的工作原理是什么?dao接口里的方法,参数不同,方法重载吗
  26. mybatis是如何进行分页的,分页插件的原理是什么
  27. xml的映射文件中,除了常见的select,insert update delete标签外,还有哪些标签
  28. spring是什么
  29. spring的优点
  30. spring aop的理解
  31. spring bean的加载过程
  32. spring框架中单例beans是线程安全的么

四、数据库部分

  1. 分页语句mysql和oracle
  2. join和left join 区别
  3. sql中where和having的区别
  4. 数据库的三范式
  5. 存储过程和函数的区别
  6. 事务是什么
  7. 游标的作用,如何知道游标已经到了最后
  8. 触发器
  9. 事务处理
  10. java中访问数据库的步骤
  11. jdbc实现分页
  12. 一条sql执行过长时间,如何优化
  13. mysql的隔离级别
  14. 连接池的技术点

五、程序算法

  1. 写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分隔
  2. 用程序给出随便大小的10个数,序号为 1 - 10,按从小到大顺序输出,并输出相应的序号
  3. 用 JAVA 实现一种排序,JAVA类实现序列化的方法?在COLLECTION框架中,实现比较要实现什么样的接口?
  4. 写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数。
  5. 二分查找法

六、JVM调优

  1. java内存模型
  2. GC概念
  3. 垃圾回收机制
  4. jvm堆大小的调整
  5. 如何从jvm中获取信息进行调整
  6. dm系统jvm调整
  7. 加速垃圾回收方式
  8. jvm的生命周期
  9. jvm的体系结构
  10. java优化

七、Java优化

八、Redis相关

  1. redis支持的数据类型
  2. 什么是Redis持久化,redis有哪几种持久化方式,优缺点是什么
  3. redis通讯协议,能解释下什么是resp,有什么特点
  4. redis有哪些架构模式,讲讲各自的特点
  5. 什么是一致性hash算法,什么是hash槽
  6. redis的常用命令
  7. 使用过redis分布式锁么?他是怎么实现的
  8. 使用过redis的异步队列么,你是怎么用的,有什么缺点
  9. 什么是缓存穿透,如何避免,什么是缓存雪崩,如何避免
  10. redis事务事务处理
  11. 使用rredis有哪些好处
  12. redis常见性能问题和解决方案
  13. redis怎么和spring进行集成
  14. redis内存数据集大小上升到一定大小的时候,就会执行数据淘汰策略。redis提供6种数据淘汰策略
  15. redis常见性能问题有哪些,如何解决
  16. 分布式缓存

九、Nginx相关

十、WebService相关

十一、安全相关

  1. cross-siterquestforgery

十二、其他

  1. 你经常读哪些书?
  2. git,svn的区别
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值