- AQS (1)aqs 使用node实现fifo队列,可以用于构建锁或者其他的同步装置的基础框架利用了一个int类型表示状态使用方法是继承子类通过继承并通过实现它的方法管理其状态{acquire 和 release}可以同时实现排他锁和共享锁模式(独占,共享) (2)Coun... AQS (1)aqs 使用node实现fifo队列,可以用于构建锁或者其他的同步装置的基础框架利用了一个int类型表示状态使用方法是继承子类通过继承并通过实现它的方法管理其状态{acquire 和 release}可以同时实现排他锁和共享锁模式(独占,共享) (2)Coun...
- 本博客简介介绍一下java线程的join方法,join方法是实现线程同步,可以将原本并行执行的多线程方法变成串行执行的 如图所示代码,是并行执行的 public class ThreadTest { //private static final Long count = 10000L; public static void main(String[] args){ ... 本博客简介介绍一下java线程的join方法,join方法是实现线程同步,可以将原本并行执行的多线程方法变成串行执行的 如图所示代码,是并行执行的 public class ThreadTest { //private static final Long count = 10000L; public static void main(String[] args){ ...
- 前言 本博客介绍一种创建型模式:单例模式 这是一种比较容易理解的设计模式,可以理解为创建对象的一种很好的做法。可以尽量避免创建过多的对象,给JVM造成很大的负载。 应用场景 单例模式的一些应用场景: 1、比如数据连接类,这是需要经常调用的 2、网站访问量统计的服务类,需要多次调用 3、导出导入Excel表,一些业务复杂的系统需要多次调用 … 总结起来就... 前言 本博客介绍一种创建型模式:单例模式 这是一种比较容易理解的设计模式,可以理解为创建对象的一种很好的做法。可以尽量避免创建过多的对象,给JVM造成很大的负载。 应用场景 单例模式的一些应用场景: 1、比如数据连接类,这是需要经常调用的 2、网站访问量统计的服务类,需要多次调用 3、导出导入Excel表,一些业务复杂的系统需要多次调用 … 总结起来就...
- 本博客介绍一下jvisualvm的简单使用教程,jvisualvm功能还是挺多的,不过本博客之简单介绍一下 1、拿线程快照信息 在jdk安装目录找到jvisualvm.exe,${JDK_HOME}\bin\jvisualvm.exe 这里可以看到具体的线程快照信息: 收集后可以看到如图,右键,保存线程快照信息 收集线程快照信息主要是为了监控是否有出现... 本博客介绍一下jvisualvm的简单使用教程,jvisualvm功能还是挺多的,不过本博客之简单介绍一下 1、拿线程快照信息 在jdk安装目录找到jvisualvm.exe,${JDK_HOME}\bin\jvisualvm.exe 这里可以看到具体的线程快照信息: 收集后可以看到如图,右键,保存线程快照信息 收集线程快照信息主要是为了监控是否有出现...
- 互联网中大部分的底层网络代码都是用C语言写的。网络程序通常由两部分程序组成:服务器和客户端。 服务器将同时与多个客户端通信。客户端与服务器之间将展开一段结构化对话,叫做协议。 互联网使用了各种协议,一部分是低层协议,另一部分是高层协议。 低层协议有IP,它用来控制二进制的0和1在互联网中的发送方式。 高层协议有HTTP,它用来控制浏览器与网络服务器的对话。 协议通... 互联网中大部分的底层网络代码都是用C语言写的。网络程序通常由两部分程序组成:服务器和客户端。 服务器将同时与多个客户端通信。客户端与服务器之间将展开一段结构化对话,叫做协议。 互联网使用了各种协议,一部分是低层协议,另一部分是高层协议。 低层协议有IP,它用来控制二进制的0和1在互联网中的发送方式。 高层协议有HTTP,它用来控制浏览器与网络服务器的对话。 协议通...
- 1. 什么是雪崩效应? 微服务环境,各服务之间是经常相互依赖的,如果某个不可用,很容易引起连锁效应,造成整个系统的不可用,这种现象称为服务雪崩效应。 如图,引用国外网站的图例:https://www.javatpoint.com/fault-tolerance-with-hystrix#,如图系统各种服务相互调用,一旦一个服务出现问题,假如系统没有熔断器,很容易影响... 1. 什么是雪崩效应? 微服务环境,各服务之间是经常相互依赖的,如果某个不可用,很容易引起连锁效应,造成整个系统的不可用,这种现象称为服务雪崩效应。 如图,引用国外网站的图例:https://www.javatpoint.com/fault-tolerance-with-hystrix#,如图系统各种服务相互调用,一旦一个服务出现问题,假如系统没有熔断器,很容易影响...
- 文章目录 第一章 Quartz1.1 Quartz概念1.2 Quartz任务调度主要元素1.3 Quartz特点1.4 Quartz基本元素关系图 第二章 Trigger(触发器)2.1 Trigger定义2.2 Trigger属性2.3 Trigger类型2.3.1 SimpleTrigger2.3.2 CalendarIntervalTrigger2.3.... 文章目录 第一章 Quartz1.1 Quartz概念1.2 Quartz任务调度主要元素1.3 Quartz特点1.4 Quartz基本元素关系图 第二章 Trigger(触发器)2.1 Trigger定义2.2 Trigger属性2.3 Trigger类型2.3.1 SimpleTrigger2.3.2 CalendarIntervalTrigger2.3....
- ulimit -n和-u可以查看linux的最大进程数和最大文件打开数。 临时方法: 为了优化linux性能,可能需要修改这个最大值。临时修改的话ulimit -n 204800就可以了,重启后失效。 永久生效的方法: 修改/etc/security/limits.conf文件 在文件末尾添加 * soft nofile 204800 * hard nofil... ulimit -n和-u可以查看linux的最大进程数和最大文件打开数。 临时方法: 为了优化linux性能,可能需要修改这个最大值。临时修改的话ulimit -n 204800就可以了,重启后失效。 永久生效的方法: 修改/etc/security/limits.conf文件 在文件末尾添加 * soft nofile 204800 * hard nofil...
- apt-get下载太慢~背景 首先检查一下软件源,建议换成国内的,这样下载会快很多。 在Linux中,默认的apt-get install 有时候会下载非常慢,尤其是添加的一些ppa去下载。发现apt-fast是个好东西,apt-fast 通过使用多线程下载来给apt-get 提速。经过测试效果出奇的好。 目录 apt-get下载太慢~背景 apt-fa... apt-get下载太慢~背景 首先检查一下软件源,建议换成国内的,这样下载会快很多。 在Linux中,默认的apt-get install 有时候会下载非常慢,尤其是添加的一些ppa去下载。发现apt-fast是个好东西,apt-fast 通过使用多线程下载来给apt-get 提速。经过测试效果出奇的好。 目录 apt-get下载太慢~背景 apt-fa...
- 文章目录 一、线程并行相关概念同步(Synchronous)和异步(Asynchronous)并发(Concurrency)和并行(Parallelism)临界区阻塞(Blocking)和非阻塞(Non-Blocking)饥饿(Starvation)、死锁(Deadlock)和活锁(Livelock) 二、并行的两个重要定律Amdahi定律Gustafson定律... 文章目录 一、线程并行相关概念同步(Synchronous)和异步(Asynchronous)并发(Concurrency)和并行(Parallelism)临界区阻塞(Blocking)和非阻塞(Non-Blocking)饥饿(Starvation)、死锁(Deadlock)和活锁(Livelock) 二、并行的两个重要定律Amdahi定律Gustafson定律...
- 前言 在Android系统中,我们通常会通过上下文对象Context获取一些系统级别的服务。而这些服务会在适当的时候以单例的形式注册在系统中,那么我们就可以通过Context的getSystemService(String name)获取。 以下的源码是Android8.0 API 26。 LayoutInflater 今天我们来看一下Android源码中的设计... 前言 在Android系统中,我们通常会通过上下文对象Context获取一些系统级别的服务。而这些服务会在适当的时候以单例的形式注册在系统中,那么我们就可以通过Context的getSystemService(String name)获取。 以下的源码是Android8.0 API 26。 LayoutInflater 今天我们来看一下Android源码中的设计...
- Java8新特性[并行流与顺序流] 前言并行流Fork/Join框架概念采用 工作窃取 模式 总结 前言 这篇博文我们讲并行流和顺序流,感兴趣的同学可以了解一下。 并行流 并行流就是把一个内容分成多个数据块,并用不同的线程分别处理每个数据块的流 Java8中将并行流进行了优化,我们可以很容易的对数据进行并行操作,Stream API可... Java8新特性[并行流与顺序流] 前言并行流Fork/Join框架概念采用 工作窃取 模式 总结 前言 这篇博文我们讲并行流和顺序流,感兴趣的同学可以了解一下。 并行流 并行流就是把一个内容分成多个数据块,并用不同的线程分别处理每个数据块的流 Java8中将并行流进行了优化,我们可以很容易的对数据进行并行操作,Stream API可...
- 线程安全性 (1)java.util.concurrent.atomic 包 AtomicInteger 、 AtomicLong 、LongAdder的使用 @Slf4j@ThreadSafepublic class AtomicExample2 { //请求次数 pri... 线程安全性 (1)java.util.concurrent.atomic 包 AtomicInteger 、 AtomicLong 、LongAdder的使用 @Slf4j@ThreadSafepublic class AtomicExample2 { //请求次数 pri...
- 这篇文章是《读薄「Linux 内核设计与实现」》系列文章的第 IV 篇,本文主要讲了以下问题:中断和中断处理程序的概念与实现原理、Linux 中的下半部以及内核同步方法。 0x00 中断和中断处理程序 I 中断 中断是一种特殊的电信号,由硬件发向处理器,处理器接收到中断时,会马上箱操作系统反映,由操作系统进行处理。中断随时可以产生,因此,内核随时可能因为新... 这篇文章是《读薄「Linux 内核设计与实现」》系列文章的第 IV 篇,本文主要讲了以下问题:中断和中断处理程序的概念与实现原理、Linux 中的下半部以及内核同步方法。 0x00 中断和中断处理程序 I 中断 中断是一种特殊的电信号,由硬件发向处理器,处理器接收到中断时,会马上箱操作系统反映,由操作系统进行处理。中断随时可以产生,因此,内核随时可能因为新...
- 死锁编码及定位分析 概念产生死锁的原因死锁代码如何排查死锁 概念 死锁是指两个或多个以上的进程在执行过程中,因争夺资源而造成一种互相等待的现象,若无外力干涉那他们都将无法推进下去,如果资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁 产生死锁的原因 系统资源不足进程运行推进的顺序不对资源分配不当 ... 死锁编码及定位分析 概念产生死锁的原因死锁代码如何排查死锁 概念 死锁是指两个或多个以上的进程在执行过程中,因争夺资源而造成一种互相等待的现象,若无外力干涉那他们都将无法推进下去,如果资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁 产生死锁的原因 系统资源不足进程运行推进的顺序不对资源分配不当 ...
上滑加载中
推荐直播
-
鸿蒙上云,加速开发者成长
2024/09/11 周三 16:30-18:00
芝诺 华为云HarmonyOS DTSE技术布道师
鸿蒙千帆起,越来越多的开发者启动鸿蒙原生应用开发,开发者创新中心提供全面的合作资源与支持服务,从了解、到学习评估、到开发上架以及技术支持,帮助不了解鸿蒙应用开发的伙伴快速转身、快速具备鸿蒙应用开发的能力。诚邀您加入鸿蒙生态,开启鸿蒙原生应用开发!
回顾中
热门标签