上海齐著云科技Java面试、笔试题

1.notifyAll有什么不好?
如果调用notify,多个线程中只会有一个线程从休眠转入阻塞状态,这个线程会参与争夺那个被synchronized的资源,而如果调用notifyAll,那么所有休眠的线程都会转入阻塞状态去争夺资源。

2. java事务代码的书写
Class.forName("com.mysql.jdbc.Driver");    
try{  
Connection con=DriverManager.getConnection("jdbc:mysql://localhost/dbtest", "root", "root");    
Statement stmt=con.createStatement();
System.out.println("开启事务");    
con.setAutoCommit(false);  //关闭自动提交开启事务
stmt.executeUpdate("insert into student values (’sw1’,’事务1’,’男’)");    
stmt.executeUpdate("insert into student values (’sw2’,’事务2’,’女’)");    
con.rollback();    
stmt.executeUpdate("insert into student values (’sw3’,’事务3’,’男’)");    
stmt.executeUpdate("insert into student values (’sw4’,’事务4’,’女’)");    
con.commit();  //如果你不提交那么本次操作不会对数据库造成任何    
System.out.println("事务提交");    
}catch(SQLException e){
System.out.println("数据库操作出现异常");    


3.自己用java实现观察者模式
可参考:http://www.cnblogs.com/mengdd/archive/2013/02/07/2908929.html
java中Observable、Observer使用方法可参考
http://blog.csdn.net/hfhwfw/article/details/38044381

4. java中的SHA的使用
try{  
String msg = "hello world";  
System.out.println("明文是:" + msg);  
MessageDigest md5 = MessageDigest.getInstance("SHA");   
byte[] srcBytes = msg.getBytes();  
md5.update(srcBytes);   
byte[] resultBytes= md5.digest();  
String result = new String(resultBytes);  
System.out.println("密文是:" + result);  
String result1 = new String( Hex.encode(resultBytes));  
System.out.println("16进制密文是:" + result1);  
} catch( NoSuchAlgorithmException e){  
e.printStackTrace();  

}  

5. 业务数据每天有2tb解决方案

6. 结构化数据库与非结构化数据库
在信息社会,信息可以划分为两大类。一类信息能够用数据或统一的结构加以表示,我们称之为结构化数据,如数字、符号;而另一类信息无法用数字或统一的结构表示,如文本、图像、声音、网页等,我们称之为非结构化数据。结构化数据属于非结构化数据,是非结构化数据的特例。 
随着网络技术的发展,特别是Internet和Intranet技术的飞快发展,使得非结构化数据的数量日趋增大。这时,主要用于管理结构化数据的关系数据库的局限性暴露地越来越明显。因而,数据库技术相应地进入了“后关系数据库时代”,发展进入基于网络应用的非结构化数据库时代。所谓非结构化数据库,是指数据库的变长纪录由若干不可重复和可重复的字段组成,而每个字段又可由若干不可重复和可重复的子字段组成。简单地说,非结构化数据库就是字段可变的数据库。

你可能感兴趣的:(java,面试题,笔试题)