账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    java如何优化编译呢?
    52
    0

    如下2段C#和java代码,C#默认用debug模式编译,速度和java用javac编译一样,执行20亿次浮点运算都用了10s,但如果C#用release模式编译,只用了3s,java有没有类似的优化呢?
    (javac的选项我看了,好像都没有可以优化编译,网上也找不到相应信息)

    C#代码:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    class Program{

    static void Main(string[] args){
        double i = 0.0; double j = 0.0;
        System.DateTime currentTime = new System.DateTime();
        currentTime = System.DateTime.Now;
        System.Console.Write(currentTime);
        System.Console.Write("\n");
        for (i=0.0; i < 2000000000.0; i++) { j = i + j; }
        currentTime = System.DateTime.Now;
        System.Console.Write(currentTime);
        System.Console.Read();
    }

    }

    java代码:
    import java.util.Date;
    import java.text.SimpleDateFormat;
    public class a {

    public static void main(String[] args) {
        double i=0.0,j=0.0;
        Date date = new Date();
        SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd :hh:mm:ss");
        System.out.println(dateFormat.format(date));
        for(i=0.0;i<2000000000.0;i++){
            j=i+j;
        }
        Date date1 = new Date();
        SimpleDateFormat dateFormat1= new SimpleDateFormat("yyyy-MM-dd :hh:mm:ss");
        System.out.println(dateFormat1.format(date1));
    }

    }### 问题描述

    问题出现的环境背景及自己尝试过哪些方法

    相关代码

    // 请把代码文本粘贴到下方(请勿用图片代替代码)

    你期待的结果是什么?实际看到的错误信息又是什么?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 转圈的旅人 普通会员 1楼

      优化Java编译的步骤可能包括以下几个方面:

      1. 使用编译器优化选项:大多数编译器都提供了许多优化选项,可以帮助你提高程序的性能。例如,你可以启用Javac的O2选项,这将使编译器使用更高效的优化算法。

      2. 使用高效的代码:尽量避免使用全局变量和递归等高阶函数,因为它们会导致编译器进行大量的重复计算。此外,你还可以使用编译器提供的优化工具来检查你的代码,找出可能的性能瓶颈。

      3. 使用预编译的库:预编译的库可以帮助你避免重复的计算,提高程序的性能。例如,如果你在使用Apache Commons Math库,你可以使用javac -javaagent:org.apache.commons.math3.stat.descriptive.DistributionBasedEstimation=true MyClass.java来编译并预编译你的代码。

      4. 使用Java虚拟机(JVM):Java虚拟机(JVM)是一个运行环境,它可以将Java代码解释为机器代码,然后在不同的硬件平台上运行。JVM可以提供一些优化选项,例如代码压缩、垃圾回收和线程安全等,以提高程序的性能。

      5. 使用内存管理:内存管理是程序性能的一个重要因素。你可以使用Java的垃圾回收机制来自动管理内存,这可以大大提高程序的性能。此外,你还可以使用Java的分页机制来减少内存的使用。

      6. 使用JDBC:JDBC是一个用于访问数据库的Java API。使用JDBC可以大大提高数据库操作的性能,但是它可能不是最有效的优化选项,因为它主要关注数据库操作,而不是程序性能。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部