我的昵称已经说明了一切,我不接受反驳
我每天的主要语言是c和java。就语法而言,写c更有趣。主要原因是c#有更多的语法糖,而且linq非常容易使用。其次,visualstudio被称为世界上第一个ide。但个人更喜欢java。
从java8出来后,我觉得java正在追赶c#,java和c#的语法越来越相似(原来很相似,哈哈)。这里有一些比较。
在java8中添加lambda表达式后,我感觉越来越像c。
1.当然,首先要看收入。在中国,基本上没有使用c的大公司。最初,携程在使用它,但后来,它也转向了java。
2.从技术的角度来看,有很多优秀的框架可以使用,因为java可以制造很多轮子。在实际项目中你遇到问题,别人一定遇到过,能找到问题的关键。
3.从生态学的角度来看,java无疑是最好的选择之一,因为它的开源较早,建立生态学的时间也较早。
4.在性能方面,sun/oracle热点jvm内置的jit编译器在运行时对字节码进行了优化。如果它不是一个性能敏感的应用程序,java就足够了。
谢谢。
我是一名java软件工程师,拥有10年的项目架构经验,欢迎跟随我学习更多关于java尖端技术的知识
!您可以参考此处的文章:http://jingyan.baidu.com/edit/content?type=version&eid=642c9d34382de4644a46f7bd
lambda表达式不能更改外部变量的值,即需要用final(java)修改外部变量lambda表达式是匿名内部类的简化表达式。java方法参数传递是值传递(不是地址传递)。不能更改外部变量的值。这句话不能改变基本数据类型的值。对于其他类型的变量,可以更改存储在变量中的值。lambda表达式无法更改变量的指针值。这样做的原因是为了延长外部变量的生命周期并保持数据同步。如果可以修改,lambda表达式中变量的值可能不是最新的,从而导致未知错误。