Java 面试题目小结(未完待续)
2015-11-27 17:36
375 查看
1.JVM的组成部分参考:http://thw.iteye.com/blog/953869q Class Loader 类加载器q Execution Engine 执行引擎执行引擎也叫做解释器(Interpreter) ,负责解释命令,提交操作系统执行。q Native Interface 本地接口q Runtime data area 运行数据区2.线程安全和非线程安全的区别
线程安全就是说多线程访问同一代码,不会产生不确定的结果。编写线程安全的代码是低依靠线程同步。3.servlet是否是线程安全的
servlet是否线程安全是由它的实现来决定的,如果它内部的属性或方法会被多个线程改变,它就是线程不安全的,反之,就是线程安全的。(不要使用全局共享变量,不会造成线程不安全)4.synchronized和lock的区别
主要相同点:Lock能完成Synchronized所实现的所有功能。 主要不同点:Lock有比Synchronized更精确的线程予以和更好的性能。 Synchronized会自动释放锁,但是Lock一定要求程序员手工释放,并且必须在finally从句中释放。 synchronized修饰方法时 表示同一个对象在不同的线程中 表现为同步队列 如果实例化不同的对象 那么synchronized就不会出现同步效果了。5.HashMap和HashTable的区别
第一,继承不同。 public class Hashtable extends Dictionary implements Map public class HashMap extends AbstractMap implements Map第二 Hashtable 中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。在多线程并发的环境下,可以直接使用Hashtable,但是要使用HashMap的话就要自己增加同步处理了。 第三 Hashtable中,key和value都不允许出现null值。 在HashMap中,null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null。当get()方法返回null值时,即可以表示 HashMap中没有该键,也可以表示该键所对应的值为null。因此,在HashMap中不能由get()方法来判断HashMap中是否存在某个键, 而应该用containsKey()方法来判断。 第四,两个遍历方式的内部实现上不同。 Hashtable、HashMap都使用了 Iterator。而由于历史原因,Hashtable还使用了Enumeration的方式 。 第五 哈希值的使用不同,HashTable直接使用对象的hashCode。而HashMap重新计算hash值。 第六 Hashtable和HashMap它们两个内部实现方式的数组的初始大小和扩容的方式。HashTable中hash数组默认大小是11,增加的方式是 old*2+1。HashMap中hash数组的默认大小是16,而且一定是2的指数。6. hibernate有那些缓存,怎么样使缓存失效。7. ssh和spring mvc的区别
(1)SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(Data Access Objects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理struts和hibernate。(2)struts封装的功能更多更全面,用法比较独有。springmvc比较接近原生servlet,灵活度高。而且因为springmvc的controller是单例的,以及没有大量的过滤器,性能要比struts2好。还有一点就是Spring有自己的JdbcTemplate,用来执行原生态的SQL语句。SSH中操作数据库使用的是Hibernate的数据映射,操作的是对象。(3)8. mysql的有那些优化方法9. 怎么理解多线程编程
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统