美文网首页
刷题遇到的知识点(一)

刷题遇到的知识点(一)

作者: ComputerBoy | 来源:发表于2017-10-19 23:25 被阅读0次

    JDBC链接数据库用到的是桥接设计模式;JDBC连接数据库的时候,在各个数据库之间进行切换,基本不需要动太多的代码,甚至丝毫不动,原因就是JDBC提供了统一接口,每个数据库提供各自的实现,用一个叫做数据库驱动的程序来桥接就行。

    preparedStatement与Statemnet比较:

    创建时的区别:

    Statement statement = conn.createStatement();

    PreparedStatement preStatement = conn.prepareStatement(sql);

    执行的时候:

    ResuleSet set = statement .executeQuery(sql);

    ResultSet pSet = preStatement.executeQuery();

    可以看出,PreparedStatement有预编译的过程,而statement不同,如果执行多变,则相应的就要编译多少遍sql语句,所以效率要低。

    线程安全的map在JDK105及其以上的版本实现方法:

    1、HashMp和TreeMap不是线程安全的,没有进行同步考虑;

    2、HashTable和ConcurrentHaspMap都是线程安全的,区别在于他们对锁的范围不同,HashTable对整张表进行加锁,而ConcurrentHashMap将Hash表分为16桶(segment),每次只对需要的桶进行加锁。

    3、Collections类提供了sychronizdxxx()方法,可以将指定的集合包装成线程同步的集合,比如:

    List list=Collection.syschronizedList(new ArrayList());

    Set set = Collections.synchronizedSet(new HashSet);

    Vector和ArrayList的区别:

    同步性:Vector支持线程的同步,ArrayList是线程不安全的,不是同步的;

    数据增长:当需要增长时,Vector默认为增长为原来的一倍,而ArrayList却是原来的50%,这样就有利于节约内存空间

    如果涉及到堆栈、队列等操作,应该考虑用Vector,如果需要快速随机访问元素则用ArrayList;

    创建对象有四种方法:

    序列化对象、反射、克隆、构造方法new; 但是只有反射和new 调用了构造方法 其他没有调用构造方法;

    相关文章

      网友评论

          本文标题:刷题遇到的知识点(一)

          本文链接:https://www.haomeiwen.com/subject/jivpuxtx.html