10 2021 档案

摘要:1 package com.atfu.java01; 2 3 import org.junit.Test; 4 5 /** 6 * 7 * 8 * @author fu jingchao 9 * @creat 2021/10/31-15:03 10 */ 11 public class String 阅读全文
posted @ 2021-10-31 15:44 橘猫的夏天 阅读(87) 评论(0) 推荐(0)
摘要:/*String、StringBuffer和StringBuilder三者的异同?String:不可变的字符序列,底层使用char[]存储StringBuffer:可变的字符序列;线程安全的,效率低;底层使用char[]存储StringBuilder:可变的字符序列;jdk5.0新增的,线程不安全的 阅读全文
posted @ 2021-10-31 15:02 橘猫的夏天 阅读(44) 评论(0) 推荐(0)
摘要:/** * * 1.String >基本数据类型、包装类:调用包装类的静态方法:parseXxx(str) * 基本数据类型、包装类 >String:调用String重载的valueOf(xxx) * * 2.String 与char[]之间的转换 * String >char[]:调用String 阅读全文
posted @ 2021-10-30 21:08 橘猫的夏天 阅读(104) 评论(0) 推荐(0)
摘要:/** * 1. * int Length():返回字符串的长度 return value.length * char charAt(int index):返回某索引处的字符 return value[index] * boolean isEmpty():判断是否是空字符串 return value 阅读全文
posted @ 2021-10-30 16:47 橘猫的夏天 阅读(56) 评论(0) 推荐(0)
摘要:/** * 1.String声明为final的,不可被继承 * 2.String实现了Serializable接口:表示字符串是支持序列化的 * 实现了 Comparable接口:表示String可以比较大小 * 3.String内部定义了final char[] value用于存储字符串数据 * 阅读全文
posted @ 2021-10-30 15:14 橘猫的夏天 阅读(146) 评论(0) 推荐(0)
摘要:1 package com.atfu.java02; 2 3 import java.util.concurrent.ExecutorService; 4 import java.util.concurrent.Executors; 5 import java.util.concurrent.Thr 阅读全文
posted @ 2021-10-29 15:43 橘猫的夏天 阅读(68) 评论(0) 推荐(0)
摘要:1 package com.atfu.java02; 2 3 import java.util.concurrent.Callable; 4 import java.util.concurrent.ExecutionException; 5 import java.util.concurrent.F 阅读全文
posted @ 2021-10-28 13:46 橘猫的夏天 阅读(93) 评论(0) 推荐(0)
摘要:/** * 经典例题:生产者/消费者问题: * 生产者(Producer)将产品交给店员(clerk),而消费者(customer)从店员处取走产品,店员一次只能持有固定数量 * 产品(比如:20),如果生产者试图生产更多的产品,店员会叫生产者停一下,如果店中有空位放产品了再通知生产者 * 继续生产 阅读全文
posted @ 2021-10-27 21:52 橘猫的夏天 阅读(80) 评论(0) 推荐(0)
摘要:/** * 线程通信的例子:使用两个线程打印1-100.线程1,线程2 交替打印 * *涉及到的三个方法: * wait():一旦执行此方法,当前线程就会进入阻塞状态,并释放同步监视器。 * notify():一旦执行此方法,就会唤醒被wait的线程。如果有多个线程被wait,就唤醒优先级高的那个 阅读全文
posted @ 2021-10-27 20:37 橘猫的夏天 阅读(47) 评论(0) 推荐(0)
摘要:1 package com.atfu.java01; 2 3 import java.util.concurrent.locks.ReentrantLock; 4 5 /** 6 * 解决线程安全问题的方式三:Lcok锁 Jdk5.0新增 7 * 1.面试题:synchronized 与 lock的 阅读全文
posted @ 2021-10-27 19:38 橘猫的夏天 阅读(195) 评论(0) 推荐(0)
摘要:1 package com.atfu.java01; 2 3 /** 4 * 演示线程的死锁问题 5 * 1.死锁的理解:不同的线程分别占用对方需要的同步资源不放弃,都在等对方放弃自己需要的同步资源,就形成了线程的死锁 6 * 7 * 2.说明: 8 * 1)出现死锁后,不会出现异常,不会出现提示, 阅读全文
posted @ 2021-10-18 23:07 橘猫的夏天 阅读(47) 评论(0) 推荐(0)
摘要:1 package com.atfu.java01; 2 3 /** 4 * 使用同步的方式将单例模式中的懒汉式改写为线程安全的 5 * 6 * @author fu jingchao 7 * @creat 2021/10/18-21:47 8 */ 9 public class BankTest 阅读全文
posted @ 2021-10-18 22:42 橘猫的夏天 阅读(44) 评论(0) 推荐(0)
摘要:1 package com.atfu.java01; 2 3 /** 4 * 例子:创建三个窗口卖票,总票数为100张,使用继承Thread类的方式。 5 * 6 *使用同步方法解决继承Thread类的方式的线程安全问题 7 * 8 * 关于同步方法的总结: 9 * 1.同步方法任然涉及到同步监视器 阅读全文
posted @ 2021-10-18 22:41 橘猫的夏天 阅读(85) 评论(0) 推荐(0)
摘要:1 package com.atfu.java01; 2 3 /** 4 * 例子:创建三个窗口卖票,总票数为100张,使用继承Thread类的方式。 5 *存在线程安全问题,待解决。 6 * 7 *使用同步代码块解决继承Thread类的方式的线程安全问题 8 * 9 * 说明:在使用继承Threa 阅读全文
posted @ 2021-10-18 22:40 橘猫的夏天 阅读(66) 评论(0) 推荐(0)
摘要:1 package com.atfu.java01; 2 3 /** 4 * 5 * 使用同步方法解决Runnable接口线程的安全问题 6 * 7 * @author fu jingchao 8 * @creat 2021/10/17-15:48 9 */ 10 class Window3 imp 阅读全文
posted @ 2021-10-18 22:40 橘猫的夏天 阅读(67) 评论(0) 推荐(0)
摘要:* 例子:创建三个窗口卖票,总票数为100张,使用实现Runnable接口的方式。* 1.问题:卖票过程中出现了重票和错票 >线程的安全问题* 2.问题出现的原因:当某个线程操作车票的过程中,尚未操作完成时,其他线程参与进来,也操作车票。* 3.如何解决:当一个线程a在操作ticket时,其他线程不 阅读全文
posted @ 2021-10-18 22:39 橘猫的夏天 阅读(58) 评论(0) 推荐(0)
摘要:1 package com.atfu.java01; 2 3 /** 4 * 例子:创建三个窗口卖票,总票数为100张,使用实现Runnable接口的方式。 5 * 6 * 7 * @author fu jingchao 8 * @creat 2021/10/15-17:09 9 */ 10 cla 阅读全文
posted @ 2021-10-15 22:34 橘猫的夏天 阅读(110) 评论(0) 推荐(0)
摘要:1 package com.atfu.java01; 2 3 /** 4 * 例子:创建三个窗口卖票,总票数为100张,使用继承Thread类的方式。 5 *存在线程安全问题,待解决。 6 * 7 * 8 * 9 * 10 * @author fu jingchao 11 * @creat 2021 阅读全文
posted @ 2021-10-15 22:33 橘猫的夏天 阅读(104) 评论(0) 推荐(0)
摘要:1 package com.atfu.exer; 2 3 /** 4 * 练习:创建两个分线程,其中一个线程遍历100以内的偶数,另一个线程遍历100以内的奇数 5 * 6 * 7 * @author fu jingchao 8 * @creat 2021/10/13-22:10 9 */ 10 p 阅读全文
posted @ 2021-10-15 22:32 橘猫的夏天 阅读(195) 评论(0) 推荐(0)
摘要:* 测试Thread类中的常用方法:* 1.start() :启动当前线程;调用当前线程的run()* 2.run() :通常需要重写Thread类中的此方法,将创建的线程要执行的操作声明在此方法中* 3.currentThread():静态方法,返回代码当前执行的线程* 4.getName():获 阅读全文
posted @ 2021-10-15 22:30 橘猫的夏天 阅读(256) 评论(0) 推荐(0)
摘要:* 多线程的创建,方式一:继承于Thread类* 1.创建一个继承于Thread类的子类* 2.重写Thread类的run()-->将此线程执行的操作声明在run()中* 3.创建Thread类的子类的对象* 4.通过此对象调用Thread类的start():①启动当前线程;②调用当前线程的run( 阅读全文
posted @ 2021-10-15 22:27 橘猫的夏天 阅读(85) 评论(0) 推荐(0)
摘要:1 package com.fu.java5; 2 3 /** 4 * 如何自定义异常类 5 * 1.继承现有的异常结构:RuntimeException、Exception 6 * 2.提供全局常量:serialVersionUID; 7 * 3.提供重载的构造器 8 * 9 * 10 */ 11 阅读全文
posted @ 2021-10-05 14:58 橘猫的夏天 阅读(28) 评论(0) 推荐(0)
摘要:1 package com.fu.java5; 2 3 import org.junit.jupiter.api.Test; 4 5 import java.io.File; 6 import java.io.FileInputStream; 7 import java.io.FileNotFoun 阅读全文
posted @ 2021-10-05 14:55 橘猫的夏天 阅读(120) 评论(0) 推荐(0)
摘要:1 package com.fu.java5; 2 3 import org.junit.jupiter.api.Test; 4 5 /** 6 * 一、异常的处理;抓抛模型 7 * 过程一:“抛” :程序在正常执行的过程中,一旦出现异常,就会在异常代码出生成一个对应异常的对象。 8 * 并将此对象 阅读全文
posted @ 2021-10-05 14:54 橘猫的夏天 阅读(102) 评论(0) 推荐(0)
摘要:1 package com.fu.java5; 2 3 /** 4 * Error:java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源耗尽等严重情况,比如StackOverflowError 5 * 一般不编写针对性的代码进行处理。 6 */ 7 public class ErrorTe 阅读全文
posted @ 2021-10-05 14:51 橘猫的夏天 阅读(106) 评论(0) 推荐(0)