本文共 2099 字,大约阅读时间需要 6 分钟。
使用for-each循环,迭代器
使用迭代器更加线程安全,因为它可以确保,在当前遍历的集合元素被更改的时候,它会抛ConcurrentModificationExceptionListstrList = new ArrayList<>();//使用for-each循环for(String obj : strList){System.out.println(obj);}//using iteratorIterator it = strList.iterator();while(it.hasNext()){String obj = it.next();System.out.println(obj);}
ArrayList、LinkedList、Vector和Stack是List的四个实现类,其中Vector是基于JDK1.0,虽然实现了同步,但是效率低,已经不用了,Stack继承Vector
区别:1:加载驱动
2:创建连接 3:创建语句 4:执行语句 5:处理结果 6:关闭资源1:加载驱动 Class.forName("oracle.jdbc.driver.OracleDriver");2:创建连接 Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "1111", "1111");3:创建语句 PreparedStatement ps = con.prepareStatement("select * from user");4:执行语句 ResultSet rs = ps.executeQuery();5:处理结果 while(rs.next()) { rs.get.....(“”); }6:关闭资源 finally { if(con != null) { try { con.close(); } catch (SQLException e) { e.printStackTrace(); } } }
1.HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口
2.主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高Hashtable 3.HashMap允许将null作为一个entry的key或者value,而Hashtable不允许 4.最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是两个字节,可以存储,前提是汉字必须是Unicode编码
json、file、xml、jsonp等
==:比较两个数据内存地址是否相同
equals:比较两个数据值是否一样MVC:是一个框架设计模式,其中M(模型)、V(视图)、C(控制器)
视图:视图向用户显示相关的数据,并接受用户的输入。视图不进行任何业务逻辑处理。如:jsp、html等 模型:表示业务数据和业务处理。属于数据模型,如:entity、jdbc、hibernate、mybatis等 控制器:接收、响应用户请求,servlet、action、controller等wait():使一个线程处于等待状态,并且释放所持有的对象的lock。
sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常。 notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。 Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。TCP稳定性较高,但效率低
UDP通讯相反,效率较高,但稳定性较差转载地址:http://vgqen.baihongyu.com/