• 博客(0)
  • 资源 (3)

空空如也

JAVA代码规范

包名: 包名全部用小写字母。 类名和接口名: 类名和接口名称以大写字母开头,往往是名词(逻辑上,非语法上),表明了类或接口的职责。类名称和接口名称还采用驼峰式命名原则,名称中的每个单词的第一个字母大写,其余的小写。 定制类的时候最好按照类职责的不同来分类,这样无论是命名还是修改都比较容易。 方法的命名: 方法的命名应该是以一个全部都是小写字母的动词开始,然后后面出现的单词遵照驼峰命名方式。 变量的命名: 变量的命名应该是以小写字母开头的,而且应该尽量简短,一个变量名的单词与单词之间用驼峰命名方法连接。 常量的命名: 常量的命名应该全部都是大写字幕,单词与单词之间应该以下划线分割。

2018-06-05

关于编程知识--进程的科普

我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间。那么你有没有正确的理解这个函数的用法呢?思考下面这两个问题: 1、假设现在是 2008-4-7 12:00:00.000,如果我调用一下 Thread.Sleep(1000) ,在 2008-4-7 12:00:01.000 的时候,这个线程会 不会被唤醒? 2、某人的代码中用了一句看似莫明其妙的话:Thread.Sleep(0) 。既然是 Sleep 0 毫秒,那么他跟去掉这句代码相比,有啥区别么? 我们先回顾一下操作系统原理。操作系统中,CPU竞争有很多种策略。Unix系统使用的是时间片算法,而Windows则属于抢占式的。 在时间片算法中,所有的进程排成一个队列。操作系统按照他们的顺序,给每个进程分配一段时间,即该进程 允许运行的时间。如果在 时间片结束时进程还在运行,则CPU将被剥夺并分配给另一个进程。如果进程在时间片结束前阻塞或结束,则CPU当即进行切换。调度程 序所要做的就是维护一张就绪进程列表,,当进程用完它的时间片后,它被移到队列的末尾。 所谓抢占式操作系统,就是说如果一个进程得到了 CPU 时间,除非它自己放弃使用 CPU ,否则将完全霸占 CPU 。因此可以看出,在抢 占式操作系统中,操作系统假设所有的进程都是“人品很好”的,会主动退出 CPU 。 在抢占式操作系统中,假设有若干进程,操作系统会根据他们的优先级、饥饿时间(已经多长时间没有使用过 CPU 了),给他们算出一 个总的优先级来。操作系统就会把 CPU 交给总优先级最高的这个进程。当进程执行完毕或者自己主动挂起后,操作系统就会重新计算一 次所有进程的总优先级,然后再挑一个优先级最高的把 CPU 控制权交给他。 我们用分蛋糕的场景来描述这两种算法。假设有源源不断的蛋糕(源源不断的时间),一副刀叉(一个CPU),10个等待吃蛋糕的人(10 个进程)。 如果是 Unix 操作系统来负责分蛋糕,那么他会这样定规矩:每个人上来吃 1 分钟,时间到了换下一个。最后一个人吃完了就再从头开始。于是,不管这10个人是不是优先级不同、饥饿程度不同、饭量不同,每个人上来的时候都可以吃 1 分钟。当然,如果有人本来不太饿,或者饭量小,吃了30秒钟之后就吃饱了,那么他可以跟操作系统说:我已经吃饱了(挂起)。于是操作系统就会让下一个人接 着来。

2018-06-05

将JBOSS注册为windows系统服务的工具

进入C:\JavaService目录,执行如下命令: (1).针对单独的Test.class文件(该文件在D:\JavaTest下) JavaService.exe -install MyService "%JAVA_HOME%\jre\bin\server\jvm.dll" -Djava.class.path="%JAVA_HOME%\\lib\\tools.jar;D:\\JavaTest" -start Test (2).将Test.class文件打成jar包放在-Djava.class.path后,其中-start Test中的Test是该.class文件在jar中的路经,如:com.cyber.service.Test,在src中的路经是:\com\cyber\service\Test.java。 JavaService.exe -install MyService "%JAVA_HOME%\jre\bin\server\jvm.dll" -Djava.class.path="%JAVA_HOME%\\lib\\tools.jar;C:\\Tomcat 5.5\\webapps\\wpgl\\WEB-INF\\lib\\驱动.jar ;D:\\JavaTest\\Test.jar" -start Test 如果需要其他的外部jar包(数据库的驱动jar包等等),只要在-Djava.class.path 中添加即可,并以分号区分开.(也可以把其他的外部jar包,整合到Test.jar里去,只需要一个Test.jar包就可以了.但是需要第三方插件fatjar来完成外部jar包的整合) (3).可以添加日志文件(也可以在Test文件中写好日志的路径及其文件名) JavaService.exe -install MyService "%JAVA_HOME%\jre\bin\server\jvm.dll" -Djava.class.path="%JAVA_HOME%\\lib\\tools.jar;C:\\Tomcat 5.5\\webapps\\wpgl\\WEB-INF\\lib\\驱动.jar;D:\\JavaTest\\Test.jar" -start Test -out D:\JavaTest\log\stdout.log -err D:\JavaTest\log\stderr.log -current D:\JavaTest\log\ -description "测试" 其中-install 开关后面的参数是要添加的服务名;-start开关后面的参数是要启动的java类名;这里-Djava.class.path后面参数中的d:\javaTest是我的Test.class所在路径,实际应用中应该添加你的CLASSPATH。 运行后控制台显示“The MyService automatic service was successfully installed”表示安装成功。 需要注意的问题: (1) %JAVA_HOME%为JDK目录,如果你没有设置,这里用jdk的绝对地址替代; (2) -Djava.class.path是必须的,因为服务启动的时候无法访问系统的CLASSPATH变量,必须在这里显示指明; (3) 服务添加成功以后,为自动启动类型,如需更改,需要自行在服务管理器(services.msc)中修改。 5 测试: 运行net start MyService启动服务; 检查d:\javaTest\test.log文件,数据一直在更新; 确认无误后,运行net stop MyService关闭服务; Javaservice不支持C:\Program Files中间的空格,所以找不到JVM;使用%JAVA_HOME%时,又必须在其上加双引号才行,即:"%JAVA_HOME%" 。 删除服务:sc delete [service name]

2017-10-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除