golang语言和JAVA对比(java语言和golang语言有趣对比执行效率)

管理员 2022-10-02 22:51:45 0

java和galong都是很优秀的语言,他们之间的差异,我们来做一些对比实验。

对比一

java代码:

public static void main(String[] args){ long startTime=System.currentTimeMillis(); double c=0d; for (int i=0;i<100000000;i++) { c+=(double)i; } long endTime=System.currentTimeMillis(); long timeLength=endTime-startTime; System.out.println(startTime+"=>"+endTime+" 使用时长:"+timeLength);}

golang代码:

func main() { var startTime int64 =time.Now().UnixNano(); var c float64=0; for i:=1;i<100000000;i++{ c+=float64(i); } var endTime int64=time.Now().UnixNano(); var timeLength=endTime-startTime; fmt.Println(startTime,"=>",endTime,"使用时长:",timeLength)}

执行结果:

java :1554555968216=>1554555968468 使用时长:252golang:1554555958279724026 => 1554555958351731440 使用时长: 72007414java语言和golang语言有趣对比(执行效率,内存,cpu)

从执行效率方面,确实golang有很大优势,java消耗时间是golang的3.5倍左右。

对比二:

java 代码

public class testXiaolv { public static void main(String[] args){ for (int i=0;i<100;i++){ new ThreadWorker().start(); } }}class ThreadWorker extends Thread{ private long i=0; public void run(){ while (true){ //模拟工作 System.out.println(i); i++; try { Thread.sleep(100); }catch (Exception e){ } } }}

golang代码:

var i int64=0;func main() { for i:=0;i<100;i++ { go testWorker(); } time.Sleep(time.Duration(200)*time.Second)}func testWorker() { for { fmt.Println(i); i++; time.Sleep(time.Duration(100) * time.Millisecond) }}java语言和golang语言有趣对比(执行效率,内存,cpu)

执行效果:

7002 liutao 20 0 3974236 34756 18708 S 6.6 0.7 0:01.97 java 6982 liutao 20 0 7812 3168 988 S 4.3 0.1 0:01.08 testxiaolv

可以看出,其实java在内存使用和cpu的使用都比golang高。

今天对比java和golang的差异,其实并不是说java不好(我现在手上项目95%的都是java写的),通过了解其它语言的优点,在日后项目的中,要综合评估。

感谢有伟大的java和golang。

相关资讯

热门资讯

热门话题