- 在本地调试代码时,经常遇到端口被占用导致启动失败的问题,又不能很快找到哪个进程占用了端口,很是恼火。今天,我们用shell命令轻松搞定。 一、打开命令提示符window+R 组合键,调出命令窗口。输入CMD回车,打开命令提示符。 二、查看被占用端口对应的 PID输入命令:netstat -aon|findstr "11800"回车执行该命令,输出: TCP 10.201.242.96... 在本地调试代码时,经常遇到端口被占用导致启动失败的问题,又不能很快找到哪个进程占用了端口,很是恼火。今天,我们用shell命令轻松搞定。 一、打开命令提示符window+R 组合键,调出命令窗口。输入CMD回车,打开命令提示符。 二、查看被占用端口对应的 PID输入命令:netstat -aon|findstr "11800"回车执行该命令,输出: TCP 10.201.242.96...
- 单例模式的5种实现 单例模式的5种实现
- 1.IDEA环境配置爬坑1.1 在project中配置JDK对应的版本,本例中使用JDK1.8,下同。1.2 在Modules中配置JDK对应版本,即使用JDK1.8。1.3 java Compiler配置默认一般是1.5需要改成需要的JDK版本,即使用JDK1.8。2.JUC的定义JUC是java.util.conurrent工具包,通常用于处理并发编程。小知识点:Thread类为线程类,... 1.IDEA环境配置爬坑1.1 在project中配置JDK对应的版本,本例中使用JDK1.8,下同。1.2 在Modules中配置JDK对应版本,即使用JDK1.8。1.3 java Compiler配置默认一般是1.5需要改成需要的JDK版本,即使用JDK1.8。2.JUC的定义JUC是java.util.conurrent工具包,通常用于处理并发编程。小知识点:Thread类为线程类,...
- 鲍光亚 | Zabbix开源社区签约专家《深入理解Zabbix监控系统》图书作者2021 Zabbix深圳大会演讲嘉宾长期专注监控系统软件领域,精通Zabbix,具有多年Zabbix监控系统运维和相关开发经验,持续关注Zabbix的发展,熟悉Zabbix源码。曾就职于某大型互联网企业,专门从事Zabbix系统运维和开发工作。作为一款适用广泛、功能强大的监控软件,Zabbix的核心能力在于快速... 鲍光亚 | Zabbix开源社区签约专家《深入理解Zabbix监控系统》图书作者2021 Zabbix深圳大会演讲嘉宾长期专注监控系统软件领域,精通Zabbix,具有多年Zabbix监控系统运维和相关开发经验,持续关注Zabbix的发展,熟悉Zabbix源码。曾就职于某大型互联网企业,专门从事Zabbix系统运维和开发工作。作为一款适用广泛、功能强大的监控软件,Zabbix的核心能力在于快速...
- 会的,newFixedThreadPool使用了无界的阻塞队列LinkedBlockingQueue,如果线程获取一个任务后,任务的执行时间比较长(比如,上面demo设置了10秒),会导致队列的任务越积越多,导致机器内存使用不停飙升,** 最终导致OOM。 会的,newFixedThreadPool使用了无界的阻塞队列LinkedBlockingQueue,如果线程获取一个任务后,任务的执行时间比较长(比如,上面demo设置了10秒),会导致队列的任务越积越多,导致机器内存使用不停飙升,** 最终导致OOM。
- 1,在任务代码中使用try/catch捕获异常 2,通过future对象的get方法接收抛出的异常 3,为工作者线程设置UNcaughtexceptionHandler,在uncaughtexception方法中处理异常 1,在任务代码中使用try/catch捕获异常 2,通过future对象的get方法接收抛出的异常 3,为工作者线程设置UNcaughtexceptionHandler,在uncaughtexception方法中处理异常
- 会的,newFixedThreadPool使用了无界的阻塞队列LinkedBlockingQueue,如果线程获取一个任务后,任务的执行时间比较长(比如,上面demo设置了10秒),会导致队列的任务越积越多,导致机器内存使用不停飙升,** 最终导致OOM。 会的,newFixedThreadPool使用了无界的阻塞队列LinkedBlockingQueue,如果线程获取一个任务后,任务的执行时间比较长(比如,上面demo设置了10秒),会导致队列的任务越积越多,导致机器内存使用不停飙升,** 最终导致OOM。
- 1,在任务代码中使用try/catch捕获异常 2,通过future对象的get方法接收抛出的异常 3,为工作者线程设置UNcaughtexceptionHandler,在uncaughtexception方法中处理异常 1,在任务代码中使用try/catch捕获异常 2,通过future对象的get方法接收抛出的异常 3,为工作者线程设置UNcaughtexceptionHandler,在uncaughtexception方法中处理异常
- 1,ArrayBlockingQueue :(有界队列)是一个用数组实现的有界阻塞队列,按FIFO排序量。 2,LinkedBlockingQueue: (可设置容量队列)基于链表结构的阻塞队列,按FIFO排序任务,容量可以选择进行设置,不设置的话,将是一个无边界的阻塞队列,最大长度为Integer.MAX_VALUE,吞吐量通常要高于ArrayBlockingQuene;newFi... 1,ArrayBlockingQueue :(有界队列)是一个用数组实现的有界阻塞队列,按FIFO排序量。 2,LinkedBlockingQueue: (可设置容量队列)基于链表结构的阻塞队列,按FIFO排序任务,容量可以选择进行设置,不设置的话,将是一个无边界的阻塞队列,最大长度为Integer.MAX_VALUE,吞吐量通常要高于ArrayBlockingQuene;newFi...
- newFixedThreadPool (固定数目线程的线程池) - 核心线程数和最大线程数大小一样 - 没有所谓的非空闲时间,即keepAliveTime为0 - 阻塞队列为无界队列LinkedBlockingQueue ```java public static ExecutorService newFixedThreadPool(int nThreads, Threa... newFixedThreadPool (固定数目线程的线程池) - 核心线程数和最大线程数大小一样 - 没有所谓的非空闲时间,即keepAliveTime为0 - 阻塞队列为无界队列LinkedBlockingQueue ```java public static ExecutorService newFixedThreadPool(int nThreads, Threa...
- 1,ArrayBlockingQueue :(有界队列)是一个用数组实现的有界阻塞队列,按FIFO排序量。 2,LinkedBlockingQueue: (可设置容量队列)基于链表结构的阻塞队列,按FIFO排序任务,容量可以选择进行设置,不设置的话,将是一个无边界的阻塞队列,最大长度为Integer.MAX_VALUE,吞吐量通常要高于ArrayBlockingQuene;newFi... 1,ArrayBlockingQueue :(有界队列)是一个用数组实现的有界阻塞队列,按FIFO排序量。 2,LinkedBlockingQueue: (可设置容量队列)基于链表结构的阻塞队列,按FIFO排序任务,容量可以选择进行设置,不设置的话,将是一个无边界的阻塞队列,最大长度为Integer.MAX_VALUE,吞吐量通常要高于ArrayBlockingQuene;newFi...
- newFixedThreadPool (固定数目线程的线程池) - 核心线程数和最大线程数大小一样 - 没有所谓的非空闲时间,即keepAliveTime为0 - 阻塞队列为无界队列LinkedBlockingQueue ```java public static ExecutorService newFixedThreadPool(int nThreads, Threa... newFixedThreadPool (固定数目线程的线程池) - 核心线程数和最大线程数大小一样 - 没有所谓的非空闲时间,即keepAliveTime为0 - 阻塞队列为无界队列LinkedBlockingQueue ```java public static ExecutorService newFixedThreadPool(int nThreads, Threa...
- a,提交一个任务,线程池中核心线程数小于定义的corePoolSize,线程池会创建一个核心线程来执行任务 b,如果核心线程数满了,即线程数=corePoolSize,会将任务放入workQueue排队等待执行 c,如果workQueue也满了,判断线程是否达到maximumPoolSize,即最大线程数是否满了,如果没满,就创建一个非核心线程... a,提交一个任务,线程池中核心线程数小于定义的corePoolSize,线程池会创建一个核心线程来执行任务 b,如果核心线程数满了,即线程数=corePoolSize,会将任务放入workQueue排队等待执行 c,如果workQueue也满了,判断线程是否达到maximumPoolSize,即最大线程数是否满了,如果没满,就创建一个非核心线程...
- 1,abortPolicy (抛出一个异常,默认的) 2,discardpolicy (直接丢弃任务) 3,discardoldestpolicy (丢弃队列中最老的任务,将当前这个任务继续提交给线程池) 4,callerrunspolicy 交给线程池调用所在的线程进行处理,它直接在 execute 方法的调用线程中运行被拒绝的任务;如果执行... 1,abortPolicy (抛出一个异常,默认的) 2,discardpolicy (直接丢弃任务) 3,discardoldestpolicy (丢弃队列中最老的任务,将当前这个任务继续提交给线程池) 4,callerrunspolicy 交给线程池调用所在的线程进行处理,它直接在 execute 方法的调用线程中运行被拒绝的任务;如果执行...
- **RUNNING**- 该状态的线程池会接收新任务,并处理阻塞队列中的任务;- 调用线程池的shutdown()方法,可以切换到SHUTDOWN状态;- 调用线程池的shutdownNow()方法,可以切换到STOP状态;**SHUTDOWN**- 该状态的线程池不会接收新任务,但会处理阻塞队列中的任务;- 队列为空,并且线程池中执行的任务也为空,进入TIDYING状态;**STOP**-... **RUNNING**- 该状态的线程池会接收新任务,并处理阻塞队列中的任务;- 调用线程池的shutdown()方法,可以切换到SHUTDOWN状态;- 调用线程池的shutdownNow()方法,可以切换到STOP状态;**SHUTDOWN**- 该状态的线程池不会接收新任务,但会处理阻塞队列中的任务;- 队列为空,并且线程池中执行的任务也为空,进入TIDYING状态;**STOP**-...
上滑加载中
推荐直播
-
华为云码道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 · 零代码、有产出、能带走、可炫耀 · 每课人人动手实操
回顾中
热门标签