java线程

yz_1998 2017-03-22 09:12:08
在博客中看到一句话
“在java中,每次程序运行至少启动2个线程。一个是main线程,一个是垃圾收集线程。因为每当使用java命令执行一个类的时候,实际上都会启动一个JVM,每一个JVM实习在就是在操作系统中启动了一个进程。”
每当执行一个类,就会启动一个进程?
类之间的调用在进程上是怎么体现的呢?
...全文
122 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zs808 2017-03-23
  • 打赏
  • 举报
回复
其实就JDK 1.7中的HotSpot虚拟机来说的话,执行一个HelloWorld需要至少3个线程: 1.main线程,用来执行main方法的主线程 2.Finalizer线程,用来执行FinalizerReferance的清理操作 3.ReferenceHandler线程,用来维护ReferanceQueue的线程 其中main线程会在整个应用程序域中执行,休眠与唤醒是由用户决定 Finalizer与ReferenceHandler在启动时会处于休眠状态,由GC唤醒。 并不是执行一个类,就启动一个线程。Java中线程是由代码创建,由JVM申请,操作系统+JVM调度的。如果Java代码里不申请线程,一般情况下是不会创建新的用户线程的。 至于你说的“类之间的调用在进程级别是怎么体现的”,很模糊,lz能否补充说明一下?
安正勋 2017-03-23
  • 打赏
  • 举报
回复
如果类中有主函数,即main方法的时候,就会至少启动一个主线程。至于如何将类之间调用提现在线程中,个人感觉可以通过日志,在控制台查看。
一剑侵心 2017-03-23
  • 打赏
  • 举报
回复
他说的是“Java命令启动一个类”,用Java命令启动的话,其实就是启动了那个类里的main方法。并不是你理解的启动一个类就是启动一个进程。
内容概要:本文提出一种基于鱼鹰优化算法(OOA)优化的CNN-BiGUR-Attention混合模型,用于提升短期风电功率预测的精度与稳定性,采用Matlab实现代码仿真。该模型融合卷积神经网络(CNN)提取输入数据的局部空间特征,利用双向门控循环单元(BiGUR)捕捉风速、功率等时间序列的前后向动态依赖关系,并引入注意力机制自适应强化关键时间步的特征权重,从而增强模型对非平稳风电数据的表征能力;进一步,采用OOA算法对模型超参数进行全局寻优,有效提升模型收敛速度与泛化性能。研究基于实际风电场历史数据开展实验验证,结果表明,该方法相较传统模型在预测精度、鲁棒性和误差抑制方面表现更优,适用于高比例可再生能源接入背景下的电力系统调度需求。; 适合人群:从事新能源发电预测、电力系统优化调度、智能算法与深度学习融合应用等方向的科研人员及工程技术人员,尤其适合具备Matlab编程能力、熟悉时间序列建模与深度学习框架的研究者。; 使用场景及目标:①实现风电场短期功率高精度预测,支撑电网安全稳定调度与能量管理;②为深度学习模型结构设计与智能优化算法联合调参提供实践范例;③推动人工智能技术在可再生能源预测、智能电网运行等领域的落地应用。; 阅读建议:建议结合提供的Matlab代码深入理解CNN-BiGUR-Attention网络架构搭建、注意力机制实现方式及OOA优化流程,重点关注数据预处理、模型训练与参数调优细节,可通过替换不同风电数据集进行对比实验,进一步掌握模型迁移能力与适应性。

51,409

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