随笔分类 -  JUC、JVM、锁、线程

摘要:文章目录 1. 模拟线程池抛异常 2. 如何获取和处理异常 方案一:使用 try -catch 方案二:使用Thread.setDefaultUncaughtExceptionHandler方法捕获异常 方案三:重写afterExecute进行异常处理 1. 模拟线程池抛异常 在实际开发中,我们常常 阅读全文
posted @ 2023-03-28 21:08 程序员小明1024 阅读(104) 评论(0) 推荐(0) 编辑
摘要:大家好,我是小林。上周五我发了一篇「 MySQL 是怎么加锁?」的文章,当时这篇文章是重写了以前的文章,相比以前的文章多了 1w 字。期间有位读者认真看完后,跟我反馈,希望再多解释下二级索引(非唯一索引) 的间隙锁具体可以防止哪些新记录插入,因为相比于主键索引的间隙锁,考虑的因素会比较多。所以后来, 阅读全文
posted @ 2023-03-21 22:43 程序员小明1024 阅读(218) 评论(0) 推荐(0) 编辑
摘要:JVM往期系列: 【JVM系列1】JVM内存结构 【JVM系列2】运行时数据区域 【JVM系列3】类的加载 【JVM系列4】JVM常用命令 【JVM系列5】性能检测工具 【JVM系列6】垃圾收集器 大家好,我是楼仔!JVM系列是我去年写的,整个学习周期是一个半月,作为Java必备技能之一,非常重要, 阅读全文
posted @ 2022-12-24 01:32 程序员小明1024 阅读(43) 评论(0) 推荐(0) 编辑
摘要:我正在参加「掘金·启航计划」 大家好,我是老三,这篇文章分享一道非常不错的题目:三个线程按序打印ABC。 很多读者朋友应该都觉得这道题目不难,这次给大家带来十二种做法,一定有你没有见过的新姿势。 1. synchronized+wait+notify 说到同步,我们很容易就想到synchronize 阅读全文
posted @ 2022-12-22 21:25 程序员小明1024 阅读(865) 评论(0) 推荐(0) 编辑
摘要:前言 公司业务中遇到一个需求,需要同时修改最多约5万条数据,而且还不支持批量或异步修改操作。于是只能写个for循环操作,但操作耗时太长,只能一步一步寻找其他解决方案。 具体操作如下: 一、循环操作的代码 先写一个最简单的for循环代码,看看耗时情况怎么样。 /*** * 一条一条依次对50000条数 阅读全文
posted @ 2022-12-20 23:53 程序员小明1024 阅读(156) 评论(0) 推荐(0) 编辑
摘要:大家好,我是小林。 最近重新补充了《MySQL 有哪些锁》文章内容: 增加记录锁、间隙锁、net-key 锁 增加插入意向锁 增加自增锁为 innodb_autoinc_lock_mode = 2 模式时,为什么主从环境会有不安全问题的说明 所以,现在内容还是比较全面的,基本把 MySQL 用到的锁 阅读全文
posted @ 2022-12-20 21:54 程序员小明1024 阅读(103) 评论(0) 推荐(0) 编辑
摘要:本文已参与「新人创作礼」活动,一起开启掘金创作之路 1.锁(Synchronized和lock) 1.1 Synchronized (1)Synchronized是Java内置的关键字,是Java内置的锁机制。 (2)Synchronized的作用域: 方法: 实例方法:被锁定的是类的实例对象。 静 阅读全文
posted @ 2022-10-06 00:18 程序员小明1024 阅读(39) 评论(0) 推荐(0) 编辑
摘要:前言 大家好,我是捡田螺的小男孩。金九银十快要来了,整理了50道多线程并发面试题,大家可以点赞、收藏起来,慢慢品!~ github地址,麻烦给个star鼓励一下,感谢感谢 公众号:捡田螺的小男孩(欢迎关注,干货多多) 1、为什么要使用多线程 选择多线程的原因,就是因为快。举个例子: 如果要把1000 阅读全文
posted @ 2022-10-02 19:06 程序员小明1024 阅读(31) 评论(0) 推荐(0) 编辑
摘要:在 java 并发编程中,线程和锁永远是最重要的概念。语言规范虽然是规范描述,但是其中也有非常多的知识和最佳实践是值得学习的,相信这篇文章还是可以给很多读者提供学习参考的。 本文主要是翻译 + 解释 Oracle 《The Java Language Specification, Java SE 8 阅读全文
posted @ 2022-10-02 18:58 程序员小明1024 阅读(34) 评论(0) 推荐(0) 编辑
摘要:死锁(Dead Lock)指的是两个或两个以上的运算单元(进程、线程或协程),都在等待对方停止执行,以取得系统资源,但是没有一方提前退出,就称为死锁。 1.死锁演示 死锁的形成分为两个方面,一个是使用内置锁 synchronized 形成的死锁,另一种是使用显式锁 Lock 实现的死锁,接下来我们分 阅读全文
posted @ 2022-10-02 18:03 程序员小明1024 阅读(126) 评论(0) 推荐(0) 编辑
摘要:一. JVM内存区域的划分 1.1 java虚拟机运行时数据区 java虚拟机运行时数据区分布图: JVM栈(Java Virtual Machine Stacks): Java中一个线程就会相应有一个线程栈与之对应,因为不同的线程执行逻辑有所不同,因此需要一个独立的线程栈,因此栈存储的信息都是跟当 阅读全文
posted @ 2022-10-02 17:58 程序员小明1024 阅读(92) 评论(0) 推荐(0) 编辑
摘要:问题抛出 在近期的项目里面有一个功能是领取优惠券的功能, 问题描述: 每一个优惠券一共发行多少张,每个用户可以领取多少张: 如:A优惠券一共发行120张,每一个用户可以领取140张,当一个用户领取优惠券成功的时候,把领取的记录写入到另外一个表中(这张表我们暂且称为表B) <!--减优惠券库存的SQL 阅读全文
posted @ 2022-07-17 02:12 程序员小明1024 阅读(131) 评论(0) 推荐(0) 编辑
摘要:本文已参与「新人创作礼」活动,一起开启掘金创作之路 1.锁(Synchronized和lock) 1.1 Synchronized (1)Synchronized是Java内置的关键字,是Java内置的锁机制。 (2)Synchronized的作用域: 方法: 实例方法:被锁定的是类的实例对象。 静 阅读全文
posted @ 2022-07-17 00:06 程序员小明1024 阅读(61) 评论(0) 推荐(0) 编辑
摘要:写在前面 作为程序员,多多少少都会遇到一些内存溢出的场景,如果你还没遇到,说明你工作的年限可能比较短,或者你根本就是个假程序员!哈哈,开个玩笑。今天,我们就以Java代码的方式来列举几个典型的内存溢出案例,希望大家在日常工作中,尽量避免写这些low水平的代码。 定义主类结构 首先,我们创建一个名称为 阅读全文
posted @ 2022-07-14 00:02 程序员小明1024 阅读(297) 评论(0) 推荐(0) 编辑
摘要:本文原发于 JWT 身份认证优缺点分析 。 在 JWT 基本概念详解这篇文章中,我介绍了: 什么是 JWT? JWT 由哪些部分组成? 如何基于 JWT 进行身份验证? JWT 如何防止 Token 被篡改? 如何加强 JWT 的安全性? 这篇文章,我们一起探讨一下 JWT 身份认证的优缺点以及常见 阅读全文
posted @ 2022-07-13 23:44 程序员小明1024 阅读(365) 评论(0) 推荐(0) 编辑
摘要:前言 大家好呀,我是捡田螺的小男孩。 我们日常开发中,如何保证接口数据的安全性呢?个人觉得,接口数据安全的保证过程,主要体现在这几个方面:一个就是数据传输过程中的安全,还有就是数据到达服务端,如何识别数据,最后一点就是数据存储的安全性。今天跟大家聊聊保证接口数据安全的10个方案。 公众号:捡田螺的小 阅读全文
posted @ 2022-07-13 22:46 程序员小明1024 阅读(343) 评论(0) 推荐(0) 编辑
摘要:目录1. 基本概念2. 线程的创建和启动2.1. 多线程实现的原理2.2.多线程的创建,方式一:继承于Thread类2.3.多线程的创建,方式一:创建Thread匿名子类(也属于方法一)2.4. 多线程的创建,方式二:实现Runnable接口2.4.1. 比较创建线程的两种方式2.5. 多线程的创建 阅读全文
posted @ 2022-07-08 00:40 程序员小明1024 阅读(9555) 评论(0) 推荐(0) 编辑
摘要:来源:小小木的博客 www.cnblogs.com/wyc1994666/p/11366802.html 不知大家有没有思考过,当我们使用IDE写了一个Demo类,并执行main函数打印 hello world时都经历了哪些流程么? 想通过这篇文章来分析分析Java的执行流程,或者换句话说想聊聊Ja 阅读全文
posted @ 2022-07-08 00:34 程序员小明1024 阅读(134) 评论(0) 推荐(0) 编辑
摘要:今天想到一个问题为什么.class 文件中只有一个public修饰的类,之后查了很多资料,自己也做了不少测试,现在将所做的测试和结果和大家分享。 首先了解一下什么是.java文件,.class文件 类名.java文件是保存源代码的文本文件 使用 javac 类名.java可以编译该文件,编译为二进制 阅读全文
posted @ 2022-07-04 00:26 程序员小明1024 阅读(2253) 评论(0) 推荐(0) 编辑
摘要:前言 对于从事后端开发的同学来说,线程安全问题是我们每天都需要考虑的问题。 线程安全问题通俗的讲:主要是在多线程的环境下,不同线程同时读和写公共资源(临界资源),导致的数据异常问题。 比如:变量a=0,线程1给该变量+1,线程2也给该变量+1。此时,线程3获取a的值有可能不是2,而是1。线程3这不就 阅读全文
posted @ 2022-06-20 00:14 程序员小明1024 阅读(59) 评论(0) 推荐(0) 编辑