- 一、前言经过前几篇博文对堆内存以及垃圾收集机制的学习,相信小伙伴们已经建立了一套比较完整的理论体系!本篇博文就根据已有的理论知识,通过可视化工具来实战一番。 二、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,但是我们的内存输出的却...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签