随笔分类 - java基础
摘要:1.方法引用 对象::方法 引用类型一样public void test5(){ Consumer<String> con = System.out::println; con.accept("消费一下"); Supplier<String> s1 = new Supplier<String>()
阅读全文
摘要:1.使用 public void test1(){ Runnable t1 = new Runnable(){ @Override public void run() { System.out.println("跑一下"); } }; t1.run(); Runnable t2 = ()->Syst
阅读全文
摘要:1.客户端传输到服务端 1.1 服务器将客户端传输的内容打印出来 public void service() { ServerSocket serverSocket = null; InputStreamReader inputStreamReader = null; try { serverSoc
阅读全文
摘要: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.枚举类定义 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
阅读全文