04 2023 档案
摘要:Executor Executor 管理多个异步任务的执行,而无需程序员显式地管理线程的生命周期。这里的异步是指多个任务的执行互不干扰,不需要进行同步操作。 主要有三种 Executor: CachedThreadPool: 一个任务创建一个线程; FixedThreadPool: 所有任务只能使用
阅读全文
摘要:有三种使用线程的方法: 实现 Runnable 接口; 实现 Callable 接口; 继承 Thread 类。 实现 Runnable 和 Callable 接口的类只能当做一个可以在线程中运行的任务,不是真正意义上的线程,因此最后还需要通过 Thread 来调用。可以说任务是通过线程驱动从而执行
阅读全文
摘要:新建(New) 创建后尚未启动。 可运行(Runnable) 可能正在运行,也可能正在等待 CPU 时间片。 包含了操作系统线程状态中的 Running 和 Ready。 阻塞(Blocking) 等待获取一个排它锁,如果其线程释放了锁就会结束此状态。 无限期等待(Waiting) 等待其它线程显式
阅读全文
摘要:我们现在需要使用一个内容搜索接口,搜索的实现可能是基于文件系统的搜索,也可能是基于数据库的搜索。 可以看到输出结果:文件搜索 hello world 如果在com.cainiao.ys.spi.learn.Search文件里写上两个实现类,那最后的输出结果就是两行了。 这就是因为ServiceLoa
阅读全文
摘要:SPI(Service Provider Interface),是JDK内置的一种 服务提供发现机制,可以用来启用框架扩展和替换组件,主要是被框架的开发人员使用,比如java.sql.Driver接口,其他不同厂商可以针对同一接口做出不同的实现,MySQL和PostgreSQL都有不同的实现提供给用
阅读全文
摘要:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 反射的使用? 在Java中,Class类与java.lang.reflect类库一起对反射
阅读全文
摘要:如果你的资源实现了 AutoCloseable 接口,你可以使用这个语法。大多数的 Java 标准资源都继承了这个接口。当你在 try 子句中打开资源,资源会在 try 代码块执行后或异常处理后自动关闭。 public void automaticallyCloseResource() { File
阅读全文
摘要:异常的申明(throws) 在Java中,当前执行的语句必属于某个方法,Java解释器调用main方法执行开始执行程序。若方法中存在检查异常,如果不对其捕获,那必须在方法头中显式声明该异常,以便于告知方法调用者此方法有异常,需要进行处理。 在方法中声明一个异常,方法头中使用关键字throws,后面接
阅读全文
摘要:可查异常(编译器要求必须处置的异常): 正确的程序在运行中,很容易出现的、情理可容的异常状况。可查异常虽然是异常状况,但在一定程度上它的发生是可以预计的,而且一旦发生这种异常状况,就必须采取某种方式进行处理。 除了RuntimeException及其子类以外,其他的Exception类及其子类都属于
阅读全文
摘要:Throwable 是 Java 语言中所有错误与异常的超类。 Error 类及其子类:程序中无法处理的错误,表示运行应用程序中出现了严重的错误。 Exception 程序本身可以捕获并且可以处理的异常。Exception 这种异常又分为两类:运行时异常和编译时异常。 运行时异常 都是Runtime
阅读全文
摘要:Java自带的标准注解,包括@Override、@Deprecated和@SuppressWarnings,分别用于标明重写某个方法、标明某个类或方法过时、标明要忽略的警告,用这些注解标明后编译器就会进行检查。 元注解,元注解是用于定义注解的注解,包括@Retention、@Target、@Inhe
阅读全文
摘要:注解的作用? 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说明,可以对包、类、接口、字段、方法参数、局部变量等进行注解。它主要的作用有以下四方面: 生成文档,通过代码里标识的元数据生成javadoc文档。 编译检查,通过代码里标识的元数据让编译器在编译期间进行检查验证。 编译时动态处理,
阅读全文
摘要:第14篇:Set-LinkedHashSet
阅读全文
摘要:第12篇:Set-HashSet 属性 构造函数 序列化和反序列化 其他方法
阅读全文
摘要:第10篇:Map-WeakHashMap
阅读全文
摘要:第11篇:Map-TreeMap 属性 //TreeMap用来排序的比较器,如果为null,说明使用key的自然排序 private final Comparator<? super K> comparator; //TreeMap的根节点,类型是Entry键值对 private transient
阅读全文
摘要:第9篇:Map-LinkedHashMap
阅读全文
摘要:第8篇:Map-Hashtable put方法 addEntry方法 rehash方法 get方法 remove方法 contains方法 containsKey方法 containsValue方法
阅读全文
摘要:第2篇:List-Vector 1 构造函数 2 扩容方法
阅读全文
摘要:第3篇:List-LinkedList 1 大小 2 第一个节点 3 最后一个节点 4 元素:前一个节点,下一个节点,元素 二 构造方法 三 添加单个元素 四 添加到头尾节点 addfirst addlast offerFirst offerLast linkFirst 添加到头结点 push(E
阅读全文
摘要:第5篇:Queue-ArrayDeque 源码解析: 1 构造方法 ArrayDeque(int capacity) 2 扩容 resize (int newcapacity) 3 创建数组 T[] nearray (int siz) 4 添加元素 boolean add(T o) 5 删除元素 T
阅读全文
摘要:第4篇:Queue-ArrayQueue 构造函数 ArrayQueue() ArrayQueue(collection<? extends E> c) ArrayQueue(int numelement) 增加First方法 addFirst(E e) doubleCapacity() 增加Las
阅读全文
摘要:第6篇:Queue-PriorityQueue add(E e) offer(E e) siftUp add()和offer() element()和peek() remove()和poll() remove(Object o) 参考文章
阅读全文
摘要:第1篇:List-ArrayList Addall indexof lastindexof 2 属性:elementData ,size 3 构造方法 3个 https://blog.csdn.net/weixin_36212560/article/details/114182663 添加元素:ad
阅读全文
摘要:第12篇:函数式编程的原理、性能考究 影响性能因素:
阅读全文
摘要:linux c函数库详解词典 内存分配函数 3
阅读全文
摘要:linux c函数库详解词典 数据转换函数 2
阅读全文
摘要:linux c函数库详解词典 字符串测试函数
阅读全文