摘要:
下载demo项目: https://docs.open.alipay.com/194/105201/ 打开项目:TradePayDemo 打开网址沙箱应用网址 : https://openhome.alipay.com/platform/appDaily.htm?tab=info 下载RSA验签工具 阅读全文
摘要:
可见性:一个线程对共享变量值的修改,能够及时的被其他线程看到。 共享变量:如果一个电量在多个线程的工作内存中都存在副本,那么这个变量就是这几个线程的共享变量。 JAVA内存模型(Java Memory Model)描述了Java程序中各种变量(线程共享变量)的访问规则,以及在JVM中将变量存储到内存 阅读全文
摘要:
案例: 生产与消费分别开一个线程,生产一个产品消费一个产品,依次执行。 等待唤醒机制: wait(); 会让线程处于等待状态,其实就是将线程临时存储到了线程池中。(wait上面必须要有锁,即synchronized同步函数,线程池是靠锁划分的。) notify(); 会唤醒此线程池中任意一个等待的线 阅读全文
摘要:
设计模型: 解决某一类问题行之有效的解决办法(思想); 共有23种,下面看一种: 单例(Singleton)设计模型: 可以保证一个类的对象唯一性。 场景:比如多个程序都要使用一个配置文件中的数据,而且要实现数据共享和交换。必须要将多个数据封装到一个对象中。而且多个程序操作的是同一个对象。也就是说必 阅读全文
摘要:
饿汉式没有并发问题,因为没有执行多条语句。(并发安全问题是由两个条件产生的:1、线程任务中在操作共享的数据; 2、线程任务操作共享数据的代码有多条) 懒汉式并发访问会有安全隐患,所以加入同步机制解决安全问题。 但是上面代码同步的出现降低效率(因为要判断锁)。 通过双重判断的方式效率解决问题,减少判断 阅读全文
摘要:
同步函数和同步代码块的区别: 同步函数使用的锁是固定的this。当线程任务只需要一个同步时用。 同步代码块使用的锁可以是任意对象。当线程任务中需要多个同步时,必须用这个。(较常用) 同步代码块实例: 阅读全文
摘要:
首先,多线程中会使用到两个延迟的函数,wait和sleep。 wait是Object类中的方法,而sleep是Thread类中的方法。 sleep是Thread类中的静态方法。无论是在a线程中调用b的sleep方法,还是b线程中调用a的sleep方法,谁调用,谁睡觉。 最主要的是sleep方法调用之 阅读全文
摘要:
步骤: 1. 定义类实现Runnable接口。 2. 覆盖接口中的run方法。将线程任务代码定义到run方法中。 3. 创建Thread类的对象。 4. 将Runnable接口的子类对象作为参数传递给Thread类的构造函数。 5. 调用Thread类的start方法开启线程。 实例: 这种方式的好 阅读全文
摘要:
步骤: 1.定义一个类继承Thread。 2.重写run方法。 3.创建子类对象,也就是线程对象。 4.调用start方法。开启线程并让线程执行,同时还会告诉jvm去调用run方法。(start做了两件事,开启线程和调用run方法。) 线程对象调用run方法和调用start方法区别(面试常考): 调 阅读全文
摘要:
事务 什么是事务?事务是指的是逻辑上的一组操作,这次操作要么全部成功,要么全部失败。 事务的特性: 原子性是指事务是一个不可分割的工作单位,事务中的操作,要么全都发生,要么都不发生。 一致性指事务前后数据的完整性必须保持一致。 隔离性指多个用户并发访问数据库时,一个用户的事物不能被其他用户的事物所干 阅读全文