How to use Java as NT SERVICE
service = new
Service();
thread=new
Thread(service);
try
{
thread.setDaemon(false
);
if
(!thread.isDaemon())
{
System.out.println("成功设定线程为用户线程!"
);
}
thread.start();
}
里面的Service由自己实现,注意: thread.setDaemon(false
);把线程设置为用户线程,以避免thread.start()结束后线程结束
随后的工作就是利用
JavaService
注册
NT
服务,
JavaService
是一个开源项目,其项目地址为
http://javaservice.objectweb.org
相关文档:
1, 为什么wait与notify之前必须要加synchronized?
答案其实很简单,也是为了防止等待-通知机制出现race condition
为什么会出现race condition ?
答: 对象在被wait之前已经被另一线程notify , 之后的wait 会永久停止,并导致deadlock(死锁)
理想情况:
1, 第一个线程判断该对象是否要wait
2, 第一个线程将对象wait
3 ......
JavaScript是一种通用的、基于原型的、面向对象的脚本语言,而脚本语言就是指可以和Html语言混合使用的语言
1.JavaScript与Java的区别
A. JavaScript是解释型的语言,当程序执行的时候,浏览器一边解释一边执行。而Java是编译型的语言,必须经过编译才能执行
B. 代码 ......
<%
//header.jsp
out.println("Protocol: " + request.getProtocol() + "<br>");
out.println("Scheme: " + request.getScheme() + "<br>");
out.println("Server Name: " + request.getServerName() + "<br>" );
out.println(&quo ......
http://blog.sina.com.cn/s/blog_49605b46010007o2.html
<div name='endDateHourDiv<%=i%>' onclick="changeSelect('<%=i%>')">
<html:select property="endDateHour" onclick="Change(this.value,'<%=i%>')">
<html:option va ......
public class Foo {
static void operate(StringBuffer x,StringBuffer y){
x.append(y);
y=x;
}
public static void main(String args[]){
StringBuffer a = new StringBuffer("A");
StringBuffer b = new StringBuffer("B");
& ......