自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 【Java 多线程】【Synchronized 原理&死锁】

比如:两个工人,只有一把锤子和钉子,一个人拿着锤,一个人拿着钉子,两人都需要对方持有的,但都不放下自己持有的,进入僵持状态;同一个线程,对同一把锁,加锁两次,可重入没有事,不可重入就会产生锁竞争,等待锁,自己竞争自己,自等待;存在锁竞争,尝试加锁状态,但不是真正的加锁,而是打上个偏向锁的标记,记录这个锁属于哪个线程。区分是否真正需要加锁,有其他的线程来打标记,JVM就会通知赶紧加上锁。锁竞争更加激烈,多条线程进入自旋,就会升级为重量级锁。延迟加锁,非必要,不加锁,避免加锁的开销。最有效解决死锁问题,就是。

2023-08-04 23:52:29 529

原创 【Java 多线程】【CAS问题】

Compare and Swap 比较并交换,这是一种并发算法,用于多线程环境下的原子操作操作:内存中有原数据 A ,旧的预期值 B 和 新的预期值 C。

2023-08-04 23:17:38 194 1

原创 【Java多线程】【锁策略】

synchronized 既是悲观锁, 也是乐观锁,既是轻量级锁,也是重量级锁。轻量级锁部分基于自旋锁实现.重量级锁部分基于挂起等待锁实现~~Synchronized 加锁 初始使用乐观锁策略. 当发现锁竞争比较频繁的时候, 就会自动切换成悲观锁策略.系统对于线程的调度是随机的,自带synchronized 这个锁,是非公平的;实现:需要记录当前线程已经持有该锁的次数,每次释放锁时,也需相应减少持有次数。涉及到互斥,就会产生线程等待,线程挂起,就只能等待系统再次分配;通常使用互斥锁等阻塞锁实现;

2023-08-02 22:27:59 139

原创 【Java多线程】【定时器和线程池】

定时器类似闹钟,达到一个设定的时间后,就执行指定好的代码想结束可以调用 cancel() 方法,如果还有正在执行的定时任务,会等到任务结束才会退出程序可以purge()来立即清除所有定时任务。

2023-08-02 07:30:00 762

原创 【Java多线程】【阻塞队列】

从名字上 可以看出,它是队列的一种,那肯定是 先进先出(FIFO)的数据结构。

2023-08-01 22:23:24 801 3

原创 【Java多线程】【单例模式】

目录1、概念单例模式的优缺点2、单例模式的实现 2.1 实现单例模式的条件 2.2 饿汉模式 2.3 懒汉模式2.4 懒汉模式的优化 单例模式的线程安全问题 实现单例模式方式:代码: 2.3 懒汉模式代码: 2.4 懒汉模式的优化 单例模式的线程安全问题

2023-07-24 07:30:00 200

原创 【Java多线程】【wait 和 notify】

线程之间是 抢占式执行的,调度是无序的,再实际开发中,要求协调多个线程之间的执行先后顺序;wait()、notify()、notifyAll()都是 Object类方法。

2023-07-23 22:33:24 120 1

原创 【Java多线程】【线程状态和安全】

当一个线程 执行到一个synchronized修饰的代码块或者方法时,首先会尝试获取对象的锁,如果该对象的锁已经被其他线程获取,那么当前线程就会被阻塞,直到其他线程释放了该对象的锁;,也就是说,如果一个线程已经持有了某个对象的锁,那么它再次进入该对象的synchronized代码块时,仍然可以获得该对象的锁,而不会被自己所持有的锁所阻塞。对于多个线程的符合操作不具有原子性。这是一个操作,分为三步实现,在多线程中,想要实现线程安全,就要保证原子性;但在多线程,执行程度高,优化后的代码不一定是自己想要的值,

2023-07-20 23:37:16 288

原创 【Java多线程】【Thread类及常见方法】

Thread类是 JVM用来管理线程的一个类,每个线程都有一个唯一的相关联的Thread对象;每个执行流需要一个对象描述,就是Thread类的对象,JVM讲这些Thread对象组织起来,用于线程调度,线程管理;

2023-07-19 22:46:12 779

