java执行方式 client/server

来源:互联网 发布:java编程技术培训 编辑:程序博客网 时间:2024/04/29 18:52

java -client xxx

java -server xxx

上面两种为java程序的执行方式,使用java -version可以看到默认使用的是client执行

使用server模式,编译器会对程序进行优化,具体说明如下:

可以对指令进行优化,也可对其他,如

比如垃圾回收机制,客户端模式下,要求的是用户体验流程,无明显滞留感(就是没有卡的现象)
而服务端,要求的是吞吐量,就是单位时间内执行的代码要求越多越好,

执行1万次代码,一种垃圾回收策略是每隔1000行停顿一次用来做垃圾回收,回收时间10毫秒,那么总共耗停顿时间是100毫秒(10*10)
而另一种是,每隔2000行停顿一次用作垃圾回收,回收时间15毫秒,总共停顿时间耗时是75毫秒(15*5)
这个例子中,后一种方案的吞吐量高,而前一种法案的停顿时间短。

当然,server 和 client 还有其他地方的区别,比如,代码优化策略,等等


但是优化后,可能会遇到指令重排的情况,可能会导致程序执行和预想的不一样。

0 0
原创粉丝点击