1、用Java代码列出一个目录下的所有文件?
2、用Java套接字编程实现一个多线程的回显(echo)服务器?
3、XML文档定义的几种形式?有何本质区别?解析XML文档有哪几种方式?
定义XML分为DTD和Schema;
本质区别在于Schema本身也是一个XML文件,约束能力更强;
解析XML的方式有DOM、SAX、StAX;DOM解析文件之前把整个文档装入内存;SAX是事件驱动型XML解析方式;StAX的重点在流上,能够把XML作为一个时间流来处理。
4、项目中哪些地方会用到XML?
数据交换和信息配置;但是数据交换更为流行的方式是JSON;
5、JDBC操作数据库的步骤?
加载驱动、创建连接、创建语句、执行语句、处理结果、关闭资源;
6、Statement和PreparedStatement有什么区别?哪个更好?
PreparedStatement代表预编译的语句,可以减少SQL的编译错误并增加SQL的安全性;
PreparedStatement中的SQL语句可以带参数;
批量处理SQL或频繁执行相同的查询时,SQL语句会缓存起来,性能更高;
7、使用JDBC操作数据库时,如何提升数据的读取能力?如何提升更细数据的能力?
为了提升数据的读取能力,指定每次抓取的记录数;
为了提升数据的更新能力,构建批处理SQL语句;
8、进行数据库编程时,连接池有什么用?
事先创建若干连接置于连接池中,需要时直接获取,使用结束归还即可,避免频繁的创建和删除链接所造成的开销;
9、DAO模式?
为数据库或其他持久化对象提供抽象接口的对象,不暴露底层持久化方案的前提下提供各种数据访问操作;包含两个模式:数据访问器(Data Accessor)、数据对象(Data Object);
10、事务的ACID是什么?
原子性(Atomic):要么做要么全不做;
一致性(Consistent):事务结束系统状态保持一致;
隔离性(Isolated):并发执行的事务彼此无法看到中间的状态;
持久性(Durable):事务完成的动作具有持久性;
补充:只有存在并发访问数据时是才需要事务,可能存在5类问题:脏读、不可重复读、幻读和两类丢失更新;通常,事务的隔离性越高并发性就越差。