java
NGUhuang
这个作者很懒,什么都没留下…
展开
-
java迭代器移除元素出现并发修改异常的原因
迭代器(Iterator的对象)主要用于遍历集合,体现的就是迭代器模式。Iterator接口定义了以下四种方法。 boolean hasNext():如果集合还没遍历完就返回true。Object next():返回集合里的下一个元素。 void remove():删除集合里上一次next方法返回的元素。void forEachRemaining(Consumer action):这是...原创 2018-05-18 01:27:26 · 2215 阅读 · 0 评论 -
[Mysql][JDBC]详解(一)
JDBC(Java Data Base Connectivity)java数据库链接,由一些接口和类构成的API,主要由java.sql和javax.sql包组成链接数据的步骤:注册驱动(只做一次):一个线程只能注册一次,在真实环境里应用程序和数据库不在一台机子上,就像是在河的两边。驱动就是一个物流公司建立连接(socket):Connection就是物流公司在桥上建立的一座桥,造桥成本很大。创建...原创 2018-06-27 02:15:26 · 586 阅读 · 0 评论 -
[java][集合]HashMap源码分析和实现
HashMap集合的简介Map集合用语保存具有映射关系的数据,保存着两组值,一组用于保存key,一组用于保存Value,key和value保存的值可以是任何引用类型。key保存的值是不能重复的,value可以重复,key和value的值都可以为null,但是只允许最多一条记录key的值为null,value的值允许多条。HashMap是基于哈希表的,哈希表是由数组加链表共同构成的一个数据结构。内部...原创 2018-05-29 02:06:06 · 340 阅读 · 0 评论 -
[java][集合]HashSet详解
HashSet是Set集合最典型的的实现,也是最常用的,HashSet利用Hash算法来存储集合中的元素,因此具有很好的存储和查找的性能。查看源码发现HashSet在底层实现时时转化为HashMap实现的public class HashSet<E> extends AbstractSet<E> implements Set<E>, Clonea...原创 2018-06-04 01:22:37 · 544 阅读 · 0 评论 -
java函数式编程与Lambda表达式(一)
在学习java集合时,发现jdk1.8新增了两个函数式接口Predicate和Consumer,下面根据这两个接口学习一下java的函数式编程。首先什么叫函数式编程,原创 2018-06-03 23:09:47 · 622 阅读 · 0 评论 -
java.lang.Comparable接口和java.util.Comparator接口的区别
Comparable简介Comparable接口是排序接口,该接口只有一个抽象方法compareTo(),实现该接口的类必须重写该方法。实现该类的接口有String、所有包装类等。所有实现该接口的类都可以使用Arrays.sort和Collections.sort自动排序。以下是Comparable接口的源码。public interface Comparable<T> { p...原创 2018-06-03 00:27:40 · 404 阅读 · 0 评论 -
[java][反射]类的加载与反射机制(一)
一 类的加载、连接、和初始化1 JVM和类 当调用java命令运行某个程序时,就会自动开启一个进程。无论程序多么复杂,该程序启动了多少线程,他们都在这个JVM的进程里,只有当出现下面四种情况,进程才会停止: 程序运行到最后,正常结束 遇到了System.exit()或Runtime.getRuntime().exit()代码结束程序 遇到了未捕获的异常或错误的结束程序 ...原创 2018-05-26 00:20:58 · 291 阅读 · 0 评论 -
[java][集合]LinkedList详解及源码分析
LinkedList的基本结构LinkedList是一个双端链表,继承了AbstractSequentialList,实现了List、Serializable、Cloneable、Deque接口,线程不安全。链表结构什么是链表?就像是自行车的链条,一环接一环,如果我们需要寻找其中的某一环,只要我们能找到任意一环就可以找到我们需要的那一环。在链表中的每一环都叫节点,节点氛围三个部分两端分别存储的是前...原创 2018-05-22 00:45:25 · 319 阅读 · 0 评论 -
[java][集合]Iterator和ListIterator两种迭代器的比较
Iterator和ListIterator在ArrayList中分别由Itr和ListItr两个内部类实现ListIter是ArrayList中的一个内部类继承了Itr实现了ListItrtator,源码如下: private class ListItr extends Itr implements ListIterator<E> { ListItr(int index...原创 2018-05-20 01:09:11 · 776 阅读 · 0 评论 -
[java][集合]ArrayList的详解与源码分析(基于java8)
ArrayList简介ArrayList是一个数组队列,底层是这个类的一个成员变量(Object[] elementData ),容量可以实现动态改变。 和数组一样可以实现添加(add方法)、修改(set方法)、删除(remove 方法)、遍历。ArrayList实现了Serializable接口(可以实现对象流的序列化和反序列化)、Cloneable接口、RandomAccess接口(标记接口可...原创 2018-05-19 22:35:32 · 203 阅读 · 0 评论 -
[mysql]mysql技术内幕 InnoDB存储引擎读书笔记-MySQL体系结构和存储引擎(一)
数据库和实例数据库和数据库实例是两个很容易混淆的概念数据库:是一组文件,大多是以frm、MYD、MYI、ibd结尾的文件,数据库文件可能不是操作系统上的也可能是内存中的实例:数据库实例才是真正用于操作数据库文件的,这里需要提一下,MySQL是单进程多线程的。在MySQL中数据库和实例是一一对应的。MySQL由以下部分组成:连接池组件管理服务和工具组件SQL接口组件查询分析器组件优化器组件缓冲(Ca...原创 2018-06-28 20:18:32 · 533 阅读 · 0 评论