当前位置:文档之家› 尚学堂java笔试和面试技术题目总结

尚学堂java笔试和面试技术题目总结

JAVA基础笔试题目1.JDK和JRE的区别?Java Development Kit. 包含了JRE、编译器等程序。

Java Runtime Environment指的是java运行时环境。

负责启动虚拟机,加载和运行class文件。

2.JVM是什么?工作原理?JVM是sun公司定义的规范。

java vitual mashine。

3.GC是什么?是如何回收对象的?Gabbage collection 垃圾回收器。

哪些对象需要回收?对象没有被引用。

4.System.gc()的作用是?程序员能直接调用垃圾回收器吗?GC不能被程序员调用。

System.gc()可以通知调用垃圾回收器。

GC程序员不能直接调用GC5.一个java源文件,可以定义多个class类吗?可以定义多个public类吗?可以。

6.java中,包含几种数据类型?基本数据类型byte 1个字节short 2个字节int 4个字节整形常量默认类型long 8个字节float 4个字节double 8个字节浮点常量的默认类型char 2个字节Unicode码char所占的字节要看编码的常用中文字符用utf-8编码占用3个字节(大约2万多字),但超大字符集中的更大多数汉字要占4个字节(在unicode编码体系中,U+20000开始有5万多汉字)。

GBK、GB2312收编的汉字占2个字节,严格地用iso8859-1无法表示汉字,只能转为问号。

boolean 1位引用数据类型(4个)7.&和&&的区别? 3&4和3&&4哪个写法是不对的?&,按位与//安慰与&& 逻辑与短路//逻辑与会产生短路的情况。

8.2x4=8. 最快的算法怎么实现?移位运算。

左移一位表示乘以一个2.9.堆区和栈区的区别?10. 包装类使用时,自动装箱和拆箱是怎么回事?Integer I = 3; //装箱。

实际上是一种编译器魔术。

编译器帮助我们修改了代码: Integer I = new Integer(3);int a = new Integer(3); int a =3 :int b=a.intValue() 11. equals 方法和==的区别?== 判断对象是否相同。

equals 是Object 类中的方法,他的默认实现也是比较引用地址。

不过,很多类重写了这个方法,一般用来比较对象中某些的属性的值。

Equals 是object 类中的方法 默认也是实现比较引用地址 重写此方法。

12. 说出你编程中,常见的异常。

至少5个。

UnsupportedOperationException 不支持的操作 unsupportedoperationExeception IllegalArgumentException 非法参数 IllggalArgumentExeceptionIndexOutOfBoundsException 索引出界 indexOutofBoundsException 算术异常ClassNotFoundExeception SqlExeception classCastExeception NumberFormatException自己去想。

13. 成员变量和静态变量的区别?在内存中如何存放?成员变量,实例变量:从属于对象。

存放在堆。

静态变量:从属于类。

存放在方法区14.重载是怎么回事?重写是怎么回事?重载overload:一个方法名定义多个方法。

参数列表不同(个数、顺序、类型不同),返回值不能构成重载。

重写override 覆盖。

将父类的方法覆盖。

15.java中继承如何实现?extends16.包含抽象方法的类一定是抽象类吗?是。

17.java中,聊聊的多态? 面向接口编程?多态的实现:父类引用指向子类对象。

在实际开发中,我们项目中使用了spring。

一般都采用面向接口编程。

我们将变量类型全部定义成接口的类型。

然后,运行时再通过spring注入具体的实现。

18.封装的实现中,说明private、protected、default、public的区别?private 私有。

只有自己类中可以调用。

protected 受保护。

子类中能用。

子类不在同一个包中能不能调用??? 不能3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。

default :同一个包中可以用。

public:公开的。

任何地方都可以用。

19.面向对象的三大特征有哪些?封装、继承、多态20.浮点数是有误差的。

如果要实现精确的计算?BigDecimal bigdecimal21.char类型,能表示汉字吗?为什么?22.final修饰变量、方法、类,都有什么区别?变量:常量方法:不能被子类重写类:不能被继承23.final,finally,finalize方法的区别?final修饰变量、修饰方法、修饰类。

finally在异常处理中使用。

表示不管有没有异常都会执行这里。

通常用来释放资源。

finaliize,垃圾回收这个对象前执行的方法。

24.String是不可变字符? 从源代码分析,为什么?内部有一个char数组。

这个数组使用了final修饰。

意味着只能初始化一次。

25.StringBuffer和StringBuilder的区别?StringBuffer可变字符序列,线程安全StringBuilder可变字符序列。

