java⾯试⾃⾝优缺点_⾯试总结之JAVA 1. what is thread safe?
线程安全就是说多线程访问同⼀代码,不会产⽣不确定的结果。编写线程安全的代码是低依靠线程同步。
线程安全: 在多线程中使⽤时,不⽤⾃已做同步处理
线程不安全: 在多线程中使⽤时,必须做线程同步,不然会有未知后果
进程和线程的区别?
如何启动线程,最有效终⽌线程的⽅法?
wait & sleep的区别?
实现线程类有⼏种⽅法?为什么要有两种(extend thread/implement runnable)
2. jdbc?
⽤jdbc连到db2要经过⼏步?建⽴连接,发送sql语句,处理结果
What are 4 drivers available in JDBC ?(⾼)
3. String 和 Stringbuffer的区别
String s1 = "Monday";
String s2 = "Monday";
String s1 = "Monday";
java重写和重载的区别String s2 = new String("Monday");
的区别
Exception: 请给出 5 common example of exceptions
what is a "resource leak"?
Java设计有Finally blocks的主要原因?
若多个catch blocks都匹配抛出的异常,怎么处理?
异常没有被捕获到的时候程序会发⽣什么?
5. 软件设计模式?列⼏个知道的及其实现⽅法
6。有关类的public、private和protected
(1) ⽆public修饰的类,可以被其他类访问的条件是:a.两个类在同⼀⽂件中,b.两个
类在同⼀⽂件夹中,c.两个类在同⼀软件包中。
(2) protected:继承类和同⼀软件包的类可访问。
(3) 如果构造⽅法为private,那么在其他类中不能创建该类的对象。
⼀般⽤什么⽅法去获取private的数据?
7.Javabean 有什么好处,
我理解Bean就是个容器
上⾯这个就是个最最简单的例⼦,⽤eclipse⽣成的
Bean对其中的成员变量作了很好的封装和保护
可以使⽤set、get使对变量的操作做⼀些限定
javaBean有⼏个典型特征:
是⼀个public类
有⼀个不带参数的构造⽅法
通过getXXX获取属性,通过setXXX设置属性。
JSP 如何调⽤JAVAEAN
jsp:useBean id="tempname" class="com.****.****" scope="page"/>
8. java中xml的解析。举⼏个解析的⽅法:DOM(JAXP Crimson解析器) ,接着是SAX ,JDOM,DOM4j
⽤过哪个?为什么选这个,跟其他的优缺点⽐较
解析xml步骤:file, 读⽂件, root(element)。。。
9. SWT 和 swing的区别
10. 谈谈final, finally, finalize的区别。(基本,可判断使⽤java时间的长短)
final—修饰符(关键字)如果⼀个类被声明为final,意味着它不能再派⽣出新的⼦类,不能作为⽗类被继承。因此⼀个类不能既被声明为abstract的,⼜被声明为final的。将变量或⽅法声明为final,可以保证它们在使⽤中不被改变。被声明为final的变量必须在声明时给定初值,⽽在以后的引⽤中只能读取,不可修改。被声明为final的⽅法也同样只能使⽤,不能重载
finally—在异常处理时提供 finally 块来执⾏任何清除操作。如果抛出⼀个异常,那么相匹配的 catch ⼦句就会执⾏,然后控制就会进⼊finally 块(如果有的话)。
finalize—⽅法名。Java 技术允许使⽤ finalize() ⽅法在垃圾收集器将对象从内存中清除出去之前做必要的清理⼯作。这个⽅法是由垃圾收集器在确定这个对象没有被引⽤时对这个对象调⽤的。它是在 Object 类中定义的,因此所有的类都继承了它。⼦类覆盖 finalize() ⽅法以整理系统资源或者执⾏其他清理⼯作。finalize() ⽅法是在垃圾收集器删除对象之前对这个对象调⽤的。
11. HashMap和Hashtable的区别。(中, 可判断使⽤java时间的长短。)
都属于Map接⼝的类,实现了将惟⼀键映射到特定的值上。
HashMap 类没有分类或者排序。它允许⼀个 null 键和多个 null 值。
Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。它也⽐ HashMap 慢,因为它是同步的。
12. Collection 和 Collections的区别。(可以详问怎样实现排序-⾼)
Collections是个java.util下的类,它包含有各种有关集合操作的静态⽅法。
Collection是个java.util下的接⼝,它是各种集合结构的⽗接⼝。
13. Java内存管理
GC是垃圾收集器。Java 程序员不⽤担⼼内存管理,因为垃圾收集器会⾃动进⾏管理。要请求垃圾收集,可以调⽤下⾯的⽅法之⼀:
<()
14. sleep() 和 wait() 有什么区别? (可判断个⼈的理解)
搞线程的最爱sleep()⽅法是使线程停⽌⼀段时间的⽅法。在sleep 时间间隔期满后,线程不⼀定⽴即恢复执⾏。这是因为在那个时刻,其它线程可能正在运⾏⽽且没有被调度为放弃执⾏,除⾮(a)“醒来”的线程具有更⾼的优先级(b)正在运⾏的线程因为其它原因⽽阻塞。
wait()是线程交互时,如果线程对⼀个同步对象x 发出⼀个wait()调⽤,该线程会暂停执⾏,被调对象进⼊等待状态,直到被唤醒或等待时间到。
15. Overload和Override的区别。Overloaded的⽅法是否可以改变返回值的类型?(理解)
⽅法的重写Overriding和重载Overloading是Java多态性的不同表现。
重写Overriding是⽗类与⼦类之间多态性的⼀种表现,重载Overloading是⼀个类中多态性的⼀种表现。如果在⼦类中定义某⽅法与其⽗类有相同的名称和参数,我们说该⽅法被重写 (Overriding)。⼦类的对象使⽤这个⽅法时,将调⽤⼦类中的定义,对它⽽⾔,⽗类中的定义如同被“屏蔽”了。如果在⼀个类中定义了多个同名的⽅法,它们或有不同的参数个数或有不同的参数类型,则称为⽅法的重载(Overloading)。Overloaded的⽅法是可以改变返回值的类型。
16. abstract class和interface有什么区别?
声明⽅法的存在⽽不去实现它的类被叫做抽象类(abstract class),它⽤于要创建⼀个体现某些基本⾏
为的类,并为该类声明⽅法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然⽽可以创建⼀个变量,其类型是⼀个抽象类,并让它指向具体⼦类的⼀个实例。不能有抽象构造函数或抽象静态⽅法。Abstract 类的⼦类为它们⽗类中的所有抽象⽅法提供实现,否则它们也是抽象类为。取⽽代之,在⼦类中实现该⽅法。知道其⾏为的其它类可以在类中实现这些⽅法。
接⼝(interface)是抽象类的变体。在接⼝中,所有⽅法都是抽象的。多继承性可通过实现这样的接⼝⽽获得。接⼝中的所有⽅法都是抽象的,没有⼀个有程序体。接⼝只可以定义static final成员变量。接⼝的实现与⼦类相似,除了该实现类不能从接⼝定义中继承⾏为。当类实现特殊接⼝时,它定义(即将程序体给予)所有这种接⼝的⽅法。然后,它可以在实现了该接⼝的类的任何对象上调⽤接⼝的⽅法。由于有抽象类,它允许使⽤接⼝名作为引⽤变量的类型。通常的动态联编将⽣效。引⽤可以转换到接⼝类型或从接⼝类型转换,instanceof 运算符可以⽤来决定某对象的类是否实现了接⼝。
17. 启动⼀个线程是⽤run()还是start()?(⾼)
启动⼀个线程是调⽤start()⽅法,使线程所代表的虚拟处理机处于可运⾏状态,这意味着它可以由JVM调度并执⾏。这并不意味着线程就会⽴即运⾏。run()⽅法可以产⽣必须退出的标志来停⽌⼀个线程。
18.实现⼀个Thread 有⼏种⽅法?以及区别。(中)
两种,继承thread或实现runable接⼝。区别在多继承上。
19.JDBC连接数据库的步骤。Statement有⼏种,怎么使⽤。Datasource怎么使⽤(判断使⽤java的熟练度,个⼈发挥)
20.如果⽤过EJB,可以问怎么写EJB,如何部署。相关知识可以有JNDI,RMI, SOCKET等。(⾼,个⼈能⼒,表达,理解)
21.⽤过STRUCTS,SPRING, hebnate的可问相关问题(你来整理⼏个:) 我这⽅⾯不是很熟。可以考验个⼈能⼒,表达,理解。 ⾼)描述⼀下MVC模式的框架,以及说明⼀下struts的⼏个主要类分别完成mvc的那个部分。
22. 举出⼏个常⽤的设计模式并简要说明。例如
23. Util包相关问题。在做项⽬的过程中,您是如何选择使⽤哪种集合类的?
24. 您认为java需要进⾏性能优化么?是否举例说明进⾏java性能优化的经验。
⾯试官问我同步容器(如Vector)的所有操作⼀定是线程安全的吗?
详解⾯试中常考的 Java 反射机制
500+ 精选 Java ⾯试题⼤放送

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。