线程 原理jsf jvm
OpenMP 线程同步 Construct 实现原理以及源码分析(上)
在本篇文章当中主要给大家介绍了 flush, master 和 critical 指令的实现细节和他的调用的库函数,并且深入分析了这几个 construct 当中设计的库函数的源代码,希望大家有所收获。 ......
深入理解 OpenMP 线程同步机制
在本篇文章当中主要给大家介绍了一些经常使用的 OpenMP 用于线程之间同步的指令,并且用实际例子分析它内部的工作机制,以及我们改如何使用 nowait 优化程序的性能,以上就是本篇文章的所有内容希望大家有所收获! ......
OpenMP Parallel Construct 实现原理与源码分析
在本篇文章当中我们将主要分析 OpenMP 当中的 parallel construct 具体时如何实现的,以及这个 construct 调用了哪些运行时库函数,并且详细分析这期间的参数传递! ......
Openmp Runtime 库函数汇总(下)——深入剖析锁🔒原理与实现
在本篇文章当中主要给大家分析了 OpenMP 当中两种主要的锁的实现,分别是 omp_lock_t 和 omp_nest_lock_t,一种是简单的锁实现,另外一种是可重入锁的实现。其实 critical 子句在 OpenMP 内部的也是利用上面的锁实现的。整个锁的实现还是非常复杂的,里面有很多耐人... ......
解读JVM级别本地缓存Caffeine青出于蓝的要诀3 —— 讲透Caffeine的数据驱逐淘汰机制与用法
上一篇文章中我们聊了Caffeine的同步、异步的数据回源方式。本篇文章我们再一起研讨下经Caffeine改良过的异步数据驱逐处理实现,以及Caffeine支持的多种不同的数据淘汰驱逐机制和对应的实际使用。 ......
一篇文章带你了解设计模式原理——UML图和软件设计原则
一篇文章带你了解设计模式原理——UML图和软件设计原则 我们在学习过程中可能并不会关心设计模式,但一旦牵扯到项目和面试,设计模式就成了我们的短板 这篇文章并不会讲到二十三种设计模式,但是会讲解设计模式的设计原则以及设计依据和最明显的图形表示 或许我们只有先去了解设计模式的来源才能真正理解设计模式吧 ......
【Java】线程池梳理
【Java】线程池梳理 前言 线程池:本质上是一种对象池,用于管理线程资源。在任务执行前,需要从线程池中拿出线程来执行。在任务执行完成之后,需要把线程放回线程池。通过线程的这种反复利用机制,可以有效地避免直接创建线程所带来的坏处。 优点:1、降低资源的消耗。线程本身是一种资源,创建和销毁线程会有CP ......
【JVM故障问题排查心得】「内存诊断系列」Xmx和Xms的大小是小于Docker容器以及Pod的大小的,为啥还是会出现OOMKilled?
为什么我设置的大小关系没有错,还会OOMKilled? 这种问题常发生在JDK8u131或者JDK9版本之后所出现在容器中运行JVM的问题:在大多数情况下,JVM将一般默认会采用宿主机Node节点的内存为Native VM空间(其中包含了堆空间、直接内存空间以及栈空间),而并非是是容器的空间为标准。 ......
C#开发的线程池和管理器 - 开源研究系列文章
上次编写了一个小软件,用于练手及自己的一个小工具集合。今天把其中的线程池和管理器的代码抽取出来,写成一个博文,让需要的朋友能够进行学习和应用。 这个线程管理器包括了3个类库和一个应用程序,见下图: 第一个是窗体磁吸屏幕的类库,以前有过一个VB编的类库(磁性窗体源码开源 - 开源研究系列文章),这次把 ......
【深入浅出Sentinel原理及实战】「基础实战专题」零基础实现服务流量控制实战开发指南(2)
你若要喜爱你自己的价值,你就得给世界创造价值。 Sentinel的组成部分 Sentinel 主要由以下两个部分组成。 Sentinel核心库(Java客户端) :Sentinel的核心库不依赖任何框架或库,能够运行于Java 8及以上的版本的运行时环境中,同时对 Spring Cloud、Dubb ......
【Java技术专题】「原理专题」深入分析Java中finalize方法的作用和底层原理
finalize方法是什么 finalize方法是Object的protected方法,Object的子类们可以覆盖该方法以实现资源清理工作,GC在首次回收对象之前调用该方法。 finalize方法与C++的析构函数的区别 finalize方法与C++中的析构函数不是对应的,C++中的析构函数调用的 ......
【世界杯黑技术专题】「原理探索专题」一文解读一下“卡塔尔世界杯”的先进技术之半自动越位技术SAOT+比赛用球Al Rihla
盘点卡塔尔世界杯的先进黑科技 归纳总结一下目前世界杯的先进的黑科技有哪些?大致可以划分为以下几点。 半自动化越位技术 比赛用球Al Rihla 球场智能空调 可持续利用的体育场 便利的数字设施和App 针对于黑科技太多了,所以本文主要是侧重点去讲述分析一下【半自动化越位技术】与【比赛用球Al Rih ......
详解JAVA线程问题诊断工具Thread Dump
摘要:Thread Dump是非常有用的诊断Java应用问题的工具。 本文分享自华为云社区《调试排错 - Java 线程分析之线程Dump分析》,作者:龙哥手记。 Thread Dump是非常有用的诊断Java应用问题的工具。每一个Java虚拟机都有及时生成所有线程在某一点状态的thread-dum ......
一文掌握MyBatis的动态SQL使用与原理
摘要:使用动态 SQL 并非一件易事,但借助可用于任何 SQL 映射语句中的强大的动态 SQL 语言,MyBatis 显著地提升了这一特性的易用性。 本文分享自华为云社区《MyBatis详解 - 动态SQL使用与原理》,作者:龙哥手记 。 动态 SQL 是 MyBatis 的强大特性之一。如果你使用 ......
Dubbo 3 之 Triple 流控反压原理解析
作者:顾欣 Triple 是 Dubbo 3 提出的基于 HTTP2 的开放协议,旨在解决 Dubbo 2 私有协议带来的互通性问题。Triple 基于 HTTP/2 定制自己的流控,支持通过特定的异常通知客户端业务层服务端负载高情况,保护了服务端被大流量击垮,提高系统高可用能力。 一、流控反压现状 ......
@LoadBalanced注解原理
在使用springcloud ribbon客户端负载均衡的时候,可以给RestTemplate bean 加一个@LoadBalanced注解,就能让这个RestTemplate在请求时拥有客户端负载均衡的能力: @Bean @LoadBalanced RestTemplate restTempla ......
笑死,面试官又问我SpringBoot自动配置原理
面试官:好久没见,甚是想念。今天来聊聊SpringBoot的自动配置吧? 候选者:嗯,SpringBoot的自动配置我觉得是SpringBoot很重要的“特性”了。众所周知,SpringBoot有着“约定大于配置”的理念,这一理念一定程度上可以用“SpringBoot自动配置”来解释。 候选者:Sp ......
SpringBoot 自动装配的原理分析
关于 SpringBoot 的自动装配功能,相信是每一个 Java 程序员天天都会用到的一个功能,但是它究竟是如何实现的呢?今天阿粉来带大家看一下。 自动装配案例 首先我们通过一个案例来看一下自动装配的效果,创建一个 SpringBoot 的项目,在 pom 文件中加入下面的依赖。 <depende ......
jdk调度任务线程池ScheduledThreadPoolExecutor工作原理解析
jdk调度任务线程池ScheduledThreadPoolExecutor工作原理解析 在日常开发中存在着调度延时任务、定时任务的需求,而jdk中提供了两种基于内存的任务调度工具,即相对早期的java.util.Timer类和java.util.concurrent中的ScheduledThread ......
聊聊CPU的发展历程之单核、多核、超线程
作者:小牛呼噜噜 | https://xiaoniuhululu.com 计算机内功、JAVA底层、面试、职业成长相关资料等更多精彩文章在公众号「小牛呼噜噜」 大家好,我是呼噜噜,在计算机的早期,Intel奔腾处理器时代,他们的主板上的单个处理器CPU是相当大的。为了提升计算机的整体运算处理能力,一 ......
C#多线程(四)并行编程篇之结构化
前言 在前三章中我们的案例大量使用到了Thread这个类,通过其原始API,对其进行创建、启动、中断、中断、终止、取消以及异常处理,这样的写法不仅不够优雅(对接下来这篇,我称其为.NET现代化并行编程体系中出现的API而言),并且大部分的接口都是极度复杂和危险的。很幸运,如今.NET已经提供,并且普 ......
Vue中关于数组与对象修改触发页面更新的机制与原理简析
Vue中关于数组与对象修改触发页面更新的机制与原理简析 相关问题 数组 使用索引直接赋值与直接修改数组length时,不会触发页面更新。 例如: <script> export default { name: "HomeView", data: () => ({ list1: ["A", "B"], ......
解读JVM级别本地缓存Caffeine青出于蓝的要诀 —— 缘何会更强、如何去上手
继Guava Cache之后,我们再来聊一下各方面表现都更佳的Caffeine,看一下其具体使用方式、核心的优化改进点,窥探其青出于蓝的秘密所在。 ......
解读JVM级别本地缓存Caffeine青出于蓝的要诀2 —— 弄清楚Caffeine的同步、异步回源方式
作为一种对外提供黑盒缓存能力的专门组件,Caffeine基于穿透型缓存模式进行构建。本文就深度全面聊一聊关于Caffeine的多种不同的数据回源方式、以及在同步异步场景下的实现与使用。 ......
探索小程序底层架构原理
双线程架构 在这之前,我们先来思考一个问题,小程序在架构上为什么会选择双线程? 为什么是双线程? 加载及渲染性能 小程序的设计之初就是要求快速,这里的快指的是加载以及渲染。 目前主流的渲染方式有以下3种: Web技术渲染 Native技术渲染 Hybrid技术渲染(同时使用了webview和原生来渲 ......
为什么 Random.Shared 是线程安全的
在多线程环境中使用 Random 类来生成伪随机数时,很容易出现线程安全问题。例如,当多个线程同时调用 Next 方法时,可能会出现种子被意外修改的情况,导致生成的伪随机数不符合预期。 为了避免这种情况,.NET 框架引入了 Random.Shared 属性。它返回一个特殊的 Random 实例,可 ......
深度剖析 | 【JVM深层系列】[HotSpotVM研究系列] JVM调优的"标准参数"的各种陷阱和坑点分析(攻克盲点及混淆点)「 1 」
相信大多数人的理解是Major GC只针对老年代,Full GC会先触发一次Minor GC,不知对否?我参考了R大的分析和介绍,总结了一下相关的说明和分析结论。 ......
【JVM实战系列】「监控调优体系」实战开发arthas-spring-boot-starter监控你的微服务是否健康
相信如果经历了我的上一篇Arthas的文章[【JVM实战系列】「监控调优体系」针对于Alibaba-Arthas的安装入门及基础使用开发实战指南]之后,相信你对Arthas的功能和使用应该有了一定的理解了。那么我们就要进行下一步的探索功能。 ......
【JVM故障问题排查心得】「内存诊断系列」Docker容器经常被kill掉,k8s中该节点的pod也被驱赶,怎么分析?
我有一个在主机中运行的Docker容器(也有在同一主机中运行的其他容器)。该Docker容器中的应用程序将会计算数据和流式处理,这可能会消耗大量内存。
该容器会不时退出。我怀疑这是由于内存不足,但不是很确定。我需要找到根本原因的方法。那么有什么方法可以知道这个集装箱的死亡发生了什么? ......
【深入浅出Spring原理及实战】「源码原理实战」从底层角度去分析研究PropertySourcesPlaceholderConfigurer的原理及实战注入机制
主要有一下xml文件占位符解析和Java的属性@Value的占位符解析配置这两种场景进行分析和实现解析,如下面两种案例。 ......