摘要: 一、概述 多个线程操作共享数据时,synchronized保证访问共享数据的线程安全性。synchronized是非公平锁,新来的线程有可能立即获得监视器,而在等待区中等候已久的线程可能再次等待,不过这种抢占的方式可以预防饥饿。 synchronized加锁方式的作用范围,区别实际是被加锁的对象的区 阅读全文
posted @ 2022-04-24 15:54 夏尔_717 阅读(824) 评论(0) 推荐(0)
摘要: 一、作用 通常情况下我们可以通过synchronized关键字来解决可见性、有序性及原子性问题这些问题,不过synchronized是一个比较重量级的操作,对系统的性能有比较大的影响,所以,如果有其他解决方案,我们通常都避免使用synchronized来解决问题。而volatile关键字就是Java 阅读全文
posted @ 2022-04-24 15:53 夏尔_717 阅读(352) 评论(0) 推荐(0)
摘要: 概览 首先我们通过@GlobalTransactional这个注解开启一个全局事务,而GlobalTransactionScanner.wrapIfNecessary()会为所有方法上加了这个注解的bean注入一个包装了GlobalTransactionalInterceptor实例的advisor 阅读全文
posted @ 2022-04-24 11:31 夏尔_717 阅读(1334) 评论(0) 推荐(0)
摘要: 用Spring的@Transactional注解控制事务有哪些不生效的场景? 不知道小伙伴们有没有这样的经历,在自己开心的编写业务代码时候,突然某一个方法里的事务好像失效了。然后debug跟踪代码时发现,自己第一步的insert或者update的数据在语句执行完毕后,数据库中并没有立即出现更改或保存 阅读全文
posted @ 2022-04-24 11:29 夏尔_717 阅读(941) 评论(0) 推荐(0)
摘要: 一、简介 AbstractQueuedSynchronizer(简称AQS),抽象的队列式的同步器,是Java并发包实现的基类。 AQS用来构建锁和同步器的框架,使用AQS能简单且高效地构造出大量的应用广泛的同步器,如常用的ReentrantLock、Semaphore、CountDownLatch 阅读全文
posted @ 2022-04-24 11:28 夏尔_717 阅读(493) 评论(0) 推荐(0)
摘要: 一、题目 在10亿数字的文件中找到最大的前100个数字。 二、分析 针对Top K问题,常规的内存排序算法无法应对海量数据,需结合数据规模和内存限制,选择适配的算法。以下从内存友好型和海量数据适配型两个维度,分析三种核心解决方案。 2.1 排序方法 2.1.1 算法原理 快速选择(Quick Sel 阅读全文
posted @ 2022-04-24 11:28 夏尔_717 阅读(1530) 评论(0) 推荐(0)
摘要: 一、概述 在Linux系统与Java应用排查中,CPU利用率和CPU负载是最易混淆的两个指标,也是定位性能瓶颈的关键入口。本文从基础概念切入,拆解“高负载低利用率”“高利用率低负载”“CPU 100%”等典型场景的排查逻辑,并结合实战案例演示从指标异常到代码根因的定位过程。 二、利用率与负载区别 要 阅读全文
posted @ 2022-04-24 11:27 夏尔_717 阅读(4085) 评论(0) 推荐(0)
摘要: 一、概述 在Java应用和服务出现莫名的卡顿、CPU飙升等问题时总是要分析一下对应进程的JVM状态以定位问题和解决问题并作出相应的优化,在这过程中Java自带的一些状态监控命令和图形化工具就非常方便了。本文总结了最常用的命令行工具及其常用参数解释,图形化监控工具的用法,仅供参考。 命令 说明 常用形 阅读全文
posted @ 2022-04-24 11:26 夏尔_717 阅读(512) 评论(0) 推荐(0)
摘要: 一、概述 Arthas是Alibaba开源的Java诊断工具,深受开发者喜爱。 当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 这个类从哪个jar包加载的?为什么会报各种类相关的Exception? 我改的代码为什么没有执行到?难道是我没commit?分支搞错了? 遇到问题无法在线上 阅读全文
posted @ 2022-04-24 11:25 夏尔_717 阅读(822) 评论(0) 推荐(0)
摘要: 一、概述 SELECT...INTO:专注数据 “存储与导出”,支持将查询结果定向到变量或文件,适配单行提取、批量结构化导出、二进制 / 超长文本导出三种核心场景,是灵活处理查询结果的关键语句。 LOAD DATA INFILE:聚焦 “批量数据导入”,速度远超传统 INSERT 语句,支持本地 / 阅读全文
posted @ 2022-04-24 10:15 夏尔_717 阅读(891) 评论(0) 推荐(0)