`
dingchd
  • 浏览: 15685 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java语言铭记录(1)

    博客分类:
  • java
阅读更多

路漫漫其修远贫,吾将上下而求索

 

Java 语言

 

1)描述Java语言的特点,同C相比编程思维如何

2)Java内置的数据类型及其位数

3)char能否存储一个汉子?Unicodeutf-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内部有哪些方法?equalshashcode的默认实现如何?有何用处?哪些场景会使用?

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)使用HashMapKeyValue需要考虑什么?Key需要覆盖哪些方法?如果不覆盖会如何(性能、正确性?),HashMap内部如何实现的?HashMapputget方法复杂度如何?

15)HashMapHashTable有何区别?各自扩展哪些类?什么场合会使用?还有一个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)以开源软件为例说明什么情况下要实现自定制的classloaderjdk内置的classloader有哪些?

25)ClassNotFoundExceptionNoClassDefFoundError有何区别

26)Java注解有哪几种生命周期?考虑Spring的自动装配模式,其如何实现注解模式的自动装配?都有哪些中注解?其在class字节码中保存位置如何?

27)描述Java的反射机制,在什么情况下会使用反射?Java为何设计反射的功能?

28)描述Java内置的动态代理实现原理?举个常见的使用动态代理的场景(RPC client

29)Java创建线程使用什么方法?startrun有何区别?线程状态有哪些种?有哪些方式实现线程(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)ReentranLocksynchronized有何异同?适用场景如何?(从性能并发考虑)

33)描述一下Atomic原子类的实现机制?CAS算法原理、底层实现?CAS算法的ABA问题?

34)Volatile关键字的用途如何?什么是线程安全?什么是先行发生原则?从先行发生角度解释volatile的作用

35)描述一下多线程环境下的内存模型(工作内存、主内存),解释volatile的底层实现

36)描述一下阻塞队列的实现原理?适用场景?使用wait/notify实现简单的阻塞队列

37)描述线程池ThreadPool的实现原理?自己实现一个简单的线程池,实现可暂停功能

38)描述并发队列、并发HashMap的实现原理、描述写时复制链表的实现原理

39)HashMapclone方法如何实现?使用时需要考虑哪些隐藏陷阱?

40)Wait/notify使用时有哪些陷阱?notifynotifyAll区别?

41)Waitsleep语义?区别?使用场景?

 

42)**Stream**Reader异同?适用场景?

分享到:
评论

相关推荐

    java+mysql小型学生成绩管理系统 控制台运行

    Java Database Connectivity (JDBC) 是Java语言连接数据库的标准API。使用JDBC,Java程序可以连接到MySQL数据库,执行SQL语句并处理结果。这涉及到加载数据库驱动,建立连接,创建Statement或PreparedStatement对象...

    ATM的java实训项目设计报告书

    ATM的Java实训项目设计报告书是一份详细记录了如何使用Java编程语言实现自动取款机(ATM)系统的设计报告。这份报告由何珍珍和张明月两位同学完成,他们在河南经贸职业学院信息管理系学习《Java程序设计》课程,并在...

    Java学生成绩管理系统源代码

    本系统是一个基于Java语言开发的简单学生成绩管理系统,主要用于实现对学生信息的基本管理功能,包括学生信息的添加、查询、删除等操作。该系统利用了Java标准库中的多个类来完成文件读写、数据处理等功能。 #### ...

    java 串口开发rxtxParallel.dll、rxtxSerial.dll

    3. **JNI接口**:JNI是Java平台标准的一部分,允许Java代码和其他语言写的代码进行交互。RXTX库使用JNI技术调用了操作系统底层的串口和并口通信函数,从而实现了高效的通信。 4. **并口通信**:并口通信相比串口...

    Java聊天室

    【Java聊天室】是一款利用Java编程语言开发的实时通信应用,它允许用户通过网络进行文本、语音甚至视频的交流。这个应用小程序展示了Java在构建分布式系统中的能力,特别是在网络编程和多线程处理方面。下面将详细...

    BS结构项目实训__Java Web开发

    2.1 Java Servlet:Servlet是Java语言对HTTP协议的封装,它是服务器端接收和响应请求的核心组件。 2.2 JSP(JavaServer Pages):JSP允许将HTML代码与Java代码混合编写,简化了视图层的开发,提高开发效率。 2.3 ...

    商业编程-源码-铭少Web邮件发送器 v3.4 alpha版.zip

    2. **后端处理**:这通常涉及到服务器端语言,如PHP、Python、Java或.NET,用于接收前端提交的数据,验证输入,然后构造SMTP命令进行邮件发送。 3. **SMTP通信**:使用SMTP协议与邮件服务器进行通信。开发者可能...

    java连接MySql数据库 教室预约管理系统 (包含重要图:数据流程图,IPO图,代码设计,业务流程图,数据库设计等等...)

    管理信息系统课程设计是一项综合性的实践任务,旨在让学生掌握实际项目开发的技能,本项目以Java语言为开发工具,利用MySQL数据库,构建了一个教室预约管理系统。此系统不仅提供了基础的教室预约、查询、修改和删除...

    宿舍管理系统.zip

    这个系统采用Java语言进行开发,特别是在UI界面部分使用了`java.awt`库,它提供了丰富的图形用户界面组件,如按钮、文本框等,使得用户可以方便地与系统交互。在后端,系统利用MySQL数据库来存储和管理数据,实现了...

    apache-tomcat-6.0.30

    Apache Tomcat 6.0.30 是一个广泛使用的开源软件,它是一个符合Java Servlet和JavaServer Pages(JSP)规范的应用服务器,主要用于部署和运行Java Web应用程序。Tomcat是Apache软件基金会Jakarta项目的一部分,它以...

    超市商品管理系统

    首先,我们要理解Java是一种广泛使用的编程语言,它具有跨平台性、面向对象以及丰富的库支持等特性,使得它成为开发这种业务管理系统理想的工具。在本系统中,Java的这些优点得以充分发挥,确保了系统在不同操作系统...

    海康威视WEB3开发包.zip

    SDK通常会提供多种语言版本(如Java、Python、C#等),以满足不同开发环境的需求。 3. **示例代码**:开发包内可能包含了一些示例代码,这些代码展示了如何调用API接口,实现基本的设备控制和视频流处理。通过分析...

Global site tag (gtag.js) - Google Analytics