- Java线程池的7个核心参数包括:corePoolSize:核心线程数,线程池中始终保持的线程数量。maximumPoolSize:最大线程数,线程池中允许的最大线程数量。keepAliveTime:线程空闲时间,超过该时间的空闲线程将被回收。unit:线程空闲时间的单位,例如 TimeUnit.SECONDS。workQueue:工作队列,用于存放等待执行的任务。threadFactory... Java线程池的7个核心参数包括:corePoolSize:核心线程数,线程池中始终保持的线程数量。maximumPoolSize:最大线程数,线程池中允许的最大线程数量。keepAliveTime:线程空闲时间,超过该时间的空闲线程将被回收。unit:线程空闲时间的单位,例如 TimeUnit.SECONDS。workQueue:工作队列,用于存放等待执行的任务。threadFactory...
- Java中的锁机制主要通过synchronized关键字和Lock接口来实现。下面是对这两种锁机制的简要介绍和示例代码:synchronized关键字:原理:synchronized关键字可以用于修饰方法或代码块,实现对象级别的互斥锁。当一个线程访问synchronized修饰的方法或代码块时,其他线程需要等待锁的释放才能执行。代码示例:javaCopy codepublic class S... Java中的锁机制主要通过synchronized关键字和Lock接口来实现。下面是对这两种锁机制的简要介绍和示例代码:synchronized关键字:原理:synchronized关键字可以用于修饰方法或代码块,实现对象级别的互斥锁。当一个线程访问synchronized修饰的方法或代码块时,其他线程需要等待锁的释放才能执行。代码示例:javaCopy codepublic class S...
- Java线程创建的四种方式包括:继承Thread类:javaCopy codepublic class MyThread extends Thread { @Override public void run() { // 线程执行的代码 }}// 创建线程并启动MyThread myThread = new MyThread();myThread.start(... Java线程创建的四种方式包括:继承Thread类:javaCopy codepublic class MyThread extends Thread { @Override public void run() { // 线程执行的代码 }}// 创建线程并启动MyThread myThread = new MyThread();myThread.start(...
- 在Java中,多线程之间可以通过以下几种方式进行通信:共享变量:多个线程可以共享同一个变量,并通过读写该变量来进行通信。需要注意的是,由于多个线程同时访问共享变量可能会导致竞态条件(Race Condition)等线程安全问题,因此需要对共享变量进行适当的同步操作,例如使用synchronized关键字或Lock对象进行加锁。 示例代码:javaCopy codepublic class S... 在Java中,多线程之间可以通过以下几种方式进行通信:共享变量:多个线程可以共享同一个变量,并通过读写该变量来进行通信。需要注意的是,由于多个线程同时访问共享变量可能会导致竞态条件(Race Condition)等线程安全问题,因此需要对共享变量进行适当的同步操作,例如使用synchronized关键字或Lock对象进行加锁。 示例代码:javaCopy codepublic class S...
- JVM性能监控的命令可以使用Java自带的工具jstat和jcmd,以及第三方工具如VisualVM等。下面是使用jstat和jcmd的示例代码:使用jstat命令监控JVM内存信息:shellCopy codejstat -gcutil <pid> <interval> <count>其中,<pid>是JVM进程的进程ID,<interval>是监控间隔时间(单位:毫秒... JVM性能监控的命令可以使用Java自带的工具jstat和jcmd,以及第三方工具如VisualVM等。下面是使用jstat和jcmd的示例代码:使用jstat命令监控JVM内存信息:shellCopy codejstat -gcutil <pid> <interval> <count>其中,<pid>是JVM进程的进程ID,<interval>是监控间隔时间(单位:毫秒...
- 一、前言今天讲解一个 Hello Word 级别的 Java Socket 通信的例子。具体通讯过程如下:先启动Server端,进入一个死循环以便一直监听某端口是否有连接请求。然后运行Client端,客户端发出连接请求,服务端监听到这次请求后向客户端发回接收消息,连接建立,启动一个线程去处理这次请求,然后继续死循环监听其他请求。客户端输入字符串后按回车键,向服务器发送数据。服务器读取数据后... 一、前言今天讲解一个 Hello Word 级别的 Java Socket 通信的例子。具体通讯过程如下:先启动Server端,进入一个死循环以便一直监听某端口是否有连接请求。然后运行Client端,客户端发出连接请求,服务端监听到这次请求后向客户端发回接收消息,连接建立,启动一个线程去处理这次请求,然后继续死循环监听其他请求。客户端输入字符串后按回车键,向服务器发送数据。服务器读取数据后...
- 往往开始做一个项目时,不会过多的考虑性能问题,以快速迭代功能为主。后续随着业务的快速发展,系统运行的性能越来越慢,此时,就需要对系统进行相应的优化,而效果最显著的就是给系统加上缓存。那么,问题来了,当你为系统加上缓存时,有没有考虑过使用缓存需要注意哪些事项呢? 往往开始做一个项目时,不会过多的考虑性能问题,以快速迭代功能为主。后续随着业务的快速发展,系统运行的性能越来越慢,此时,就需要对系统进行相应的优化,而效果最显著的就是给系统加上缓存。那么,问题来了,当你为系统加上缓存时,有没有考虑过使用缓存需要注意哪些事项呢?
- 最近,很多小伙伴都在说,我没做过性能优化的工作,在公司只是做些CRUD的工作,接触不到性能优化相关的工作。现在出去找工作面试的时候,面试官总是问些很刁钻的问题来为难我,很多我都不会啊!那怎么办呢?那我就专门写一些与高并发系统相关的面试容易问到的问题吧。今天,我们就来说说在高并发场景下做性能优化有哪些衡量标准,以及做优化时需要注意哪些问题。 最近,很多小伙伴都在说,我没做过性能优化的工作,在公司只是做些CRUD的工作,接触不到性能优化相关的工作。现在出去找工作面试的时候,面试官总是问些很刁钻的问题来为难我,很多我都不会啊!那怎么办呢?那我就专门写一些与高并发系统相关的面试容易问到的问题吧。今天,我们就来说说在高并发场景下做性能优化有哪些衡量标准,以及做优化时需要注意哪些问题。
- 最近有百度的小伙伴问我:冰河,并发编程要学哪些内容呀?我看你CSDN博客的的【精通高并发系列】更新了很多高并发编程的技术文章,你是怎么学习的呢?后面你还会更新吗?啥时候更新完呀?我:后面会一直持续更新的,并发编程的知识很多,也很复杂,不是几十篇文章就能够讲清楚的,所以,我后面会 最近有百度的小伙伴问我:冰河,并发编程要学哪些内容呀?我看你CSDN博客的的【精通高并发系列】更新了很多高并发编程的技术文章,你是怎么学习的呢?后面你还会更新吗?啥时候更新完呀?我:后面会一直持续更新的,并发编程的知识很多,也很复杂,不是几十篇文章就能够讲清楚的,所以,我后面会
- 最近,一名小伙伴跟我说:他写的程序在测试环境一点问题没有,但是发到生产环境却会频繁出现内存溢出的情况,这个问题都困扰他一周多了。于是乎,周末我便开始帮他排查各种问题。 最近,一名小伙伴跟我说:他写的程序在测试环境一点问题没有,但是发到生产环境却会频繁出现内存溢出的情况,这个问题都困扰他一周多了。于是乎,周末我便开始帮他排查各种问题。
- 高考成绩都出来了,咱的《Seckill秒杀系统》专栏如何了?今天给大家交个“期中作业”吧。 高考成绩都出来了,咱的《Seckill秒杀系统》专栏如何了?今天给大家交个“期中作业”吧。
- 一、java基础 1.1 java 集合类问题 二、hashMap相关问题 2.1 HashMap的实现原理?回答主要是三个方面:hashmap基本原理;hashmap的put存源码解读;hashmap的get取源码解读;hashmap是基于hash算法的key-value键值对,通过key可以快速的找到value值,解决了数组的增加和删除以及链表的查询效率低的问题。public V pu... 一、java基础 1.1 java 集合类问题 二、hashMap相关问题 2.1 HashMap的实现原理?回答主要是三个方面:hashmap基本原理;hashmap的put存源码解读;hashmap的get取源码解读;hashmap是基于hash算法的key-value键值对,通过key可以快速的找到value值,解决了数组的增加和删除以及链表的查询效率低的问题。public V pu...
- 目录基本的入队出队加锁分析put 操作take 操作性能比较LinkedBlockingQueue 是 Java 中用于实现线程安全队列的类。它是一个基于链接节点的阻塞队列,并且在队列为空时,获取元素的线程会阻塞;当队列满时,存储元素的线程会阻塞。LinkedBlockingQueue 的使用方法如下:1. 创建一个 LinkedBlockingQueue 对象。2. 使用 put() ... 目录基本的入队出队加锁分析put 操作take 操作性能比较LinkedBlockingQueue 是 Java 中用于实现线程安全队列的类。它是一个基于链接节点的阻塞队列,并且在队列为空时,获取元素的线程会阻塞;当队列满时,存储元素的线程会阻塞。LinkedBlockingQueue 的使用方法如下:1. 创建一个 LinkedBlockingQueue 对象。2. 使用 put() ...
- 使用概述Semaphore(信号量)是Java中一个并发控制工具,用于控制对共享资源的访问。它基于计数器的原理,可以限制同时访问某个资源的线程数量。在Java中使用Semaphore,你需要按照以下步骤进行操作:导包: import java.util.concurrent.Semaphore; 创建Semaphore对象:Semaphore semaphore = new Semaph... 使用概述Semaphore(信号量)是Java中一个并发控制工具,用于控制对共享资源的访问。它基于计数器的原理,可以限制同时访问某个资源的线程数量。在Java中使用Semaphore,你需要按照以下步骤进行操作:导包: import java.util.concurrent.Semaphore; 创建Semaphore对象:Semaphore semaphore = new Semaph...
- volatile 的底层实现原理是内存屏障,Memory Barrier(Memory Fence)对 volatile 变量的写指令后会加入写屏障对 volatile 变量的读指令前会加入读屏障如何保证可见性写屏障(sfence)保证在该屏障之前的,对共享变量的改动,都同步到主存当中public void actor2(I_Result r) { num = 2; read... volatile 的底层实现原理是内存屏障,Memory Barrier(Memory Fence)对 volatile 变量的写指令后会加入写屏障对 volatile 变量的读指令前会加入读屏障如何保证可见性写屏障(sfence)保证在该屏障之前的,对共享变量的改动,都同步到主存当中public void actor2(I_Result r) { num = 2; read...
上滑加载中
推荐直播
-
Skill 构建 × 智能创作:基于华为云码道的 AI 内容生产提效方案2026/03/25 周三 19:00-20:00
余伟,华为云软件研发工程师/万邵业(万少),华为云HCDE开发者专家
本次直播带来两大实战:华为云码道 Skill-Creator 手把手搭建专属知识库 Skill;如何用码道提效 OpenClaw 小说文本,打造从大纲到成稿的 AI 原创小说全链路。技术干货 + OPC创作思路,一次讲透!
回顾中 -
码道新技能,AI 新生产力——从自动视频生成到开源项目解析2026/04/08 周三 19:00-21:00
童得力-华为云开发者生态运营总监/何文强-无人机企业AI提效负责人
本次华为云码道 Skill 实战活动,聚焦两大 AI 开发场景:通过实战教学,带你打造 AI 编程自动生成视频 Skill,并实现对 GitHub 热门开源项目的智能知识抽取,手把手掌握 Skill 开发全流程,用 AI 提升研发效率与内容生产力。
回顾中 -
华为云码道:零代码股票智能决策平台全功能实战2026/04/18 周六 10:00-12:00
秦拳德-中软国际教育卓越研究院研究员、华为云金牌讲师、云原生技术专家
利用Tushare接口获取实时行情数据,采用Transformer算法进行时序预测与涨跌分析,并集成DeepSeek API提供智能解读。同时,项目深度结合华为云CodeArts(码道)的代码智能体能力,实现代码一键推送至云端代码仓库,建立起高效、可协作的团队开发新范式。开发者可快速上手,从零打造功能完整的个股筛选、智能分析与风险管控产品。
回顾中
热门标签