`
rainbow686
  • 浏览: 163879 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java比.net(C#)慢这么多么?

    博客分类:
  • Java
阅读更多

今天听到同事说.net的执行效率比java快很多,我当时就说没有,其实他们都是差不多的,都是基于虚拟机技术,只是在windwos平台上微软会对自 己的技术做一定的优化。后来自己也做了一个测试,结果太出乎我的意料了,仅仅是一个for循环的测试,结果确实是.net(3.5)的效率比 java(5.0)要高出很多,测试程序如下:
C#程序

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            long j = 1;
            System.Console.WriteLine(System.DateTime.Now.ToString());
            for (long i = 1; i < 10000000000; i++)
            {
                j = j + 1;
            }
            System.Console.WriteLine(System.DateTime.Now.ToString());
           
        }
    }
}

使用vs2008编写,.net 3.5,使用release方式生成exe文件。在命令行下执行,执行时间是21秒。

java程序,eclipse编写,java 5.0

import java.text.SimpleDateFormat;
import java.util.Date;

public class Test {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Date date = new Date();
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        System.out.println(formatter.format(date));
        long j = 1L;
        for(long i = 1;i < 10000000000L;i++){
            j = j + 1;
        }
        Date date2 = new Date();
        System.out.println(formatter.format(date2));

    }

}

eclipse编写并且编译,基于java 5.0,同样在命令行下运行执行时间是1分11秒。

这样看来至少是在整数运算上java的性能就差很多啊!为什么会这样呢?
或者是我的测试程序有问题,请指教.

分享到:
评论
1 楼 rtdb 2008-07-31  
这种傻循环算不得数的,很可能被编译器优化过了。
试试排序吧。

相关推荐

    Java与.NET?到底选择哪个?

    Java和.NET是两个备受瞩目的平台,各自拥有强大的生态系统、丰富的库和工具,以及广泛的应用领域。本文将深入探讨这两个平台的本质特点,帮助您根据自身需求做出明智的选择。 Java,由Sun Microsystems开发并由...

    一周学会C# java程序员转.NET必看

    【一周学会C#——java程序员转.NET必看】 C#是一种由微软开发的面向对象的编程语言,设计用于.NET Framework上。对于从Java转到.NET平台的程序员来说,理解C#的基本概念和语法是非常重要的。以下是一些关键知识点:...

    VB.NET C# 互转 Convert

    而C#(C Sharp)则是微软为.NET平台设计的一种现代化的、类型安全的面向对象的编程语言,它吸收了C++和Java的优点,语法更为严谨,更适合大型项目和高性能开发。 VB.NET和C#之间的转换主要依赖于编译器的语法差异。...

    whisper.net C# demo源码

    C# vs2019 .net framework编程whispernet demo源码,详情参考博客 blog.csdn.net/FL1623863129/article/details/135236329

    java程序调用.net/c#的webservice

    Java程序调用.NET/C#的Web服务是一种跨平台的交互方式,主要依赖于SOAP(Simple Object Access Protocol)协议,使得不同编程语言开发的应用程序能够相互通信。在本场景中,用户已经提供了一个.NET的Web服务,而我们...

    java , .net, php, c#代码统计工具

    java , .net, php, c#代码统计工具 java , .net, php, c#代码统计工具 java , .net, php, c#代码统计工具 java , .net, php, c#代码统计工具

    VB.Net to C# Converter将VB代码转换成C#代码

    《VB.Net to C# Converter:实现编程语言间的无缝迁移》 在编程世界中,不同的编程语言各有其特色和优势,而开发人员有时需要在不同语言间进行切换。VB.Net(Visual Basic .NET)和C#是.NET框架下的两种主要编程...

    C#.net屏保设计

    C#.net屏保设计C#.net屏保设计C#.net屏保设计C#.net屏保设计C#.net屏保设计C#.net屏保设计C#.net屏保设计C#.net屏保设计C#.net屏保设计C#.net屏保设计C#.net屏保设计C#.net屏保设计C#.net屏保设计C#.net屏保设计C#...

    .net c# To Java.zip

    压缩包内的文件包括"C#.net to Java Converter.exe"和"readme.txt"。前者很可能是转换工具的可执行文件,用户只需双击运行就可以启动转换过程。后者通常是提供关于如何使用软件、注意事项和版本信息等细节的文本文件...

    C# .net 使用Java公钥实现RSA加密

    C# .net 使用Java公钥实现RSA加密

    java .net c# delphi \面试题

    Java、.NET、C#和Delphi是四种广泛使用的编程语言,它们在软件开发领域各自拥有独特的特性和应用。在面试中,对于这些语言的掌握程度通常会通过一系列的问题来评估,以确保候选人具备必要的技能和知识。以下是对这四...

    Discuz! .net C# 开源论坛 最终版完全代码

    Discuz! 论坛 C# 完全开源版本。非常强大的C# 经典论坛代码,虽然死在4.0版本以前。但是里面包含各类功能非常完善,包含xml,rss,ftp,config,sql,存储过程等等。c# 学习开必备。

    asp.net c#面试题

    全部都是面试的宝典; c# asp.net .net .net面试题 c#面试题 c# asp.net .net .net面试题 c#面试题

    VB.Net C#代码转换工具 .doc

    SharpDevelop是一个基于C#开发的编辑器,支持多种程序语言,包括C#、Java、VB.Net等。它可以支持多种语言界面,提供丰富的代码模版和外接插件等功能。SharpDevelop是一个轻型的开发工具,支持基于项目或者是文件的...

    Asp.NET C#简单三层架构新闻发布系统源代码

    一个用于学习Asp.NET C#编程的简单三层架构新闻发布系统,此源码是我学习三层架构时做的一个新闻发布系统,供学习三层的朋友们参考。 源码中涉及用到的技术: C#,Sql Server2005存储过程,触发器,Div+Css,jQuery, ...

    .net C# Cron表达式解析.

    在.NET开发环境中,C#是一种常用的编程语言,而Cron表达式则是一种强大的定时任务调度工具,常用于Linux系统中的计划任务。然而,在C#中,我们也可以通过库来解析和使用Cron表达式,这使得.NET开发者也能利用Cron的...

    日后从事java还是.net好(高手的一点启发)

    ### 从事Java还是.NET:深度解析与建议 #### 标题和描述中的核心知识点解析: 在探讨“日后从事Java还是.NET好”的问题时,我们首先需要理解这两个技术栈的基本概念、应用场景以及各自的优缺点。 **Java**:一种...

    Tangible Software Solutions 源代码转换可在 VB.NET、C#、Java、C++和Python之间

    Tangible Software Solutions 是功能齐全的源代码转换软件,可在 VB.NET、C#、Java、C++和Python之间,使用简单,功能丰富,灵活的进行选择和操作,界面友好。 C# to C++ 转换 C# to Java 转换 C# to VB 转换 C++ ...

    C++ Java C#.net VB.net 语法对比

    ### C++、Java、C# .NET 和 VB.NET 语法对比 #### 1. 基本数据类型 为了帮助开发者快速掌握不同编程语言的基本数据类型,以下表格提供了C++、VB.NET、C# .NET 和 Java 的基本数据类型的对应关系。 | 基础类型名 |...

    AES加密解密,iOS,Android,Java,.Net通用

    本工程可以直接使用,而且与IOS,Android,JAVA,.NET 已调通。 主要用于客户端进行通信,数据之间地安全性。对数据进行加密和解密 AES加密有多种算法模式,下面提供两套模式的可用源码: 一、CBC(Cipher Block ...

Global site tag (gtag.js) - Google Analytics