2 robinandable robinandable 于 2016.09.07 10:02 提问

关于java程序在linux服务器和windows机器运行效率问题 5C

同样的java程序在linux服务器上要比在windows服务器上慢很多,jdk都是1.7版本。
linux服务器是4U,64核,128G,windows服务器是i7,16G。
写了一个小的demo测试了一下:

 public static void main(String[] args) {
        Date date=new Date();
        DateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String time1=format.format(date);
        System.out.println("开始时间:"+time1);
        long begin = System.currentTimeMillis(); 

        for(int i=0;i<100000;i++){
            for(int j=0;j<100000;j++){
                for(int k=0;k<100000;k++){
                    int a = i+j+k;
                }
            }
        }
        long end = System.currentTimeMillis();
        Date date1=new Date();
        String time2=format.format(date1);
        System.out.println("结束时间:"+time2);
        System.out.println("运行时间:"+(end-begin)+"ms");

    }

在windows机器上运行时间是25s,打成jar包在linux服务器上运行的时间是50s。

1个回答

Shirley_John_Thomas
Shirley_John_Thomas   2016.09.07 13:13

windows是 微内核

Linux 是 单内核

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
java程序在windows系统作为服务程序运行
Java程序很多情况下是作为服务程序运行的,在Un*x 平台下可以利用在命令后加“&”把程序作为后台服务运行,但在Windows下看作那个Console窗口在桌面上,你是否一直担心别的同时把你 的Console窗口关闭?是否怀念用VC写的Win32服务程序? 翻开JBOSS、Tomcat的发布包,发现他们都使用了一个Open source——Java Service Wrapper。用Java
将java程序部署到Linux服务器上
1.将maven文件打包成jar文件项目右键-run-maven install,相应路径下生成jar包2.远程连接linux服务器取得Linux服务器地址,使用SecureCRT软件连接至Linux服务器3.将windows上的jar文件传到linux服务器上1)在linux服务器上安装lrzsz,需要以root身份执行输入命令:su -输入密码输入命令:yum install lrzsz等待安...
本地windows机器和远程Linux服务器之间文件传输 -- Xshell 使用sftp 上传下载文件
一、登录远程Linux服务器: [c:\~]$ sftp root@192.168.233.136 1.1、回车进行认证: 1.2、登录成功: 二、上传文件到服务器: 2.1上传操作 拖拽待上传文件到当前窗口即可 另一种方式–使用命令: sftp:/root> lcd E:\安装包\linux下\ Local directory is no
在linux服务器上运行java文件
1、  在windows环境下编写java类,如java类是Test类。 2、  将该Test类上传到linux服务器上,命令如下: mapred@10:/bwdata168_2/hyg$rz  -be 会打开一个上传文件的对话框 3、  mapred@10:/bwdata168_2/hyg$ vim Test.java修改该java代码,将该类中的package包去掉。 4、  生成.c
一个问题阻止WINDOWS正确检查此机器的许可证的解决办法
一个问题阻止WINDOWS正确检查此机器的许可证的解决办法 包含oembios等相关文件,以及MSWGA.EXE。提供2种解决问题的办法。
windows远程登录Linux几种方式.
命令行方式:telnet,ssh 图像用户界面:vcn,putty, 1.ubuntu 下telnet服务安装配置                            另参见具体设置 下面我们来对Ubuntu Linux telnet的安装和设置进行一下讲解。首先我们需要加载telnet的服务,之后对于root等有关方面进行设置。   在Windows系统中,telnet
将本地Java程序发布到Linux服务器上
注:记录自己在发布日志分析程序中遇到的问题 1.将程序导出成jar包,执行java -jar XXX.jar 即可运行     Export》JAR file》Next...》选择Main Class作为程序入口 2.第三方引用问题     eclipse在打包时不会将第三方jar包一并打包,如数据库驱动器。解决办法可用fatjar插件,但fatjar不适应版本较高的eclipse。但我们
windows通过ssh连接linux机器
在我自己的电脑上,连接工具和文件传输工具 1.linux端的开启 2.windows端的操作
一个问题阻止windows正确检查此机器的许可证 错误代码:0x80070002
问题描述:昨天升级到winXP sp3,不过就无法进入系统,错误如下一个问题阻止windows正确检查此机器的许可证 错误代码:0x80070002。找了好多解决问题的方式,这个最简便!希望对大家尝鲜的朋友有用。进入安全模式,在安装光盘里找到oembios.bi_和expand.exe(i386目录下面),拷到硬盘上,如C:下面,运行cmd,(在C:盘下运行dos命令:expand
java代码实现文件上传到linux服务器及问题汇总及解决(亲测可行)
近段时间java代码向服务器上传文件的代码。可是屡试不行。很是郁闷。最终还是完成了。自己也总结了许多上传中的错误及解决分析,都是自己自己总结的,若有什么理解错误,欢迎大家留下宝贵意见,还有很多不懂得大家一起深入了解。在此谢过了 部分异常解决 sun.net.ftp.FtpProtocolException: STOR 111.txt:425 Can't build data connection: Connection timed out. at sun.net.ftp.FtpClient.openDat