- 浏览: 496872 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (563)
- 工作经验 (12)
- 数据库 (13)
- Servlet (10)
- Struts2 (1)
- Spring (25)
- Eclipse (5)
- Hibernate (5)
- Eclips (8)
- HTTP (7)
- J2EE (21)
- EHcache (1)
- HTML (11)
- 工具插件使用 (20)
- JPA (2)
- 杂谈 (17)
- 数据结构与算法 (3)
- Cloud Foundry (1)
- 安全 (10)
- J2SE (57)
- SQL (9)
- DB2 (6)
- 操作系统 (2)
- 设计模式 (1)
- 版本代码管理工具 (13)
- 面试 (10)
- 代码规范 (3)
- Tomcat (12)
- Ajax (5)
- 异常总结 (11)
- REST (2)
- 云 (2)
- RMI (3)
- SOA (1)
- Oracle (12)
- Javascript (20)
- jquery (7)
- JSP自定义标签 (2)
- 电脑知识 (5)
- 浏览器 (3)
- 正则表达式 (3)
- 建站解决问题 (38)
- 数据库设计 (3)
- git (16)
- log4j (1)
- 每天100行代码 (1)
- socket (0)
- java设计模式 耿祥义著 (0)
- Maven (14)
- ibatis (7)
- bug整理 (2)
- 邮件服务器 (8)
- Linux (32)
- TCP/IP协议 (5)
- java多线程并发 (7)
- IO (1)
- 网页小工具 (2)
- Flash (2)
- 爬虫 (1)
- CSS (6)
- JSON (1)
- 触发器 (1)
- java并发 (12)
- ajaxfileupload (1)
- js验证 (1)
- discuz (2)
- Mysql (14)
- jvm (2)
- MyBatis (10)
- POI (1)
- 金融 (1)
- VMWare (0)
- Redis (4)
- 性能测试 (2)
- PostgreSQL (1)
- 分布式 (2)
- Easy UI (1)
- C (1)
- 加密 (6)
- Node.js (1)
- 事务 (2)
- zookeeper (3)
- Spring MVC (2)
- 动态代理 (3)
- 日志 (2)
- 微信公众号 (2)
- IDEA (1)
- 保存他人遇到的问题 (1)
- webservice (11)
- memcached (3)
- nginx (6)
- 抓包 (1)
- java规范 (1)
- dubbo (3)
- xwiki (1)
- quartz (2)
- 数字证书 (1)
- spi (1)
- 学习编程 (6)
- dom4j (1)
- 计算机系统知识 (2)
- JAVA系统知识 (1)
- rpcf (1)
- 单元测试 (2)
- php (1)
- 内存泄漏cpu100%outofmemery (5)
- zero_copy (2)
- mac (3)
- hive (3)
- 分享资料整理 (0)
- 计算机网络 (1)
- 编写操作系统 (1)
- springboot (1)
最新评论
-
masuweng:
亦论一次OutOfMemoryError的定位与解错 -
变脸小伙:
引用[color=red][/color]百度推广中运用的技术 ...
Spring 3 mvc中返回pdf,json,xml等不同的view -
Vanillva:
不同之处是什么??
Mybatis中的like查询 -
thrillerzw:
转了。做个有理想的程序员
有理想的程序员必须知道的15件事 -
liujunhui1988:
觉得很有概括力
15 个必须知道的 Java 面试问题(2年工作经验)
源:http://blog.sina.com.cn/s/blog_63dac1ed01017tva.html
评:
1.所谓守护线程就是运行在程序后台的线程,程序的主线程Main(比方java程序一开始启动时创建的那个线程)不会是守护线程.
2.Daemon thread在Java里面的定义是,如果虚拟机中只有Daemon thread 在运行,则虚拟机退出。
虚拟机中可能会同时有很多个线程在运行,只有当所有的非守护线程都结束的时候,虚拟机的进程才会结束,不管在运行的线程是不是main()线程。
3.Main主线程结束了(Non-daemon thread),如果此时正在运行的其他threads是daemon threads,JVM会使得这个threads停止,JVM也停下.
如果此时正在运行的其他threads有Non-daemon threads,那么必须等所有的Non daemon线程结束了,JVM才会停下来.
4.总之,必须等所有的Non-daemon线程都运行结束了,只剩下daemon的时候,JVM才会停下来,注意Main主程序是Non-daemon线程.
public class A implements Runnable{
public void run()
{
for(;;){
System.out.println("hello world");
}
}
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
Thread thread = new Thread(new A());
//thread.setDaemon(true); //设置为守护进程
thread.start();
Thread.sleep(3000);
}
}
评:
1.所谓守护线程就是运行在程序后台的线程,程序的主线程Main(比方java程序一开始启动时创建的那个线程)不会是守护线程.
2.Daemon thread在Java里面的定义是,如果虚拟机中只有Daemon thread 在运行,则虚拟机退出。
虚拟机中可能会同时有很多个线程在运行,只有当所有的非守护线程都结束的时候,虚拟机的进程才会结束,不管在运行的线程是不是main()线程。
3.Main主线程结束了(Non-daemon thread),如果此时正在运行的其他threads是daemon threads,JVM会使得这个threads停止,JVM也停下.
如果此时正在运行的其他threads有Non-daemon threads,那么必须等所有的Non daemon线程结束了,JVM才会停下来.
4.总之,必须等所有的Non-daemon线程都运行结束了,只剩下daemon的时候,JVM才会停下来,注意Main主程序是Non-daemon线程.
public class A implements Runnable{
public void run()
{
for(;;){
System.out.println("hello world");
}
}
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
Thread thread = new Thread(new A());
//thread.setDaemon(true); //设置为守护进程
thread.start();
Thread.sleep(3000);
}
}
发表评论
-
BeanCopier系列之一:特性测试
2018-06-12 12:15 405源:http://czj4451.iteye.com/ ... -
Lombok 之 ToString
2018-03-20 19:35 596源:http://himichaelchu.iteye.com ... -
extends和super的区别
2018-01-14 19:05 540源:http://bbs.csdn.net/topics/38 ... -
double转BigDecimal,数变大
2017-09-09 14:02 572源:http://blog.csdn.net/linbrain ... -
循环依赖检测方法 spring源码方法
2016-07-06 18:58 1117场景:checkForAliasCircle(name, al ... -
Oracle模糊查询之(4.采用全文索引解决模糊查询,给出具体步骤)采用全文索引解决模糊查询速度慢的问题[主文]
2016-03-24 16:16 821源:http://blog.csdn.net/haiross/ ... -
理解和正确使用Java中的断言(assert)
2016-03-24 15:55 1030源:http://blog.csdn.net/leic ... -
string stringbuffer stringbuilder区别
2016-03-07 15:39 426string 是不可变类,内部数据结构为final char数 ... -
java并发面试题(二)实战
2015-12-11 13:20 678源:http://ifeve.com/javaconcurre ... -
java并发面试题(一)基础
2015-12-11 13:20 936源:http://ifeve.com/javaconcurre ... -
接口和抽象类有什么区别
2015-11-27 15:58 412源:http://m.blog.csdn.net/bl ... -
Java中Enum类型的序列化
2015-11-25 14:57 1210源:http://mysun.iteye.com/blog/1 ... -
serialVersionUID的作用
2015-11-08 15:27 539源:http://www.cnblogs.com/gu ... -
dom4j写xml时&会被转义成&的解决方法?
2015-09-08 20:52 913源:http://www.iteye.com/problems ... -
java ImageIO处理图像的封装
2015-09-06 10:17 345源:http://blog.csdn.net/hu_sheng ... -
XML 和 java对象相互转换
2015-08-17 16:45 0源:http://hbiao68.iteye.com/blog ... -
java 版本更迭
2015-08-03 10:19 564源:https://en.wikipedia.org/wiki ... -
谈抽象类与接口的区别之一
2015-04-23 11:46 512源:http://wenku.baidu.com/li ... -
Java基本数据类型
2015-04-17 14:57 655源:http://blog.csdn.net/zuolongs ... -
JAVA深复制(深克隆)与浅复制(浅克隆)
2015-04-17 14:23 408源:http://www.cnblogs.com/yxnchi ...
相关推荐
“守护进程”本身是个操作系统的概念,java中没有进程,只有线程概念。一般是通过线程实现守护进程的。
java实现守护进程,有单独的监听进程, 两个或多个进程,两个或多个jvm java -jar heshenboot.jar start|stop
关于javaee中的守护进程个一些情况小结,主要分析了,在开始进程之前设置为守护进程,以及开始之后设置守护进程,以及有的是在开始之前,有的是在开始之后设置为守护进程的各种情况,总结不全,仅作为参考
这个bat脚本资源可以在Windows环境下实现Java程序的守护进程和自动重启。它通过一个循环监控Java程序进程,如果检测到程序异常退出,会自动重启程序。同时具有可配置的重启次数和重启间隔时间。 这个小巧但实用的bat...
用于自动 Minecraft 服务器维护的 Java 守护进程 -- Beta 0.3 发布 -- 详情请访问 特征: 自动初始化和更新 自动崩溃检测和重启 外部备份脚本的预定调用 支持的 Minecraft 版本: 香草 武吉(已过时,目前未维护...
Linux中将Tomcat添加到守护进程,让Tomcat随Linux系统自动启动;以及解决执行tomcat start时,“Invalid user name 'tomcat' specified”的异常处理。
大多数的解决方法是使用其他进程来守护服务器程序,如果服务器程序挂了,通过守护进程来启动服务器程序。 万一守护进程挂了呢?使用双守护来提高稳定性,守护A负责监控服务器程序与守护B,守护B负责监控守护A...
开启守护进程,获取消息: package com.test; import org.msun.process.ProcessMonitor; import org.msun.process.ProcessMonitor.NewMsgListener; /** * 开启守护进程 */ public class StartService { ...
因为控制台程序出现过因为连接第三方服务超时直接挂掉(此时负载少了一个节点)以及服务器出现意外重启问题(该服务器所有节点宕机),所以需要一个进程守护程序。 也找过 现场的脚本、python的程序、pm2守护方式,...
NULL 博文链接:https://qsfwy.iteye.com/blog/1650426
通过java程序实现在windows下对tomcat的监听和守护。可以不用出现讨厌的窗口,在背后实现运行,
Bruce 是 Apache Kafka 的生产者守护进程,它简化了客户端发送消息到 Kafka ,无需关注后端的 Kafka 集群。Bruce 主要处理: Routing messages to the proper brokers, and spreading the load evenly across ...
主要介绍了Java实现Linux下双守护进程的思路、原理以及具体实现方式,非常的详细,希望对大家有所帮助
此小程序专门用来守护Tomcat进程 【运行方法】 直接双击TomcatWatcher.jar 程序通过访问http://localhost和输入的Tomcat端口来访问Tomcat主页,如果获取到返回串证明Tomcat运行中,否则检测JAVA.EXE进程是否存在。...
本Bash脚本用于自动化管理Java JAR应用的启动、停止及监控。首先检查JAR进程是否在运行,如在运行则安全终止。随后,使用预设的Java参数启动JAR文件,并将输出和错误日志重定向至日志文件。启动后,脚本持续监控JAR...
①守护进程(daemon)是一类在后台运行的特殊进程,用于执行特定的系统任务。很多守护进程在系统引导的时候启动,并且一直运行直到系统关闭。另一些只在需要的时候才启动,完成任务后就自动结束。 ②这是我在公司用的...
此小程序专门用来守护Tomcat进程 【运行方法】 直接双击TomcatWatcher.jar 程序通过访问http://localhost和输入的Tomcat端口来访问Tomcat主页,如果获取到返回串证明Tomcat运行中,否则检测JAVA.EXE进程是否存在。...
Java 编程语言的自动完成守护进程 完成守护进程提供类似 ide 的功能。 发展还处于非常早期的阶段。 完成度肯定可以改进,并且在某些极端情况下可能不起作用。 尽管如此,我已经在使用完成进行开发,所以我认为它处于...
用于 Java 守护进程的 Lib,用于发送保持活动消息以使用本机接口刷新 systemd 看门狗时间戳。 或者您可以使用此使用 /usr/bin/systemd-notify 实用程序来完成此操作。 使用 1.1 版构建工件。 < groupId>org....
自动重启已自动重启已经挂掉的tomcat服务器器,省去人工人力,保证服务器的正常运行经挂掉的tomcat服务器器,省去人工人力,保证服务器的正常运行