LiJing's Blog

花有重开日,人无再少年


  • 首页

  • 归档

  • 分类

  • 标签

  • 生活

  • 友链

  • 关于

  • 搜索

单点登录?

精品 | 发表于 2023-05-02 | 分类于 java | 浏览: | 5.7k | 20 分钟

单点登录(Single Sign On),简称为 SSO,是比较流行的企业业务整合的解决方案之一。

SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

阅读全文 »

详细了解synchronized锁升级过程

精品 | 发表于 2023-05-01 | 分类于 java | 浏览: | 2.4k | 8 分钟

在最开始的时候,synchronized其实就是无锁直接到重量级锁,但是重量级锁需要向内核申请额外的锁资源,这就涉及到用户态和内核态的转换,比较浪费资源,而且大多数情况下,其实还是一个线程去争抢锁,完全不需要重量级锁,synchronized其实是优化过的synchronized。

阅读全文 »

synchronized锁升级之无锁和偏向锁

精品 | 发表于 2023-05-01 | 分类于 java | 浏览: | 1.1k | 4 分钟

其实在 JDK 1.6之前,synchronized 还是一个重量级锁,是一个效率比较低下的锁,但是在JDK 1.6后,Jvm为了提高锁的获取与释放效率对(synchronized )进行了优化,引入了 偏向锁 和 轻量级锁 ,从此以后锁的状态就有了四种(无锁、偏向锁、轻量级锁、重量级锁),并且四种状态会随着竞争的情况逐渐升级,而且是不可逆的过程,即不可降级。

本文先介绍synchronized锁升级之无锁和偏向锁,后续详细介绍下synchronized锁升级过程。

阅读全文 »

对象内存布局

精品 | 发表于 2023-05-01 | 分类于 java | 浏览: | 1k | 4 分钟

Java 虚拟机规范定义了对象类型的数据在内存中的存储格式,一个对象由 对象头 + 实例数据 + 对齐填充数据 三个部分共同组成。

阅读全文 »

volatile到底是什么

精品 | 发表于 2023-04-29 | 分类于 java | 浏览: | 1.9k | 6 分钟

volatile是Java中的关键字,用来修饰会被不同线程访问和修改的变量。JMM(Java内存模型)是围绕并发过程中如何处理可见性、原子性和有序性这3个特征建立起来的,而volatile可以保证其中的两个特性。

volatile是Java虚拟机提供的轻量级同步机制。

  • 保证可见性
  • 不保证原子性
  • 禁止指令重排(保证有序性)

你知道它的工作原理吗?

阅读全文 »

谈谈你对AQS的理解

精品 | 发表于 2023-04-28 | 分类于 java | 浏览: | 1.6k | 5 分钟

很多同学估计都对AQS有一种云里雾里的感觉,如果用搜索引擎查一下AQS是什么?看几篇文章,估计就直接放弃了,因为密密麻麻的文字,实在是看不懂!

所以,基于上述痛点,咱们这篇文章,就用最简单的大白话配合N多张手绘图,给大家讲清楚AQS到底是什么?让各位同学面试被问到这个问题时,不至于不知所措。

中途如果遇到疑问的地方,建议使用 chatgpt 进行提问答疑,毕竟这玩意确实牛批。

阅读全文 »

一行一行源码分析清楚AbstractQueuedSynchronizer(三)

精品 | 发表于 2023-04-19 | 分类于 java | 浏览: | 6.8k | 28 分钟

这篇文章是 AQS 系列的最后一篇,第一篇,我们通过 ReentrantLock 公平锁分析了 AQS 的核心,第二篇的重点是把 Condition 说明白,同时也说清楚了对于线程中断的使用。

这篇,我们的关注点是 AQS 最后的部分,AQS 共享模式的使用。有前两篇文章的铺垫,剩下的源码分析将会简单很多。

本文先用 CountDownLatch 将共享模式说清楚,然后顺着把其他 AQS 相关的类 CyclicBarrier、Semaphore 的源码一起过一下。

相对来说,如果读者有前面两篇文章的基础,这篇文章是简单很多,不过对于初学者来说,1 小时估计也是免不了的。

阅读全文 »

一行一行源码分析清楚AbstractQueuedSynchronizer(二)

精品 | 发表于 2023-04-19 | 分类于 java | 浏览: | 9.3k | 37 分钟

本文关注以下几点内容:

  1. 深入理解 ReentrantLock 公平锁和非公平锁的区别
  2. 深入分析 AbstractQueuedSynchronizer 中的 ConditionObject
  3. 深入理解 Java 线程中断和 InterruptedException 异常

其实这篇文章的信息量很大,初学者估计至少要1小时才能看完,希望本文对得起大家的时间。

阅读全文 »

一行一行源码分析清楚AbstractQueuedSynchronizer(一)

精品 | 发表于 2023-04-19 | 分类于 java | 浏览: | 5.9k | 23 分钟

AbstractQueuedSynchronizer(以下简写AQS)这个抽象类,因为它是 Java 并发包的基础工具类,是实现 ReentrantLock、CountDownLatch、Semaphore、FutureTask 等类的基础。

阅读全文 »

Typora优化以及配置

精品 | 发表于 2023-04-18 | 分类于 software | 浏览: | 1.2k | 4 分钟

本人喜欢写博客,用的写作工具是Typora。

我一直认为:不是markdown的笔记,都不能叫做笔记。

所以,今天来记录下关于Typora的一些配置及优化。

阅读全文 »
上一页1…789…18下一页
LiJing

LiJing

176 文章
19 分类
115 标签
RSS High~
GitHub CSDN E-Mail Jianshu
近期文章
  • 用Docker搭建一个web版的PDF工具,几乎可以处理所有PDF相关操作-私有化部署强烈推荐
  • Docker常用命令
  • 用Docker搭建一个在线一起看电影的web应用
  • Docker搭建青龙面板
  • 用Docker搭建一个为开发者提供方便的网页版IT工具箱-it-tools
© 2020 — 2024 | 456k
微信扫一扫,加我好友
我的第 位朋友, 历经 次回眸才与你相遇
欢迎光临
倍感荣幸
晶哥小站
请多关照
❤️
❤️