`
pda158
  • 浏览: 189902 次
社区版块
存档分类
最新评论

Java大量线程注意点

阅读更多
-Xms64M -Xmx512M -Xss200K
  -Xms64M:设置JVM初始内存为64M。
  -Xmx512M:设置JVM最大可用内存512M。
  -Xss200K:设置单个线程的大小为200K。
  在程序中-Xss设置太小,可能程序会报错。默认设置是512K。但如果需要大量的线程,就可以将-Xss调小来获得更多的线程。
package com.competition.score.test;
import java.util.concurrent.CountDownLatch;
public class TestThread {
public static void main(String[] args) {
for (int i = 0;; i++) {
System.out.println("i = " + i);
new Thread(new HoldThread()).start();
}
}
}
class HoldThread extends Thread {
CountDownLatch cdl = new CountDownLatch(1);
public HoldThread() {
this.setDaemon(true);
}
public void run() {
try {
cdl.await();
} catch (InterruptedException e) {
}
}
}
 可用如上程序测试可用的最大线程数。注意:如上程序运行完毕需要重启虚拟机来清除线程占用。
2
2
分享到:
评论

相关推荐

    java多线程设计模式详解(PDF及源码)

    (注意,本资源附带书中源代码可供参考) 多线程与并发处理是程序设计好坏优劣的重要课题,本书通过浅显易懂的文字与实例来介绍Java线程相关的设计模式概念,并且通过实际的Java程序范例和 UML图示来一一解说,书中...

    Java面试手册.pdf

    Java面试手册是一本旨在帮助Java程序员准备和通过技术面试的书籍或在线资源...然而,需要注意的是,Java面试手册只是一个工具,读者还需要通过大量的实践和项目经验来熟练掌握所学知识,并为将来的职业发展做好准备。..

    Java虚拟机并发编程

    第二部分:现代java/jdk并发,讨论了现代java api的线程安全和效率,以及如何处理已有应用程序中的现实问题和重构遗留代码时的原则;第三部分:软件事务内存,深入讨论了stm并就如何在各种主要的jvm语言里使用stm给...

    Java编程思想(完整版)

    2.6 构建Java程序:正式构建自己的第一个Java程序前,还有几个问题需要注意。 2.6.1 名字的可见性 2.6.2 使用其他组件 2.6.3 static关键字 2.7 我们的第一个Java程序 2.8 注释和嵌入文档 2.8.1 注释文档 2.8.2 具体...

    Java实现excel大数据量导入

    主要为大家详细介绍了Java实现excel大数据量导入,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    整理后java开发全套达内学习笔记(含练习)

    Thread [java] 线程 [θred] throw (关键字) throws (关键字) [θrәu] 抛出(异常) transient (关键字) 瞬变;临时的['trænziәnt]'(可序列化) valid 正确的,有效的 ['vælid] variable n.变量 a.可变的['vєә...

    Java毕业设计-[搜索链接]Java网络爬虫(蜘蛛)源码_zhizhu.rar

    采用多线程技术,支持分布式爬取,可轻松应对大规模数据采集需求。 **功能特点**: 1. **URL管理**:自动识别并管理待爬取的URL队列,确保爬虫不会重复访问同一页面。 2. **网页抓取**:通过HTTP/HTTPS协议获取...

    反编译指定文件夹下的所有jar包和calss文件,并放到原目录结构中(本项目是java开发的项目使用了springboot框架)

    1.此工具会查找目标文件夹下所有jar包,并解压到源文件目录 2.没有解压到其他目录是...9.此程序为提高效率使用到多线程,对cpu消耗比较大,请注意机器散热 10.因为程序要做大量的读写删除等io操作,所有运行时间比较长

    ArrayList.java

    如果多个线程同时访问一个ArrayList实例,至少线程修改的一个列表结构,它必须保持外部同步。 (结构上的修改是指添加或删除一个或多个元件,或明确地调整大小背衬阵列的操作;仅设置元素的值不是结构修改。)这是一...

    更好的使用Java线程池

    分别从线程池大小参数的设置、工作线程的创建、空闲线程的回收、阻塞队列的使用、任务拒绝策略、线程池Hook等方面来了解线程池的使用,其中涉及到一些细节包括不同参数、不同队列、不同拒绝策略的选择、产生的影响和...

    java-servlet-api.doc

    它可以调用Java所提供的大量的API的功能模块。 这份文档说明了JavaServletAPI的类和接口的方法。有关更多的信息,请参看下面的API说明。 Servlet的生命周期 一个Javaservlet具有一个生命周期,这个生命周期定义了一...

    Android异步并发类库Android-lite-go.zip

    LiteGo 背景关于异步、并发的现状和问题线程的创建代价比较大,尤其在短时间需要大量并发的场景下问题突出,所以Java有了线程池来管理和复用线程。一般来讲,一个App一个线程池足矣!也不需要自己完全重新实现,充分...

    java:测试使用LeJOS NXJ的可行性

    用LeJOS NXJ编写的用于lego系列的软件这是尝试替换当前的matlab代码,该代码存在以下错误: 错误处理差缺乏结构化数据,导致大量的字符串解析需要多个打开的matlab实例无法在砖块上本地运行用用Java编写的代码。...

    TicTacToe:无与伦比的Tic Tac Toe命令行游戏,具有任何用Java制作的板子尺寸。 还具有两人模式

    注意:如果您选择3x3以上的电路板尺寸,则AI将花费大量时间! 该程序使用带有alpha beta修剪和多线程功能的minimax算法搜索游戏到最后,从而使游戏无与伦比。批处理和Shell脚本这两个脚本提供了分别在Windows和...

    java简易版开心农场源码-zookeeper_client_design_manual:zookeeperclientsdk开发必备指南,C

    针对碰到的大量陷阱,提出注意点,并对编写生产可用的sdk提供参考建议。 本设计(语言基于C++)是基于官方C版Client库而写,对于golang、java及其它语言均有借鉴意见。 由于竞业协议,代码不便公开,请谅解。 实现了...

    Tomcat内存溢出的三种情况及解决办法分析

    有一点需要注意:java -Xmx***M version 命令来测试的最大堆内存是 -Xmx与 -XX:PermSize的 和 比如系统支持最大的jvm堆大小事1.5G,那 -Xmx1024m -XX:PermSize=768M 是无法运行的。 第三种:无法创建新的线程。 ...

    JDKAPI18CN(中文版)

    如果多个线程同时访问884457282749实例,并且至少有一个线程在结构上修改列表,则必须在外部进行同步。 (结构修改是添加或删除一个或多个元素的任何操作,或明确调整后台数组的大小;仅设置元素的值不是结构修改。...

    二十三种设计模式【PDF版】

    因为很多人没有注意到这点,学完 Java 基础语言就直接去学 J2EE,有的甚至鸭子赶架,直接使用起 Weblogic 等具体 J2EE 软 件,一段时间下来,发现不过如此,挺简单好用,但是你真正理解 J2EE 了吗?你在具体案例中的...

    blake3:具有AVX2和SSE4.1加速功能的BLAKE3的Pure Go实现

    因此,请注意以下几点: 下面的Rust基准都是单线程的,以匹配该Go实现。 我没有尝试进行精确的测量(CPU节流,嘈杂的环境等),因此请在您自己的系统上进行基准测试。 这些基准测试在不支持AVX-512的i7-6700K上...

Global site tag (gtag.js) - Google Analytics