线程不安全。

一般用它。

最重要的区别是,当需要数据增长时StringBuffer只有一个实例,占用内存空间小。

而String每new一次增加一个实例,耗费资源多。

26.java中,类可以多继承吗?接口可以多继承吗?类不可以多继承。

接口可以多继承。

多实现27.数组是对象吗?是。

28.数组中元素默认初始化的规则是什么?跟成员变量的规则是一样的。

引用类型为null。

数值:0 布尔:false29.数组的长度是固定的吗?是的。

30.Collection、List和Set接口有什么联系?Collection是List和Set的父接口。

31.list和set接口的区别是?List:有序、可重复。

Set:无序、不可重复。

32.Collection和Collections的区别?Collection接口。

Collections是一个针对Collection提供的工具类。

Colections是一个对collection提供的工具类33.Vector、ArrayList的区别是?Vector线程安全。

ArrayList线程不安全。

多线程多例34.HashMap和HashTable的区别是?HashTable线程安全,HashMap线程不安全。

35.两个对象hashcode()方法返回值相同,那么调用equals方法一定为true吗?从规范上讲,要。

36.AWT、swing是什么关系? swing有什么优势?AWT 是抽象窗口组件工具包,是java 最早的用于编写图形节目应用程序的开发包。

Swing 是为了解决AWT 存在的问题而新开发的包,它以AWT 为基础的。

37.GUI编程中,有哪些常用的布局管理器?Flow、Border、Card、Grid等38.如何实现序列化?实现Serielizable。

他是一个序列化接口接口。

39.要把一个字节流对象转化成字符流对象,需要用到什么类?InputStreamReader,OutputStreamWriter //处理流40.进程和线程的区别是?进程是一个独立运行的程序,拥有独立的内存空间、代码。

一个进程中可以包含多个线程。

多个线程共享同一块空间和代码。

41.写出定义线程类的两种常见方式?继承Thread、实现Runnable接口//实现ruanable接口继承Thread类42.说说,Runnable接口和Thread的区别?Thread也是实现了Runnalbe接口。

Runnable只有一个run方法很适合继承Thread new一个实例启动start方法43.synchronized如何使用?44.如果一个对象有多个synchronized方法,只要一个线程访问了其中的一个synchronized方法,其它线程不能同时访问这个对象中任何一个synchronized方法如果直接修饰方法,意味着线程要调用这个方法必须要有这个方法所在的对象的锁。

如果修饰了方法块,上面可以声明需要拥有的对象锁。

这样的话,线程只有拥有指定对象的锁才能运行这个代码块。

不然,就等待。

45.说说:wait(), notify(), sleep()方法作用?wait(),线程进入阻塞状态。

释放持有的对象锁。

sleep(),线程进入阻塞状态。

但是,不是放持有的对象锁。

notify(),唤醒等待池中的线程46.java中,反射机制的基本原理?Class类得作用是?反射机制是java动态性重要手段。

当我们加载完毕一个类的时候,会同时创建一个Class 类型的对象,Class类型的对象它包含了这个类的完整的数据结构。

就像一个镜子一样,通过这个镜子我们可以得到对应类的所有信息。

而且,Class类还包含了如何操作属性、构造器、方法的接口。

这样的话,我们就可以通过反射机制动态的创建对象、动态的调用对象的方法、动态的操作属性。

47.通过Class类,可以访问和设置一个类得私有方法、私有成员变量吗?如果能,怎么做?可以直接操作私有方法。

可以操作私有成员变量。

通过setAccessible(true)。

SetAcessible(true)48.通讯方式中,TCP和UDP的区别是?TCP:transfer control protocol 传输控制协议。

面向连接的、安全的。

效率不高的。

我们一般用的Socket就是TCP连接。

我们访问网站也是TCP/IP协议,建立连接。

Tcp/ipUDP: User Datagram Protocol 用户数据包协议。

无连接、不安全、效率高。

49.内部类??java手写编程题目1.2.3.5.编写一个生产者和消费者的程序6.7.8.“abcdefg”这个字符串,如何将它反转过来?两种方式:XML问题1.xml解析的两种基本方式:DOM和SAX的区别是?DOM: document object model。

一次加载,随机操作文档。

SAX: simple api for xml 。

按照流的方式加载。

//按照流的方式加载2.平时工作中,xml解析你是使用什么?JDOMDOM4J3.dtd、schema干嘛的?dtd: document type definition 文档类型定义。

相关主题