我们在学习 JAVA 入门学习的时候,难免会对这个问题还有困惑,所以今天尚学堂的老师们就简单讲解一些JAVA和. NET 一些知识点,重新认识两者之间不同,Java与.net都有各自的好处,Java与.net都是面向对象的语言,不过JAVA和.net还是有些许不同之处,让我们来了解学习一下吧!
Java 是如何处理异常的
如果一个 Java 方法要抛出异常,那么需要在这个方法后面用 throws 关键字定义可以抛出的异常类型。倘若没有定义,就认为该方法不抛出任何异常。如果从方法的入口和出口的角度去考虑一下这个规范,我们知道参数可以认为是方法的入口(当然某些情况下也可以是出口),而返回值则是方法的出口,这是在程序正常执行的情况下,数据从入口入,出口出。要是程序非正常执行,产生异常又当如何? 被抛出的异常应该如何从方法中释放出来呢? Java 的这种语法规范就如同给异常开了一个后门,让异常可以堂而皇之“正确”地从方法里被抛出。
再说Java平台和.NET两者追求的目标
前者从出现开始就认为:在互联网世界中,我要让一种语言跑在任何一个操作系统中;而后者则认为:在互联网世界中,我要让所有的语言都跑在同一个操作系统中(Windows)。两个平台从一开始设计的目的就不一样。
结合上面所述
两者平台结构类似,两个平台都是可以做到“跨平台”和“支持多语言”的。 至于为什么说使用 Mono 还不能把有些.NET程序移植到Linux,这个很容易解释,微软本来就没打算将.NET程序移植到其他平台,.NET中包含的一些丰富框架都是与Windows紧密相关的,你使用了这些框架,是很难再把它们翻译成非Windows平台中可以执行的代码。而且,Java也并不是完全的跨平台,跟你开发实际用到的框架有关。出现以上不能移植的情况,关键有两个地方,一个是你开发时使用的框架,一个是CLR(或者 JVM ),要看后者到底有没有能力把前者翻译成对应平台的可执行代码,总的来说,两者之间的侧重点不同而已。
其实简单地说,Java是绑定于一种语言的跨系统的平台,是一个有多家供应商提供竞争性产品的规范。.net是绑定于一种系统的多语言平台,是一个规范性较弱的垄断性产品。更多的java教程可以来尚学堂咨询。