路漫漫其修远贫,吾将上下而求索
Java 语言
1)描述Java语言的特点,同C相比编程思维如何
2)Java内置的数据类型及其位数
3)char能否存储一个汉子?Unicode和utf-8的编码是什么?
4)引用同对象的区别?引用和对象通常在哪块内存?
5)判断一个对象是否应当回收的算法如何?哪些是Root对象?
6)以下创建多少对象? new Integer[10];
7)以下打印如何?
Class A{ Int I; Public static A test(A a){ a.i = 20; return a; } Public static void main(String[] args){ A a = new A(); System.out.println(a.i); A b = test(a); System.out.println(a.i+””+b.i); } }
8)Object内部有哪些方法?equals和hashcode的默认实现如何?有何用处?哪些场景会使用?
9)== 和 equals方法有何异同?
10)以下打印如何?
Public static void main(String[] args){ String s =”helloworld”; String s1= “hello”; String s2=”world”; System.out.println(s1+s2==s); S1= new String(“helloworld”); S2= new String(“helloworld”); System.out.println(s1==s2); } Public static void main(String[] args){ Integer i1= Integer.values(10); Integer i2= Integer.values(10); System.out.println(i1==i2); I1 = Integer.values(300); I2 = Integer.values(300); System.out.println(i1==i2); }
11)JVM的内存布局如何设计?类的元数据存储在哪里?字符串及常量存储在哪里?
12)什么是OOM?有哪些情况会触发?
13)以SunSpot为例,简单描述一个对象的内存布局,有什么方法可以查看内存的详细数据?有什么方法实现c中的sizeof方法
14)使用HashMap时Key和Value需要考虑什么?Key需要覆盖哪些方法?如果不覆盖会如何(性能、正确性?),HashMap内部如何实现的?HashMap的put、get方法复杂度如何?
15)HashMap和HashTable有何区别?各自扩展哪些类?什么场合会使用?还有一个Properties类,内部如何实现
16)ArrayList内部实现机制如何?什么情况会发生内存拷贝?
17)遍历集合时有哪些方法?有何异同?(从读写场景考虑)
18)简单描述ClassLoader的作用,描述初始加载器和定义加载器的区别;从当前类new一个对象使用默认使用哪个加载器?
19)
Class A{ Public void test(){ B b = new B(); // b的初始加载器是什么? } }
20)类加载器使用委托策略,JVM规范为何如此设计?JVM内部定义一个类使用其定义加载器和fqcn,如何实现将同一个类使用不同的类加载器加载?(考虑child-load-first技术)
21)常见的运行时异常有哪些?运行时异常和捕获异常有何区别?Java语言为何设计异常?
22)什么情况下发生ClassCastException?(从classloader和类型转换考虑)
23)详细描述classloader加载一个类的全部过程,实现一个classloader,让其能够扫描d:/固定目录下的class类
24)以开源软件为例说明什么情况下要实现自定制的classloader?jdk内置的classloader有哪些?
25)ClassNotFoundException和NoClassDefFoundError有何区别
26)Java注解有哪几种生命周期?考虑Spring的自动装配模式,其如何实现注解模式的自动装配?都有哪些中注解?其在class字节码中保存位置如何?
27)描述Java的反射机制,在什么情况下会使用反射?Java为何设计反射的功能?
28)描述Java内置的动态代理实现原理?举个常见的使用动态代理的场景(RPC client)
29)Java创建线程使用什么方法?start和run有何区别?线程状态有哪些种?有哪些方式实现线程(extends Thread/implements Runnable/implements Callable,适用场景?)
30)Synchronized的原理如何(从编译后的指令和JVM运行原理考虑)
31)Synchronized向对象和方法加锁有何区别?以下运行结果如何?
public synchronized static void main(String[] args){ new Thread(new Runnable(){ public void run(){ System.out.println(“Pang”); } }).run(); // 换成start又是什么? test(); } Public synchronized static void test(){ System.out.println(“Ping”); }
32)ReentranLock和synchronized有何异同?适用场景如何?(从性能并发考虑)
33)描述一下Atomic原子类的实现机制?CAS算法原理、底层实现?CAS算法的ABA问题?
34)Volatile关键字的用途如何?什么是线程安全?什么是先行发生原则?从先行发生角度解释volatile的作用
35)描述一下多线程环境下的内存模型(工作内存、主内存),解释volatile的底层实现
36)描述一下阻塞队列的实现原理?适用场景?使用wait/notify实现简单的阻塞队列
37)描述线程池ThreadPool的实现原理?自己实现一个简单的线程池,实现可暂停功能
38)描述并发队列、并发HashMap的实现原理、描述写时复制链表的实现原理
39)HashMap的clone方法如何实现?使用时需要考虑哪些隐藏陷阱?
40)Wait/notify使用时有哪些陷阱?notify和notifyAll区别?
41)Wait、sleep语义?区别?使用场景?
42)**Stream和**Reader异同?适用场景?
相关推荐
(1)创建学生信息并以磁盘文件保存; (2)读取磁盘文件并显示输出所有学生的成绩; (3)按学号或姓名查询成绩; (4)添加成绩记录; (5)修改指定姓名或学号的学生的成绩并可存盘; (6)显示输出60分以下、60~...
Java语言规范 基于 Java SE 8 中文 高清 带目录。
编制一个Java 语言成绩记录簿,每个学生信息包括:学号、姓名、Java语言成绩。具体功能: (1)创建学生信息并以磁盘文件保存; (2)读取磁盘文件并显示输出所有学生的成绩; (3)按学号或姓名查询成绩; (4)...
目录第1章 Java语言基础知识 1.1 Java语言与面向对象的程序设计 1.1.1 面向对象的程序设计思想 1.1.2 Java语言的特点 1.1.3 Java类库 1.2 Java程序概述 1.2.1 Java开发环境 1.2.2 Application举例 1.2.3 ...
沈泽刚,秦玉平 主编的java语言程序设计答案(清华大学出版社)
扫描中文完整版带书签 Java语言规范.基于 Java SE 8 Java语言规范.基于 Java SE 8 Java语言规范.基于 Java SE 8 Java语言规范.基于 Java SE 8
Java语言程序设计.进阶篇.原书第10版.pdf java语言程序设计 进阶篇 本书是Java语言的经典教材 Java语言程序设计 进阶篇 原书第10篇版 正版内容下载,超高清,下载的亲们多多好评哦!
java实现国际化中英文语言切换 java语言切换JSP国际化 java实现国际化中英文语言切换 java语言切换JSP国际化
该资源是清华大学出版社出版的《JAVA语言程序设计》一书中的所有例题。
《Java语言程序设计:基础篇(原书第8版)》是Java语言的经典教材,中文版分为《Java语言程序设计基础篇》和《Java语言程序设计进阶篇》,主要介绍程序设计基础、面向对象程序设计、gui程序设计、算法和数据结构、高级...
java语言程序设计(基础篇)原书第十版 课后习题答案,自己一个行一行写的代码,不是标准答案,但每个答案都测试过。 从第9章到第13章。 包含的题目有: 第九章:9.1-9.5 9.7-9.9 9.13 第十章:10.1 10.4-10.7 第十...
java语言程序设计 梁勇 第十版答案,真的不错!良心制作,每章都归类在一个文件夹里,方便学习和自学!
用Java语言设计的文本编辑器,Java语言设计的文本编辑器
自考java 自考java自考java自考java
Java语言面向对象程序设计实验指导与习题答案 范玫 马俊编著
Java语言程序设计 (Y.Daniel Liang 著 梁勇)这本书的 基础篇+进阶篇的的代码
Java语言规范中文版(第三版) Java语言规范中文版(第三版)
java语言程序设计.pdf,新手还是有用的。
Java语言程序设计教程-ppt
Java语言程序设计(源代码)