【java八股问】java语言基础面试题

1、面向对象的特征有哪些方面?

2、访问修饰符 public,private,protected,以及不写(默认)时的区别?

3、String 是最基本的数据类型吗?

4、float f=3.4;是否正确?

5、short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?

6、Java 有没有 goto?

7、int 和 Integer 有什么区别?

8、&和&&的区别?

9、解释内存中的栈(stack)、堆(heap)和方法区(method area)的用法。

10、Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?

11、switch 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String 上?

12、用最有效率的方法计算 2 乘以 8?

13、数组有没有 length()方法?String 有没有 length()方法?

14、在 Java 中,如何跳出当前的多重嵌套循环?

15、构造器(constructor)是否可被重写(override)?

16、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?

17、是否可以继承 String 类?

18、当一个对象被当作参数传递到一个方法后,此方法可改变 这个对象的属性,并可返回变化后的结果,那么这里到底是值传 递还是引用传递?

19、String 和 StringBuilder、StringBuffer 的区别?

20、重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?

21、描述一下 JVM 加载 class 文件的原理机制?

22、char 型变量中能不能存贮一个中文汉字,为什么?

23、抽象类(abstract class)和接口(interface)有什么异同?

24、静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同?

25、Java 中会存在内存泄漏吗,请简单描述。

26、抽象的(abstract)方法是否可同时是静态的(static),是否可同时是本地方法(native),是否可同时被 synchronized修饰?

27、阐述静态变量和实例变量的区别。

28、是否可以从一个静态(static)方法内部发出对非静态(non-static)方法的调用?

29、如何实现对象克隆?

30、GC 是什么?为什么要有 GC?

31、String s = new String(“xyz”);创建了几个字符串对象?

32、接口是否可继承(extends)接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concrete class)?

33、一个”.java”源文件中是否可以包含多个类(不是内部类)?有什么限制?

34、Anonymous Inner Class(匿名内部类)是否可以继承其它类?是否可以实现接口?

35、内部类可以引用它的包含类(外部类)的成员吗?有没有什么限制?

36、Java 中的 final 关键字有哪些用法?

37、Java 中能创建 volatile 数组吗?

38、数据类型之间的转换:如何将字符串转换为基本数据类型?如何将基本数据类型转换为字符串?

39、如何实现字符串的反转及替换?

40、怎样将 GB2312 编码的字符串转换为 ISO-8859-1 编码的字符串?

41、日期和时间:如何取得年月日、小时分钟秒?如何取得从 1970 年 1 月 1 日 0 时 0 分 0 秒到现在的毫秒数?如何取得某月的最后一天?如何格式化日期?

42、打印昨天的当前时刻。

43、比较一下 Java 和 JavaSciprt。

44、什么时候用断言(assert)?

45、Error 和 Exception 有什么区别?

46、try{}里有一个 return 语句,那么紧跟在这个 try 后的finally{}里的代码会不会被执行,什么时候被执行,在 return前还是后?

47、Java 语言如何进行异常处理,关键字:throws、throw、try、catch、finally 分别如何使用?

48、运行时异常与受检异常有何异同?

49、列出一些你常见的运行时异常?

50、阐述 final、finally、finalize 的区别。

51、类 ExampleA 继承 Exception,类 ExampleB 继承ExampleA。

52、List、Set、Map 是否继承自 Collection 接口?

53、阐述 ArrayList、Vector、LinkedList 的存储性能和特性。

54、Collection 和 Collections 的区别?

55、List、Map、Set 三个接口存取元素时,各有什么特点?

56、TreeMap 和 TreeSet 在排序时如何比较元素?Collections 工具类中的 sort()方法如何比较元素?

57、Thread 类的 sleep()方法和对象的 wait()方法都可以让线程暂停执行,它们有什么区别?

58、线程的 sleep()方法和 yield()方法有什么区别?

59、当一个线程进入一个对象的 synchronized 方法 A 之后,其它线程是否可进入此对象的 synchronized 方法 B?

60、请说出与线程同步以及线程调度相关的方法。

61、编写多线程程序有几种实现方式?

62、synchronized 关键字的用法?

63、举例说明同步和异步。

64、启动一个线程是调用 run()还是 start()方法?

65、什么是线程池(thread pool)?

67、简述 synchronized 和 java.util.concurrent.locks.Lock的异同?

68、Java 中如何实现序列化,有什么意义?

69、Java 中有几种类型的流?

70、写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数。

71、如何用 Java 代码列出一个目录下所有的文件?

72、用 Java 的套接字编程实现一个多线程的回显(echo)服务器。

73、XML 文档定义有几种形式?它们之间有何本质区别?解析XML 文档有哪几种方式?

74、你在项目中哪些地方用到了 XML?

75、阐述 JDBC 操作数据库的步骤。

76、Statement 和 PreparedStatement 有什么区别?哪个性能更好?

77、使用 JDBC 操作数据库时,如何提升读取数据的性能?如何提升更新数据的性能?

78、在进行数据库编程时,连接池有什么作用?

79、什么是 DAO 模式?

80、事务的 ACID 是指什么?

#### 81、JDBC 中如何进行事务处理?

82、JDBC 能否处理 Blob 和 Clob?

83、简述正则表达式及其用途。

84、Java 中是如何支持正则表达式操作的?

85、获得一个类的类对象有哪些方式?

86、如何通过反射创建对象?

87、如何通过反射获取和设置对象私有字段的值?

88、如何通过反射调用对象的方法?

89、简述一下面向对象的”六原则一法则”。

90、简述一下你了解的设计模式。

91、用 Java 写一个单例类。

92、什么是 UML?

93、UML 中有哪些常用的图?

94、用 Java 写一个冒泡排序。

95、用 Java 写一个折半查找。95、用 Java 写一个折半查找。

posted @   xiangliheart  阅读(62)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示