04 2022 档案
摘要:1.流的分类 1.1 单位:字符流、字节流 1.2 流向:输入、输出 1.3 角色:结点、处理 2.流的体系结构 抽象基类 文件流 缓冲流 InputStream FileInputStream BufferedInputStream OutputStream OutputStream Buffer
阅读全文
摘要:1.自定义注解 @SuppressWarnings("unsed") @myAnnotaion("hi") public class AnnotaionTest { public static void main(String[] args) { Class<AnnotaionTest> annot
阅读全文
摘要: 看了网上的截图方法,感觉有些步骤是多余的,自己有些心得体会,记录一下。 1.动态规划问题 这种求最大值的我们一般可以用动态规划求解。我们想清楚设置一个矩阵dp[m][n]的矩阵。每个元素代表的值则表示到达这个位置的最大值。 那么dp[0][0] 就为1,dp[0][1] 为 4 d
阅读全文
摘要:1.枚举类定义 package com.cj.java5; public class EnumTest { public static void main(String[] args) { Season spring = Season.SPRING; System.out.println(sprin
阅读全文
摘要:1.反射调用构造器,方法,属性 package com.cj.java4; import org.junit.Test; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.re
阅读全文
摘要:1.Map的实现类的结构 1.1 实现类 Map:key-values | HashMap:线程不安全,效率高 底层 数组+链表+红黑树 | LinkedHashMap: 在HashMap基础上加了一对前后指针,对于遍历操作效率高于HashMap | TreeMap :保证按照添加的key-valu
阅读全文
摘要:1. 泛型类,泛型方法 1.1 方法先定义后使用 class ObjectTool<T>{ private T obj; public T getObj() { return obj; } public void setObj(T obj) { this.obj = obj; } public <E
阅读全文
摘要:1.特性 1.1 无序性:不等于随机性,存储的数据再底层数组中并非按照索引存放,而是按照哈希值 1.2 不可重复性:保证添加的元素按照equals 判断时不能返回true 2 HashSet LinkedList TreeSet 2.1 2.2 LinkedList 也是无序的,能够按照添加的顺序便
阅读全文
摘要:1.三者区别 1.1 List 存储有序的,可重复的数据1.2 ArrayList 线程不安全效率高,底层使用 Object[] elementData1.3 LinkedList 频繁的插入,删除使用此类效率比ArrayList 高,底层使用双向链表1.4 Vector 线程安全,效率不高 底层使
阅读全文
摘要:1. == 1.1 基本数据类型比较值 1.2 引用数据类型比较引用地址 public class EqualsTest { public static void main(String[] args) { Person tom = new Person(1, "Tom"); Person tom1
阅读全文
摘要:package com.cj.java1; import java.util.concurrent.Executor; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; class
阅读全文
摘要:package com.cj.java1; import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.FutureTask; //
阅读全文
摘要:package com.cj.java1; class Producer extends Thread{ private Clerk clerk; public Producer(Clerk clerk){ this.clerk = clerk; } @Override public void ru
阅读全文
摘要:package com.cj.java1; import java.util.concurrent.locks.ReentrantLock; class Number implements Runnable{ private int number = 1; private ReentrantLock
阅读全文
摘要:package com.cj; import java.util.concurrent.locks.ReentrantLock; public class LockTest implements Runnable{ private static int ticket = 100; private R
阅读全文
摘要:package com.cj; class Book { private Book(){} private static Book instance = null; public static Book getInstance() { if(instance==null){ //同步代码块 sync
阅读全文
摘要:1.同步代码块 1.1 使用 synchronized 解决 Runnable 线程安全问题 ps: 使用同一个obj 的锁 package com.cj; class WindowsTest2 implements Runnable{ private int ticket = 100; Objec
阅读全文