- 对共享变量加锁虽然能够保证线程的安全,但是却增加了开发人员对锁的使用技能,如果锁使用不当,则会导致死锁的问题。而ThreadLocal能够做到在创建变量后,每个线程对变量访问时访问的是线程自己的本地变量。 对共享变量加锁虽然能够保证线程的安全,但是却增加了开发人员对锁的使用技能,如果锁使用不当,则会导致死锁的问题。而ThreadLocal能够做到在创建变量后,每个线程对变量访问时访问的是线程自己的本地变量。
- 写在前面简单整一下 k8s 中 Pod 故障 OOMKilled 的原因以及诊断博文内容涉及:k8s OOMKilled 分类: 宿主节点行为 / K8s Cgroups 行为什么是 OOMKilled K8s 错误,OOMKiller 机制如何工作?OOMKilled K8s 错误和解决的常见原因理解不足小伙伴帮忙指正 对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心... 写在前面简单整一下 k8s 中 Pod 故障 OOMKilled 的原因以及诊断博文内容涉及:k8s OOMKilled 分类: 宿主节点行为 / K8s Cgroups 行为什么是 OOMKilled K8s 错误,OOMKiller 机制如何工作?OOMKilled K8s 错误和解决的常见原因理解不足小伙伴帮忙指正 对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心...
- 定时任务几乎是每个业务系统必不可少的功能,计算到期时间、过期时间等,定时触发某项任务操作。在使用单体应用时,基本使用Spring提供的注解即可实现定时任务,而在使用微服务集群时,这种方式就要考虑添加分布式锁来防止多个微服务同时运行定时任务而导致同一个任务重复执行。 除了使用注解,现在还有一种方式,就是搭建分布式任务平台,所有的微服务注册到分布式任务平台,由分布式任务平台统一调度,这样避... 定时任务几乎是每个业务系统必不可少的功能,计算到期时间、过期时间等,定时触发某项任务操作。在使用单体应用时,基本使用Spring提供的注解即可实现定时任务,而在使用微服务集群时,这种方式就要考虑添加分布式锁来防止多个微服务同时运行定时任务而导致同一个任务重复执行。 除了使用注解,现在还有一种方式,就是搭建分布式任务平台,所有的微服务注册到分布式任务平台,由分布式任务平台统一调度,这样避...
- 解决SimpleDateFormat类在高并发场景下的线程安全问题可以有多种方式,这里,就列举几个常用的方式供参考,**大家也可以在评论区给出更多的解决方案。** 解决SimpleDateFormat类在高并发场景下的线程安全问题可以有多种方式,这里,就列举几个常用的方式供参考,**大家也可以在评论区给出更多的解决方案。**
- 最近,有小伙伴看了我写的《深入理解高并发编程(第1版)》或者在 冰河技术 公号看了《高并发之——SimpleDateFormat类的线程安全问题和解决方案》一文,对文中SimpleDateFormat类线程不安全问题的分析产生了疑惑,并留言或者私信我说明了自己对问题的理解和建议。 最近,有小伙伴看了我写的《深入理解高并发编程(第1版)》或者在 冰河技术 公号看了《高并发之——SimpleDateFormat类的线程安全问题和解决方案》一文,对文中SimpleDateFormat类线程不安全问题的分析产生了疑惑,并留言或者私信我说明了自己对问题的理解和建议。
- 一、前言经过前几篇博文对堆内存以及垃圾收集机制的学习,相信小伙伴们已经建立了一套比较完整的理论体系!本篇博文就根据已有的理论知识,通过可视化工具来实战一番。 二、JAVA监视与管理控制台今天要讲解的工具位于JDK/bin目录下,大家可以发现该目录下有很多可执行文件,这里都是JDK为我们提供用于分析内存的一些工具。我们重点看看jconsole.exe-JAVA监视与管理控制台。先运行以下程序... 一、前言经过前几篇博文对堆内存以及垃圾收集机制的学习,相信小伙伴们已经建立了一套比较完整的理论体系!本篇博文就根据已有的理论知识,通过可视化工具来实战一番。 二、JAVA监视与管理控制台今天要讲解的工具位于JDK/bin目录下,大家可以发现该目录下有很多可执行文件,这里都是JDK为我们提供用于分析内存的一些工具。我们重点看看jconsole.exe-JAVA监视与管理控制台。先运行以下程序...
- 简介windows api 使用首先我们介绍用Go语言去添加用户.这里可以给大家介绍一个小技巧,因为Go和C的语法是比较相似的,所以可以去对比C的写法来写Go的.要注意的是C语言在底层这里很多都定义好了,但Go并没有定义好,所以我们要重写USER_INFO_1 ui; //这个因为已经在C中定义好了//我们可以Ctrl+单击进入看看这一个结构体为了让Go减少体积,这里便不去调用第三方库了,下... 简介windows api 使用首先我们介绍用Go语言去添加用户.这里可以给大家介绍一个小技巧,因为Go和C的语法是比较相似的,所以可以去对比C的写法来写Go的.要注意的是C语言在底层这里很多都定义好了,但Go并没有定义好,所以我们要重写USER_INFO_1 ui; //这个因为已经在C中定义好了//我们可以Ctrl+单击进入看看这一个结构体为了让Go减少体积,这里便不去调用第三方库了,下...
- 在实际工作中,有一种非常普遍的并发场景:那就是读多写少的场景。在这种场景下,为了优化程序的性能,我们经常使用缓存来提高应用的访问性能。因为缓存非常适合使用在读多写少的场景中。而在并发场景中,Java SDK中提供了ReadWriteLock来满足读多写少的场景。本文我们就来说说使用ReadWriteLock如何实现一个通用的缓存中心。 在实际工作中,有一种非常普遍的并发场景:那就是读多写少的场景。在这种场景下,为了优化程序的性能,我们经常使用缓存来提高应用的访问性能。因为缓存非常适合使用在读多写少的场景中。而在并发场景中,Java SDK中提供了ReadWriteLock来满足读多写少的场景。本文我们就来说说使用ReadWriteLock如何实现一个通用的缓存中心。
- 今天为大家介绍一个在高并发环境下,比读写锁性能更高的锁。可能很多小伙伴都不知道StampedLock是啥,至少我身边的很多小伙伴都没使用过StampedLock锁,今天,我们就一起来聊聊这个在高并发环境下比ReadWriteLock更快的锁——StampedLock。 今天为大家介绍一个在高并发环境下,比读写锁性能更高的锁。可能很多小伙伴都不知道StampedLock是啥,至少我身边的很多小伙伴都没使用过StampedLock锁,今天,我们就一起来聊聊这个在高并发环境下比ReadWriteLock更快的锁——StampedLock。
- 最近有不少小伙伴私信我说:看了我在【精通高并发系列】文章中写的深度解析线程池源码部分的文章,但是还是有些不明白线程池的实现原理。问我能不能手写一个简单的线程池,帮助读者深刻理解线程池的原理。 最近有不少小伙伴私信我说:看了我在【精通高并发系列】文章中写的深度解析线程池源码部分的文章,但是还是有些不明白线程池的实现原理。问我能不能手写一个简单的线程池,帮助读者深刻理解线程池的原理。
- 提起SimpleDateFormat类,想必做过Java开发的童鞋都不会感到陌生。没错,它就是Java中提供的日期时间的转化类。这里,为什么说SimpleDateFormat类有线程安全问题呢?有些小伙伴可能会提出疑问:我们生产环境上一直在使用SimpleDateFormat类来解析和格式化日期和时间类型的数据,一直都没有问题啊!我的回答是:没错,那是因为你们的系统达不到SimpleDateFor 提起SimpleDateFormat类,想必做过Java开发的童鞋都不会感到陌生。没错,它就是Java中提供的日期时间的转化类。这里,为什么说SimpleDateFormat类有线程安全问题呢?有些小伙伴可能会提出疑问:我们生产环境上一直在使用SimpleDateFormat类来解析和格式化日期和时间类型的数据,一直都没有问题啊!我的回答是:没错,那是因为你们的系统达不到SimpleDateFor
- 小组同学在使用kafka官方工具kafka-consumer-groups.sh批量导集群消费组详情时,发现某一个集群基于broker的某些消费组会出现异常,主要表现: 结果不全: 只有部分分区的信息 进程会阻塞: 不会像导他消费组时那样,执行完自动退出 小组同学在使用kafka官方工具kafka-consumer-groups.sh批量导集群消费组详情时,发现某一个集群基于broker的某些消费组会出现异常,主要表现: 结果不全: 只有部分分区的信息 进程会阻塞: 不会像导他消费组时那样,执行完自动退出
- 0x00 前言python shellcode免杀的常用手法,实现过常见AV的效果。本文分为几个部分:1、shellcode加载器实现;2、代码混淆;3、寻找免杀api4、分离免杀,分离加载器与shellcode;5、python打包成exe6、组合,免杀效果分析0x01 shellcode加载器实现第一个shellcode加载器大部分脚本语言加载Shellcode都是通过c的ffi去调用操... 0x00 前言python shellcode免杀的常用手法,实现过常见AV的效果。本文分为几个部分:1、shellcode加载器实现;2、代码混淆;3、寻找免杀api4、分离免杀,分离加载器与shellcode;5、python打包成exe6、组合,免杀效果分析0x01 shellcode加载器实现第一个shellcode加载器大部分脚本语言加载Shellcode都是通过c的ffi去调用操...
- java 多线程基础专题 内容分享。 java 多线程基础专题 内容分享。
- 在前几篇文章中LyShark通过多种方式实现了驱动程序与应用层之间的通信,这其中就包括了通过运用SystemBuf缓冲区通信,运用ReadFile读写通信,运用PIPE管道通信,以及运用ASYNC反向通信,这些通信方式在应对一收一发模式的时候效率极高,但往往我们需要实现一次性吐出多种数据,例如ARK工具中当我们枚举内核模块时,往往应用层例程中可以返回几条甚至是几十条结果,如下案例所示,这对于... 在前几篇文章中LyShark通过多种方式实现了驱动程序与应用层之间的通信,这其中就包括了通过运用SystemBuf缓冲区通信,运用ReadFile读写通信,运用PIPE管道通信,以及运用ASYNC反向通信,这些通信方式在应对一收一发模式的时候效率极高,但往往我们需要实现一次性吐出多种数据,例如ARK工具中当我们枚举内核模块时,往往应用层例程中可以返回几条甚至是几十条结果,如下案例所示,这对于...
上滑加载中
推荐直播
-
香橙派AIpro的远程推理框架与实验案例
2025/07/04 周五 19:00-20:00
郝家胜 -华为开发者布道师-高校教师
AiR推理框架创新采用将模型推理与模型应用相分离的机制,把香橙派封装为AI推理黑盒服务,构建了分布式远程推理框架,并提供多种输入模态、多种输出方式以及多线程支持的高度复用框架,解决了开发板环境配置复杂上手困难、缺乏可视化体验和资源稀缺课程受限等痛点问题,真正做到开箱即用,并支持多种笔记本电脑环境、多种不同编程语言,10行代码即可体验图像分割迁移案例。
回顾中 -
鸿蒙端云一体化应用开发
2025/07/10 周四 19:00-20:00
倪红军 华为开发者布道师-高校教师
基于鸿蒙平台终端设备的应用场景越来越多、使用范围越来越广。本课程以云数据库服务为例,介绍云侧项目应用的创建、新建对象类型、新增存储区及向对象类型中添加数据对象的方法,端侧(HarmonyOS平台)一体化工程项目的创建、云数据资源的关联方法及对云侧数据的增删改查等操作方法,为开发端云一体化应用打下坚实基础。
回顾中
热门标签