原创 【Java多线程】【Java创建线程】

以上java中线程的创建 都和Thread类有关;Thread是java中用于实现多线程编程的类在java中,每个线程都是一个Thread类的实例对象通过创建Thread类的实例对象,就可以在程序中创建一个新的线程,从而实现多线程编程

2023-07-16 08:00:00 132 1

原创 【Java 多线程】【线程和进程的区别】

线程是指在进程内部运行的轻量级执行单元,是操作系统进行任务调度的基本单位一个线程就是一个 "执行流". 一个进程可以包含多个线程,多个线程之间 "同时" 执行着多份代码.

2023-07-15 22:20:17 74 1

原创 【Java多线程】【进程】

线程C(工厂C)说这个订单剩下的部分要到下个月再交货,到下个月的时间再来,CPU(车队)就要记下已经运了多少货,还剩下多少下个月来继续。进程在离开CPU时就要把当前的运行的中间结果进行“存档”,等下次进程回到CPU上,再恢复之前的”存档“,从上次执行的结果向后执行。,通常从1开始递增,操作系统通过PID来管理进程的运行和资源分配,比如对进程进行调度、信号传递、进程间通信等。有的时候需要 进程之间的交互,但是虚拟的地址空间,无法让两个进程交互影响,在这种隔离性的前提现下,找出一个。

2023-07-10 23:07:46 146 1

原创 【JavaSE】【枚举和Lambda表达式】

被定义为枚举类型的静态常量。

2023-06-16 23:36:38 501 1

原创 【JavaSE】【反射】

/私有属性name//公有属性age//不带参数的构造方法@Override'}';

2023-06-14 08:44:10 31

原创 【JavaSE】【异常】

Java中的。

2023-06-11 22:16:14 111

原创 【JavaSE】【对象比较、克隆】

目录对象比较基本数据类型比较 1、Comparable 接口2、Comparator 接口3、equals对象克隆(复制)--- Clonable 接口比较 可以分为对 基本数据类型 和 自定义数据类型 两种比较针对 对象的比较我们有 三种比较方式 同时,Sort() 方法页支持比较器 Comparator Object类中的equals方法 直接对比的是 对象的引用地址 结论:比较对象中内容是否相同的时候,一定要重写equals方法。对象克隆(复制)---

2023-06-11 15:06:29 57

原创 【JavaSE】【抽象和接口】

即可以有 抽象方法,也可以有 非抽象方法,

2023-06-07 22:52:00 55 2

原创 【JavaSE】【多态】

向上转型:实际上是 new 一个 子类对象,将其当父类对象使用。父类类型 对象名 = new 子类类型();调用父类 与 子类 共同带有的类型、方法。重载(overriding)不能修改,子类要大于等于父类。判定 父类是否引用的是该子类。重写(overrider)不能修改,除非构成父子关系。动态绑定: 也称后期绑定。静态绑定:也称前期绑定。

2023-05-17 22:31:18 44

原创 【JavaSE】【继承】

super() 只能被写再第一行。

2023-05-15 22:01:30 60

原创 【Java SE】类和对象

Java是一门纯面向对象的语言(Object Oriented Program,简称OOP),在面向对象的世界里,一切皆为对象。面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。用面向对象的思想来设计程序,更符合人们对事物的认知,对于大型程序的设计、扩展以及维护都非常友好.1、代码块执行顺序静态代码块(只执行一次) —> 构造代码块(new 对象执行)—> 构造方法 —>方法中的 普通代码块2、构造代码块 和 构造方法的区别。

2023-04-25 16:56:21 122 3

原创 C++初阶:基础语法

在C中不同函数内部可以使用相同的变量名,它们被域所隔离,只在当前的函数域内起作用,域分为局部域和全局域,它们影响变量的使用和生命周期。1、命名空间,即定义一个域来定义变量、函数或类型,使用这些变量时需在其名称前面加上特定的标识,对标识符的名称进行本地化处理以避免命名冲突或名字污染。2、定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员//test是命名空间的名字,一般开发中是用项目名字做命名空间名。//1.变量//2. 函数。

2023-03-19 11:48:37 409 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除