04 2022 档案
摘要:常用方法一: 1、int length():返回字符串的长度: return value length 2、char charAt(int index):返 回某索引处的字符return value[index] 3、boolean isEmpty():判断是否是空字符串: return value
阅读全文
摘要:String的特性 String类:代表字符串。Java程序中所以字符串字面值( 如"abc")都作为此类的实例实现 1、String是一个final类,不可被继承。 2、String实现了Serializ package com.gtguigu.java.String; public class
阅读全文
摘要:新增方式一:实现Callable接口 实现Callable接口的方式创建多线程比实现Runnable接口的方式更加强大 主要体现在以下几点: 1、call()是有返回值的 2、call()可以抛出异常,被外面的操作捕获,获取异常的信息 3、call()是支持泛型的 实现Callable的步骤: 1、
阅读全文
摘要:相同点: 一但执行方法,都可以使当前线程进入阻塞状态 不同点: 1、两个方法声明的位置不同:sleep()声明在Thread类中,而wait()声明在Object类中。 2、调用的要求不同:sleep()可以在任何需要的场景中调用,而wait()必须使用在同步代码块或者同步方法中。 3、关于是否释放
阅读全文
摘要:线程通讯的例子 两个线程交替打印1~100 涉及到的三个方法: wait():一旦执行此方法,当前线程就会进入阻塞状态,并且释放同步监视器。 notify():一旦执行此方法,就会唤醒一个被wait的线程。如果有多个线程被wait,优先唤醒优先级高的线程 notifyAll():一旦执行此方法,就会
阅读全文
摘要:Lock(锁): 从jdk5.0开始,Java提供了更强大的线程同步机制——通过显示定义同步锁对象来实现同步。同步锁使用Lock对象充当。 java.util.concurrent.locks.Lock接口是控制多个线程对共享资源进行访问的工具。锁提供了对共享资源的独占访问,每次只能有一个线程对L
阅读全文
摘要:一、线程的安全问题 以售票窗口类为例: public class WindowsRunnableTest { public static void main(String[] args) { Windows1 windows1 = new Windows1(); Thread thread1 = n
阅读全文
摘要:一、第一种创建线程的方式 继承Thread类并重写run方法: 1、创建一个继承Thread类的子类 2、子类重写父类Thread类的run()方法 3、创建Thread类的子类的对象 4、通过此对象调用start()方法 //创建线程的第一种方式 //1、创建一个继承Thread类的子类 clas
阅读全文
摘要:一、一般情况下的调度策略为时间片轮转调度法: 时间片轮转法(Round-Robin,RR)主要用于分时系统中的进程调度。为了实现轮转调度,系统把所有就绪进程按先入先出的原则排成一个队列。新来的进程加到就绪队列末尾。每当执行进程调度时,进程调度程序总是选出就绪队列的队首进程,让它在CPU上运行一个时间
阅读全文
摘要:1、start():启动当前线程并且调用run方法。 2、run():通常需要重写Thread类中的此方法,将创建的线程需要执行的操作声明在此方法中 3、currentThread():静态方法,返回执行当前代码的线程 4、getName():获取当前线程的名字 5、setName(String n
阅读全文