?nalize?nalize()方法 , 在Object类上定义 , 用于对象被回收时 , 被回调 , 类似C++中的析构函数 , 可用于对对象进行销毁前的处理 , 但由于GC后再进行特殊处理 , 可能会出现内存溢出的风险 , 所以不推荐使用 。 ?nally?nally用于标识代码块 , 和try配合使用 , 它在return之前执行 , 无论try代码块中是否发生异常 , finally代码块中的代码必定会执行 。使用JDBC中 , 如何防止SQL注入
- 使用PreparedStatement类 , 而不是使用Statement类 。
Java集合、泛型ArrayList和LinkedList的区别?
- ArrayList底层使用数组 , 它的查询使用索引 , 所以效率高 , 但是增、删很慢 , 因为增、删都需要重排数组 , 例如删除中间的元素 , 就需要把后面的元素向前挪 。
- LinkedList底层使用链表 , 增、删元素只需要修改元素的前节点和后节点即可 , 所以效率高 , 但查询效率比较差 。
HashMap和HashTable的区别
- 继承关系不同HashMap是继承自AbstractMap类 , 而Hashtable是继承自Dictionary类 。
- 对null支持不同Hashtable , key和value都不能为nullHashMap , key可以为null , 但是这样的key只能有一个 , 而可以多个key的value值为null
- 线程安全Hashtable是线程安全的 , 它的每个方法都有synchronized 关键字 , 所以多线程环境下可以使用它 。HashMap是线程不安全的 , 但它的效率比Hashtable高 , 加上大部分场景都是单线程 , 如果在多线程环境下 , 推荐使用ConcurrentHashMap , 因为它使用了分段锁 , 并不对整个数据进行锁定 。
Collection和Collections的不同
- Collection是集合的父接口 , 子接口有List、Set 。
- Collections是集合类的工具类 , 提供了很多对集合操作的静态方法 , 可对集合进行搜索、排序、以及线程安全包装等 。
List、Set、Map , 3者的区别
- List , 有序 , 可重复
- Set , 无序 , 不可重复
- Map , 无序 , 键值对存储 , Key不可重复 , Value可重复
Array和ArrayList有什么区别?
- Array和ArrayList都是用来存储数据 , ArrayList的底层就是使用Array实现的 , 但它对Array的扩容和功能进行了拓展 。
说说List接口和它的实现类
- List接口是Collection接口的子接口 。List接口的实现类都是有序 , 可重复的 。List接口的实现类有ArrayList、Vector和LinkedList 。
- 实现类ArrayList , 底层通过数组实现 , 它的特点是支持索引查找 , 所以支持对元素的随机访问 。缺点是增、删元素时 , 需要对数组进行复制、移动 , 代价比较高 , 所以它适合随机访问 , 不适合插入和删除 。Vector , 底层和ArrayList一样是通过数组实现 , 但它的方法都加了同步锁 , 所以它可以在多线程环境下访问 , 避免同一时段对集合并发读写引起不一致性问题 , 但同步需要性能开销 , 所以它的效率比ArrayList低 。LinkedList , 底层使用链表实现 , 很适合元素的动态插入和删除 , 但随机访问和遍历效率会比较低 , 另外它实现了Deque接口 , 所以拥有操作头元素、尾元素的方法 , 所以可以用来当做栈和队列使用 。
说说Set接口和它的实现类
- Set接口 , 也是Collection接口的子接口 , Set接口的实现类都是不可重复的 。Set接口的实现类有HashSet、TreeSet、LinkedHashSet 。Set集合不可重复的特性是通过调用元素的hashCode()进行比较 , 如果相同 , 再调用equals()进行比较 , 都相同 , 就视为相同 , 不会添加到集合中 。
- 实现类HashSet 。底层通过Hash表实现 , 不可重复的特性是通过调用元素的hashCode()进行比较 , 如果相同 , 再调用equals()进行比较 , 都相同 , 就视为相同 , 不会添加到集合中 。TreeSet , 底层通过二叉树实现 , 可对元素进行插入时就排序 , 它要求插入的元素比较实现Comparable接口 , 复写compareTo()函数 , 或者在创建TreeSet时传入自定义Comparator比较器对象 , 否则会在运行时抛出java.lang.ClassCastException类型的异常 。LinkedHashSet , 底层是使用LinkedHashMap , 但它只使用了Map中的Key的唯一特性 , 来保证不可重复 。
推荐阅读
-
温酒看历史|孙权如何安排美貌的嫂子大乔?他的做法太无耻,孙策去世后
-
晴晴侃游戏|其实国服的玩家都跑去玩另一个版本!,魔兽世界都说TBC人气高
-
-
「科技漫阅媒」神舟精盾X57A1了解一下,十代i7、雷电3接口、全金属机身
-
-
甄子丹|超刚!甄子丹韩综上只讲中文,还故意强调春节是“中国年”
-
-
迈克尔-乔丹|公牛为乔丹建雕像,湖人为魔鲨科建,那骑士和勇士会为詹库建吗?
-
-
穿搭|阿迪达斯发布巴塞尔2020/21赛季主客场球衣
-
大众网|打造智能制造新名片!张术平到高新区中国长城自主创新基地调研
-
澎湃新闻|今天上海近3万人参加法考比去年多20%,最年长考生72岁
-
石墨烯|华为Mate40Pro将在10月发布,瀑布屏+石墨烯散热,六种颜色可选
-
台海网@首批返台居家检疫者叹网军煽动仇陆,有感而发
-
-
-
朱单伟|大衣哥一双儿女摆拍式健身,朱单伟一脸不情愿,朱雪梅还是那么胖
-
铁矿|本周澳洲巴西铁矿发运总量环比增加282.3万吨
-
大奇聊车|果然不是一家人不进一家门啊!,搞笑GIF趣图:这对夫妻太逗比了
-
趣事箩筐|不料跳车后摔伤,直接回家告状:大货车撞的,小孩扒车兜风38公里