- 博客(11)
- 收藏
- 关注
原创 Java并发编程-07 LockSupport详解
LockSupport为什么LockSupport也是核心基础类? AQS框架借助于两个类:Unsafe(提供CAS操作)和LockSupport(提供park/unpark操作)LockSupport是锁中的基础,是提供锁机制的工具类为什么LockSupport也是核心基础类? AQS框架借助于两个类:Unsafe(提供CAS操作)和LockSupport(提供park/unpark操作)...
2022-03-23 16:24:01 538
原创 Java并发编程-06 CAS, Unsafe和原子类详解
线程安全的实现方法有哪些?互斥同步:synchornized和ReentrantLock非阻塞同步:CAS,AtomicXXX类无同步方案:栈封闭,Thread Local ,可重入代码什么是CAS?CAS(Compare-And-Swap)比较兑换CompareAndSwap(期望值,目标值)接收变量对象,如果变量对象是所期望的值,就交换目标值给该变量CAS操作具有原子性,所以一般不会加锁CAS属于乐观锁,synchronize属于悲观锁CAS使用示例,结合AtomicInt
2022-03-21 14:19:00 155
原创 Java并发编程-05 final
所有的final修饰的字段都是编译期常量吗?final int i = 0 这是一个编译期常量而 Random r = new Random(); final int k = r.nextInt(); 这个就是一个非编译期常量如何理解private所修饰的方法是隐式的final?final 修饰的方法是无法被继承的 也是无法被更改的 , private在继承过程中无法被继承,因此就是隐式的final说说final类型的类如何拓展?比如String是final类型,我们想写个MyStrin
2022-03-18 16:41:11 465
原创 Java并发编程-03 Synchronized
Synchronized可以作用在哪里? 分别通过对象锁和类锁进行举例。对象锁作用在代码块(这里可以手动指定对象,可以使this,也开始是自定义的锁)public class SynchronizedObjectLock implements Runnable { static SynchronizedObjectLock instence = new SynchronizedObjectLock(); //自定义的锁 Object block1 = new Object();
2022-03-17 20:22:29 656
原创 windows 查看端口是否占用并且杀死占用进程
1. windows查看所有端口win+r输入cmd打开运行窗口在窗口中输入netstat -ano 可以查看所有端口输入netstat -aon|findstr "提示的端口" 可以查看指定端口看到指定端口后可以看到pid 就可以通过pid查看对应的进程 netstat -ano|findstr "pid"最后杀死进程即可 通过命令taskkill /f /t /im 程序名 杀死进程 就可以解除端口被绑定...
2022-03-10 08:49:15 664
原创 JUC编程02-线程基础
线程有哪几种状态?新建状态可运行状态阻塞状态(等待cpu时间片,也可能在运行状态)无限期等待状态进入方法退出方法没有设置 Timeout 参数的 Object.wait() 方法Object.notify() / Object.notifyAll()没有设置 Timeout 参数的 Thread.join() 方法被调用的线程执行完毕LockSupport.park() 方法限期等待状态进入方法退出方法Thread.slee
2022-03-04 14:52:11 62
原创 JUC编程01-理论基础
多线程的出现是要解决什么问题为了合理利用cpu的高性能并发出现问题的三大要素cpu高速缓存引起的可见性(一个线程对共享变量的修改,另外一个线程能够立刻看到。)分时复用引起的原子性(经典银行转账问题)重排序引起的有序性...
2022-03-04 10:36:40 3800
原创 lamda函数式编程
lamda表达式接受范围:预定义使用了 @Functional 注释的函数式接口,自带一个抽象函数的方法,或者SAM(Single Abstract Method 单个抽象方法)类型如果一个方法接受声明于 java.util.function 包内的接口,例如 Predicate、Function、Consumer 或 Supplier,那么可以向其传lambda表达式。常用写法匿名类简写new Thread( () -> System.out.println("In Java8, L
2022-03-01 13:49:47 180
原创 事务管理与锁
原子性(Atomicity)现实世界中转账操作是一个不可分割的操作,也就是说要么压根儿就没转,要么转账成功,不能存在中间的状态,也就是转了一半的这种情况。设计数据库的大叔们把这种要么全做,要么全不做的规则称之为 原子性 。也就是时候事务的完整性隔离性(Isolation)在状态转变的时候,要保证其他的状态不会影响本次状态的转换,这个规则被称之为隔离性。一致性(Consistency)如果数据库中的数据全部符合现实世界中的约束,我们说这些数据就是一致的,或者说符合一致性的。如何实现一致性:触发
2021-12-30 17:31:56 665
原创 B+树索引
文章目录B+树索引一、为什么要用索引?注:不同存储引擎的横向对比二、InnoDB数据的存储方式如何修改存储引擎聚簇索引非聚簇索引B+树索引一、为什么要用索引?1. 什么是索引是一种帮助mysql提高查询效率的数据结构在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。2.索引的优点大大加快数据查询速
2021-12-29 08:40:21 1728
原创 数据库学习
MySQL1、什么是MySQLMySQL实际上就是一个将数据的所有存储。检索。管理和处理的一个数据库软件。为什么使用MySQL成本——MySQL是开放源代码的,一般可以免费使用(甚至可以免费修改)。性能——MySQL执行很快(非常快)。可信赖——某些非常重要和声望很高的公司、站点使用MySQL,这些公司和站点都用MySQL来处理自己的重要数据。简单——MySQL很容易安装和使用。...
2021-12-27 08:53:45 509
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人