- 一、前言经过前几篇博文对堆内存以及垃圾收集机制的学习,相信小伙伴们已经建立了一套比较完整的理论体系!本篇博文就根据已有的理论知识,通过可视化工具来实战一番。 二、JAVA监视与管理控制台今天要讲解的工具位于JDK/bin目录下,大家可以发现该目录下有很多可执行文件,这里都是JDK为我们提供用于分析内存的一些工具。我们重点看看jconsole.exe-JAVA监视与管理控制台。先运行以下程序... 一、前言经过前几篇博文对堆内存以及垃圾收集机制的学习,相信小伙伴们已经建立了一套比较完整的理论体系!本篇博文就根据已有的理论知识,通过可视化工具来实战一番。 二、JAVA监视与管理控制台今天要讲解的工具位于JDK/bin目录下,大家可以发现该目录下有很多可执行文件,这里都是JDK为我们提供用于分析内存的一些工具。我们重点看看jconsole.exe-JAVA监视与管理控制台。先运行以下程序...
- 本文将深入探讨C++服务器开发中的线程问题。我们将从线程的概念开始,逐步深入到线程同步和线程通信,希望能帮助你更好地理解和掌握C++服务器开发中的线程问题。 本文将深入探讨C++服务器开发中的线程问题。我们将从线程的概念开始,逐步深入到线程同步和线程通信,希望能帮助你更好地理解和掌握C++服务器开发中的线程问题。
- 本文将深入探讨C++在服务器开发中的多线程编程。我们将从基础知识开始,逐步深入到实践应用,希望能帮助你更好地理解和掌握C++多线程编程。 本文将深入探讨C++在服务器开发中的多线程编程。我们将从基础知识开始,逐步深入到实践应用,希望能帮助你更好地理解和掌握C++多线程编程。
- Go 中非常方便的三种并发模式for-select-doneerrgroupworker pool模式 1:For-Select-Donefor-select-done 模式的主要思想是使用无限 for 循环来处理来自各种通道的事件。 select该 select 语句允许从多个通道中选择准备执行的第一个操作。它可以是执行一些有用任务或退出无限循环的信号。在这种模式中,无限 for 循环通常... Go 中非常方便的三种并发模式for-select-doneerrgroupworker pool模式 1:For-Select-Donefor-select-done 模式的主要思想是使用无限 for 循环来处理来自各种通道的事件。 select该 select 语句允许从多个通道中选择准备执行的第一个操作。它可以是执行一些有用任务或退出无限循环的信号。在这种模式中,无限 for 循环通常...
- 前言上篇文章通过 Java NIO 的处理流程与 Netty 的总体流程比较,并结合 Netty 的源码,可以更加清晰地理解Netty。本文将结合源码详细解析Netty的高效和强大功能的设计原理,学习 Netty 是如何实现其卓越的性能和功能特性,也希望可以在日后工作中利用到 Netty 的设计思想。 Netty 解决的问题我们先看看使用 Netty 在网络编程中帮助我们解决了什么问题 简... 前言上篇文章通过 Java NIO 的处理流程与 Netty 的总体流程比较,并结合 Netty 的源码,可以更加清晰地理解Netty。本文将结合源码详细解析Netty的高效和强大功能的设计原理,学习 Netty 是如何实现其卓越的性能和功能特性,也希望可以在日后工作中利用到 Netty 的设计思想。 Netty 解决的问题我们先看看使用 Netty 在网络编程中帮助我们解决了什么问题 简...
- 1 前提我们有一个如下需求:计算 从0 到 1290 的数字,按如下规则计数: 如果 这个数是 2的倍数,则计数器 +1 如果 这个数是 3的倍数,则计数器 +2 如果 这个数是 4的倍数,则计数器 +3 如果 这个数是 5的倍数,则计数器 +4每次计算循环累加计数器,并输出计数器的值。我们有如下代码:package mainimport ( "fmt") var D int ... 1 前提我们有一个如下需求:计算 从0 到 1290 的数字,按如下规则计数: 如果 这个数是 2的倍数,则计数器 +1 如果 这个数是 3的倍数,则计数器 +2 如果 这个数是 4的倍数,则计数器 +3 如果 这个数是 5的倍数,则计数器 +4每次计算循环累加计数器,并输出计数器的值。我们有如下代码:package mainimport ( "fmt") var D int ...
- 一、前言原子线程调用Toast报Can't create handler inside thread that has not called Looper.prepare() 错误今天用子线程调Toast报了一个Can't create handler inside thread that has not calledLooper.prepare()错误。因为toast的实现需要在acti... 一、前言原子线程调用Toast报Can't create handler inside thread that has not called Looper.prepare() 错误今天用子线程调Toast报了一个Can't create handler inside thread that has not calledLooper.prepare()错误。因为toast的实现需要在acti...
- 🏆 作者简介,愚公搬代码🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,51CTO博客专家等。🏆《近期荣誉》:2023年华为云十佳博主,2022年CSDN博客之星TOP2,2022年华为云十佳博主等。🏆《博客内容》:.NET、Java、... 🏆 作者简介,愚公搬代码🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,51CTO博客专家等。🏆《近期荣誉》:2023年华为云十佳博主,2022年CSDN博客之星TOP2,2022年华为云十佳博主等。🏆《博客内容》:.NET、Java、...
- 🏆 作者简介,愚公搬代码🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,51CTO博客专家等。🏆《近期荣誉》:2023年华为云十佳博主,2022年CSDN博客之星TOP2,2022年华为云十佳博主等。🏆《博客内容》:.NET、Java、... 🏆 作者简介,愚公搬代码🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,51CTO博客专家等。🏆《近期荣誉》:2023年华为云十佳博主,2022年CSDN博客之星TOP2,2022年华为云十佳博主等。🏆《博客内容》:.NET、Java、...
- 1 写在前面有很多地方需要并发地实现访问或提供服务,可以使用到异步的方式编程,其中协程是一个流行的方式。在golang中 启动协程很容易,这里将在python中也实现类似的功能。channel 用于在协程直接通信,并且可以根据channle条件退出协程,一个缓冲channel定义如下chanNoSize = make(chan int) chanWithSize = ma... 1 写在前面有很多地方需要并发地实现访问或提供服务,可以使用到异步的方式编程,其中协程是一个流行的方式。在golang中 启动协程很容易,这里将在python中也实现类似的功能。channel 用于在协程直接通信,并且可以根据channle条件退出协程,一个缓冲channel定义如下chanNoSize = make(chan int) chanWithSize = ma...
- 在Linux操作系统中,flock是一个用于文件锁定的命令。文件锁定是一种机制,用于在多任务和多用户环境中管理对共享资源(如文件)的访问。flock允许你在代码中设置锁,以确保在任何给定时刻只有一个进程可以访问被锁定的文件。 flock的基本语法和选项flock [选项] 文件名 命令常用选项-c, --command:指定在锁定时执行的命令。-n, --nonblock:以非阻塞模式运行,... 在Linux操作系统中,flock是一个用于文件锁定的命令。文件锁定是一种机制,用于在多任务和多用户环境中管理对共享资源(如文件)的访问。flock允许你在代码中设置锁,以确保在任何给定时刻只有一个进程可以访问被锁定的文件。 flock的基本语法和选项flock [选项] 文件名 命令常用选项-c, --command:指定在锁定时执行的命令。-n, --nonblock:以非阻塞模式运行,...
- 简介在前面我们了解了python的异步库,这里通过可重入锁在python的同步线程中实现了 对线程异步的操作, 一个可重入锁必须由获得它的线程来释放。 一旦一个线程获得了一个可重入锁,同一个线程可以再次获得它而不阻塞。而该线程每获得一次锁,就必须释放一次锁。 获取的锁都必须释放一次。 它获取一个信号,将内部计数器递减1。当调用没有参数时:如果内部计数器在进入时大于 0,则将其递减1并立... 简介在前面我们了解了python的异步库,这里通过可重入锁在python的同步线程中实现了 对线程异步的操作, 一个可重入锁必须由获得它的线程来释放。 一旦一个线程获得了一个可重入锁,同一个线程可以再次获得它而不阻塞。而该线程每获得一次锁,就必须释放一次锁。 获取的锁都必须释放一次。 它获取一个信号,将内部计数器递减1。当调用没有参数时:如果内部计数器在进入时大于 0,则将其递减1并立...
- 0. 前言 面试时很可能遇到这样一个问题:使用volatile修饰int型变量i,多个线程同时进行i++操作,这样可以实现线程安全吗?提到线程安全、线程同步,我们经常会想到两个关键字:volatile和synchronized,那么这两者有什么区别呢?1. volatile与synchronized介绍 volatile是变量修饰符,其修饰的变量具有可见性(可见性也就是说一旦某... 0. 前言 面试时很可能遇到这样一个问题:使用volatile修饰int型变量i,多个线程同时进行i++操作,这样可以实现线程安全吗?提到线程安全、线程同步,我们经常会想到两个关键字:volatile和synchronized,那么这两者有什么区别呢?1. volatile与synchronized介绍 volatile是变量修饰符,其修饰的变量具有可见性(可见性也就是说一旦某...
- XxlJob注册及发现原理 XxlJob注册及发现原理
- 1、计算机首先我们需要讲解下计算机的模型:现代计算机模型是基于-冯诺依曼计算机模型我们不用管输入和输出设备,最主要的就是中间计算器和存储器之间的交互,也就是CPU与主内存之间取数、存数。大家会看到有一个IO总线在进行数据的流通,所以CPU与此磁盘的交互也会通过IO总线,但是IO总线上有其他的一些数据在流通,比如显示器、鼠标键盘等,并且现在的CPU计算速度普遍在GHz,但是我们的内存输出的却... 1、计算机首先我们需要讲解下计算机的模型:现代计算机模型是基于-冯诺依曼计算机模型我们不用管输入和输出设备,最主要的就是中间计算器和存储器之间的交互,也就是CPU与主内存之间取数、存数。大家会看到有一个IO总线在进行数据的流通,所以CPU与此磁盘的交互也会通过IO总线,但是IO总线上有其他的一些数据在流通,比如显示器、鼠标键盘等,并且现在的CPU计算速度普遍在GHz,但是我们的内存输出的却...
上滑加载中
推荐直播
-
华为云码道Skill实战与极速交付,智能开发全链路实战2026/07/22 周三 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;姜浩-华为云HCDG核心组成员
直播深度解读华为云码道6月产品新特性,从Skill市场安装专家技能,带你零距离体验从需求,开发,审查,重构全链路闭环的开发过程。从零构建并交付一个完整项目,让您体验从代码提交到服务上线的“极速”之旅。
回顾中 -
聚开发者之力,创具身新未来2026/07/23 周四 15:00-17:00
张豪杰/程文/王军/刘新春/黄钦开 /张晓天
本次华为云具身智能开发平台CloudRobo培训面向具身智能开发者,带您全流程体验机器人本体R2C小时级接入、环境重建与轨迹生成仿真数据生产、PB级数据管理、数据评测、模型训推、强化学习和Benchmark一键评测等功能,并体验业界主流具身模型应用。
回顾中 -
用码道,让你的AI作品三步上朋友圈2026/08/04 周二 19:00-20:00
林华鼎-华为云AI开发者运营负责人
从入门 · 到做AI应用 · 到企业级开发。不教编程,只教用AI · 零代码、有产出、能带走、可炫耀 · 每课人人动手实操
回顾中
热门标签