HTML比较相似,但HTML中的元素是固定的,而XML的标签是可以由用户自定义的,常用在保存关系型数据和配置文件。针对它常用的工具包是DOM4J
36、Hibernate的特点及其工作原理,为什么大多数公司都使用Hibernate?
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,
另外hibernate还提供一级缓存和二级缓存。可以进行简单的数据库优化和简洁的HQL编写。使用hibernate需要根据项目来确定。不能根据公司确定。 Hibernate缺点
(1) Hibernate在批量数据处理时有弱势
(2) 针对单一对象简单的增删查改,适合于Hibernate,而对于批量的修改,删除,不适合用Hibernate,这也是OR框架的弱点;要使用数据库的特定优化机制的时候,不适合用Hibernate。
37、Spring的工作流程、以及核心机制?
核心机制:IOC-控制翻转。对象的创建交由spring容器创建。常用方式有构造器创建、静态工厂、实例工厂。底层使用反射技术实现。DI-依赖注入。对象的依赖属性由容器注入。一般使用set方法注入
38、Spring中的事物隔离级别有哪些?事物隔离和传播的特点
ISOLATION_DEFAULT
默认级别,根据数据库选择对应隔离级别 ISOLATION_READ_UNCOMMITTED 可以读取未提交数据
ISOLATION_READ_COMMITTED
只能读取已提交数据,解决脏读问题(Oracle默认级别) ISOLATION_REPEATABLE_READ
是否读取其他事务提交修改后的数据,解决不可重复读问题(MySQL默认级别) ISOLATION_SERIALIZABLE
是否读取其他事务提交添加后的数据,解决幻影读问题
39、Flex的优劣点及工作流程
40、不同语言开发的程序之间如何进行通信?
Webservice
41、try{}里有一个return语句,那么紧跟在这个try后的finally{}里德code会不会被执行?什么时候被执行,在return之前还是后?
1. public class Test { 2. public static void main(String[] args) { 3. System.out.println(new Test().test());; 4. } 5. 6. static int test() 7. { 8. int x = 1; 9. try 10. { 11. return x; 12. } 13. finally 14. { 15. ++x; 16. } 17. } 18. } 19. /*---------执行结果 ---------*/ 20. 1 21. /*运行结果是1,为什么呢?主函数调用子函数并得到结果的过程,好比主函数准备一个空罐子,当子函数要返回结果时,先把结果放在罐子里,然后再将程序逻辑返回到主函数。所谓返回,就是子函数说,我不运行了,你主函数继续运行吧,这没什么结果可言,结果是在说这话之前放进罐子里的。 22. */ 42、在web开发中,将GBK字符串,以utf-8的格式进行转换输出
new String(\;
43、有一个长字符串,它的内部包含多个子字符串、子字符串之间用空格隔离,给出算法:如何去掉里面重复的字符串。
44、java递归调用输出一个目录下的所有子目录及文件名称
1. public void fun(File file){ 2. File[] files = file.listFiles(); 3. for(File _file : files){ 4. if(_file.isDirectory()){ 5. fun2(_file); 6. }else{ 7. System.out.println(_file); 8. } 9. } 10. } 45、一个月的图片的网站,用户每检索一次、阅读一张、下载一张图片就会扣除相应的签署,如果让你来设计计费模板、采用何种方式最能
节省各方面的资源,谈谈想法!
46、java中可见的访问修饰符的含义
public:访问不受限制。
protected:访问仅限于包含类或从包含类派生的类型。只有包含该成员的类以及继承的类可以存取.
Internal:访问仅限于当前程序集。只有当前工程可以存取.
protected internal:访问仅限于当前程序集或从包含类派生的类型。 private:访问仅限于包含类型。只有包含该成员的类可以存取.
47、java用什么来判断对象是否是属于某个类或借口的事例?
Instanceof
48、Java中,int和Integer有什么区别
int是java提供的8种原始数据类型之一。Java为每个原始类型提供了封装类,Integer是java为int提供的封装类。int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况,例如,要想表达出没有参加考试和考试成绩为0的区别,则只能使用Integer。在JSP开发中,Integer的默认
为null,所以用el表达式在文本框中显示时,值为空白字符串,而int默认的默认值为0, 所以用el表达式在文本框中显示时,结果为0,所以,int不适合作为web层的表单数据
的类型。
在Hibernate中,如果将OID定义为Integer类型,那么Hibernate就可以根据其值是否为null而判断一个对象是否是临时的,如果将OID定义为了int类型,还需要在hbm映射文件中设置其unsaved-value属性为0。
另外,Integer提供了多个与整数相关的操作方法,例如,将一个字符串转换成整数,Integer中还定义了表示整数的最大值和最小值的常量
49、Java中,HashMap和Hashtable的区别?
HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。
Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。
最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。
Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。
就HashMap与HashTable主要从三方面来说。
1.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现
2.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的