随笔分类 - java
摘要:String bir = "2020-02-02"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = null; try { date = sdf.parse(bir); java.sql.Date bir
阅读全文
摘要:摘抄自b站尚硅谷视频教程 相同点:底层都是用char[]实现的 String :不可变的字符序列 StringBuffer StringBuilder 可变的字符序列. 默认容量为16.当容量不足时,进行 *2(左移1位)+2扩容 StringBuilder 是JDK5.0新增的,线程不安全的,St
阅读全文
摘要:视频教程 1 String 类是被声明为final的,不可被继承 2 可序列化,可比较 3 final char [] 用于存储字符串数据 字面量和new赋值的区别:
阅读全文
摘要:package com.LearnJava.Thread; import java.util.concurrent.Callable; import java.util.concurrent.Executor; import java.util.concurrent.ExecutorService;
阅读全文
摘要:package com.LearnJava.Thread; import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future
阅读全文
摘要:思路: 生产者判读是否大于20: 若 否,则生产一个产品并且唤醒(消费者).若是,则堵塞. 消费者判读是否大于0,若是,则消费一个产品,并唤醒(生产者).若否,则堵塞. 我们将生产和消费的方法,放到店员类,这样可以操作共享数据. package com.LearnJava.Thread; class
阅读全文
摘要:相同: 都可以堵塞当前线程 不同: 1) 声明位置不同.sleep是Thread的静态方法;wait()是Object类的实例方法 2) 调用要求不同.sleep可以直接调用,wait()必须在synchronized代码块或方法中调用 3) 对同步监视器的控制不同: sleep不释放同步监视器,w
阅读全文
摘要:wait() notify() notifyAll() 1 只能用于synchronized 同步代码块和同步方法中 2 这几个方法的调用者,必须是同一个同步监视器 package com.LearnJava.Thread; import java.util.concurrent.locks.Ree
阅读全文
摘要:需手动加锁和释放. package com.LearnJava.Thread; import java.util.concurrent.locks.ReentrantLock; /* 同步代码块 synchronized(同步监视器){ //需要同步的代码 } 同步监视器:俗称 锁,可以是任何实例化
阅读全文
摘要:同步方法,仍然后有线程锁. 1 对于非静态方法,线程锁(同步监视器)是this 2 对于静态方法,线程锁是该类. package com.LearnJava.Thread; /* 同步代码块 synchronized(同步监视器){ //需要同步的代码 } 同步监视器:俗称 锁,可以是任何实例化的类
阅读全文
摘要:package com.LearnJava.Thread; /* 同步代码块 synchronized(同步监视器){ //需要同步的代码 } 同步监视器:俗称 锁,可以是任何实例化的类.但是需要共用同一个实例. */ class WindowSell implements Runnable{ Ob
阅读全文
摘要:实现Runnable接口 package com.LearnJava.Thread; class myRunnable implements Runnable{ @Override public void run() { for(int i =0;i<100;i++){ if(i%2==0){ Sy
阅读全文
摘要:package com.LearnJava.Thread; class myThread extends Thread{ @Override public void run() { for(int i=0;i<100;i++){ if(i%2==0){ System.out.println(i);
阅读全文

浙公网安备 33010602011771号