摘要: 方式二:同步方法 同步方法作用:把出现线程安全问题的核心方法给上锁。原理:每次只能一个线程进入,执行完毕以后自动解锁,其他线程才可以进来执行。修饰符 synchronized 返回值类型 方法名称(形参列表) { 操作共享资源的代码 } public synchronized void drawMo 阅读全文
posted @ 2022-11-29 18:37 __破 阅读(35) 评论(0) 推荐(0)
摘要: 方式三:Lock锁 Lock锁为了更清晰的表达如何加锁和释放锁,JDK5以后提供了一个新的锁对象Lock,更加灵活、方便。Lock实现提供比使用synchronized方法和语句可以获得更广泛的锁定操作。Lock是接口不能直接实例化,这里采用它的实现类ReentrantLock来构建Lock锁对象。 阅读全文
posted @ 2022-11-29 18:37 __破 阅读(26) 评论(0) 推荐(0)
摘要: 线程同步:为了解决线程安全问题。 1、取钱案例出现问题的原因?多个线程同时执行,发现账户都是够钱的。 2、如何才能保证线程安全呢?让多个线程实现先后依次访问共享资源,这样就解决了安全问题 线程同步的核心思想加锁,把共享资源进行上锁,每次只能一个线程进入访问完毕以后解锁,然后其他线程才能进来。 线程同 阅读全文
posted @ 2022-11-29 18:35 __破 阅读(40) 评论(0) 推荐(0)
摘要: thread常用API说明 1. 当有很多线程在执行的时候,我们怎么去区分这些线程呢?此时需要使用Thread的常用方法:getName()、setName()、currentThread()等。 1、此方法是Thread类的静态方法,可以直接使用Thread类调用。 2、这个方法是在哪个线程执行中 阅读全文
posted @ 2022-11-29 18:28 __破 阅读(22) 评论(0) 推荐(0)
摘要: 方式二:实现Runnable接口 定义一个线程任务类MyRunnable实现Runnable接口,重写run()方法创建MyRunnable任务对象把MyRunnable任务对象交给Thread处理。调用线程对象的start()方法启动线程 package com.po.thread2; /** 1 阅读全文
posted @ 2022-11-29 16:48 __破 阅读(41) 评论(0) 推荐(0)
摘要: 方式三:JDK 5.0新增:利用Callable、FutureTask接口实现。 得到任务对象定义类实现Callable接口,重写call方法,封装要做的事情。用FutureTask把Callable对象封装成线程任务对象。、把线程任务对象交给Thread处理。、调用Thread的start方法启动 阅读全文
posted @ 2022-11-29 16:48 __破 阅读(83) 评论(0) 推荐(0)
摘要: 多线程的创建方式一:继承Thread类 Java是通过java.lang.Thread 类来代表线程的。 按照面向对象的思想,Thread类应该提供了实现多线程的方式。 步骤: 定义一个子类MyThread继承线程类java.lang.Thread,重写run()方法创建MyThread类的对象调用 阅读全文
posted @ 2022-11-29 16:48 __破 阅读(67) 评论(0) 推荐(0)
摘要: 日志框架 希望系统能记住某些数据是被谁操作的,比如被谁删除了?想分析用户浏览系统的具体情况,以便挖掘用户的具体喜好?当系统在开发或者上线后出现了bug,崩溃了,该通过什么去分析、定位bug?用来记录程序运行过程中的信息,并可以进行永久存储。好比生活中的日记,可以记录你生活的点点滴滴。 日志技术应该具 阅读全文
posted @ 2022-11-29 12:37 __破 阅读(85) 评论(0) 推荐(0)
摘要: 不可变集合:Stream流 什么是不可变集合?不可变集合,就是不可被修改的集合。集合的数据项在创建的时候提供,并且在整个生命周期中都不可改变。否则报错。 为什么要创建不可变集合?如果某个数据不能被修改,把它防御性地拷贝到不可变集合中是个很好的实践。或者当集合对象被不可信的库调用时,不可变形式是安全的 阅读全文
posted @ 2022-11-29 12:29 __破 阅读(34) 评论(0) 推荐(0)
摘要: Lambda表达式 Lambda表达式是JDK 8开始后的一种新语法形式。 作用:简化匿名内部类的代码写法。 (匿名内部类被重写方法的形参列表) -> { 被重写方法的方法体代码。 } 注:-> 是语法形式,无实际含义 注意:Lambda表达式只能简化函数式接口的匿名内部类的写法形式什么是函数式接口 阅读全文
posted @ 2022-11-29 12:16 __破 阅读(15) 评论(0) 推荐(0)
摘要: 内部类 内部类就是定义在一个类里面的类,里面的类可以理解成(寄生),外部类可以理解成(宿主)。 public class People{ // 内部类 public class Heart{ } } 内部类的使用场景 场景:当一个事物的内部,还有一个部分需要一个完整的结构进行描述时。基本作用内部类通 阅读全文
posted @ 2022-11-29 11:08 __破 阅读(27) 评论(0) 推荐(0)