假设您想在20多岁就拥有1-2万以上的月薪,软件开发范畴几乎是首选的范畴。而在那个范畴,利用最多也是更受欢迎的开发语言就是Java,一种普遍利用于办事器、桌面电脑、手机、智能卡、收集等各类范畴的跨平台开发语言。
1。 Java是目前利用最为普遍的收集编程语言之一。
它具有简单,面向对象,不变,与平台无关,阐明型,多线程,动态等特征。
2。java语言简单易学,假设你进修过 C++语言,你会觉得 Java很眼熟,因为 Java中许多根本语句的语法和 C++一样,像常用的轮回语句,掌握语句等和 C++几乎一样,但不要曲解为 Java 是 C++的加强版,Java 和 C++是两种完全差别的语言,他们各有各的优势,将会持久并存下往,Java 语言和 C++语言已成为软件开发者应当掌握的语言。
假设从语言的简单性方面看,Java要比 C++简单,C++中许多随便稠浊的概念,或者被Java弃之不消了,或者以一种更清晰更随便理解的体例实现,例如,Java不再有指针的概念。
3。面向对象 基于对象的编程更契合人的思维形式,使人们更随便编写法式。
在现实生活中,我们每时每刻都与对象在打交道。我们用的钢笔,骑的自行车,乘的公共汽车等。而我们经常见到的卡车,公共汽车,轿车等城市涉及以下几个重要的物理量 可乘载的人数,运行速度,策动机的功率,耗油量,自重,轮子数目等。别的,还有几个重要的功用 加速功用,减速功用,刹车,转弯功用等。
我们也能够把那些功用称做是他们具有的办法,而物理量是它们的形态描述。仅仅用物理量或功用不克不及很好的描述它们。在现实生活中,我们用那些共有的属性和功用给出一个概念 灵活车类。一个详细的轿车就是灵活车类的一个实例 对象 。Java 语言与其它面向对象语言一样,引进了类的概念,类是用来创建对象的模板,它包罗被创建的对象的形态描述和办法的定义。
4。与平台无关 与平台无关是 Java 语言更大的优势。其它语言编写的法式面对的一个次要问题是操做系统的改变,处置器晋级以及核心系统资本的改变,都可能招致法式呈现错误或无法运行。Java的虚拟机胜利地处理了那个问题,Java编写的法式能够在任何安拆了 Java虚拟机 JVM 的计算机上准确的运行,Sun公司实现了本身的目标 “一次写成,处处运行”。
5。阐明型 我们晓得C,C++等语言,都是只能对特定的CPU芯片停止编译,生成机器代码,该代码的运行就和特定的CUP有关。例如,在C语言中,我们都碰着过类似下面的问题 int 型变量的值是10 ,那么下面代码的输出成果是什么呢 printf(“%d,%d”,x,x=x+1) 假设上述语句的计算挨次是从左到右,成果是 10,11 但是,有些机器会从右到左计算,那么成果就是11,11。
Java不像C++,它不针对特定的CPU芯片停止编译,而是把法式编译为称做字节码的一个“中间代码”。字节码是很接近机器码的文件,能够在供给了 Java 虚拟机 JVM 的任何系统上被阐明施行。Java 被设想成为阐明施行的法式,即翻译一句,施行一句,不产生整个的机器代码法式。
翻译过程假设不呈现错误,就不断停止到完毕,不然将在错误处停行施行。统一个法式,假设是阐明施行的,那么它的运行速度凡是比编译为可施行的机器代码的运行速度慢一些。但是,对Java来说,二者的区别不太大,Java的字节码颠末认真设想,很随便便能利用JIT 立即编译体例 编译手艺将字节码间接转化成高性能的当地机器码,Sun 公司在 Java 2发行版中供给了如许一个字节码编译器--JIT(Just In Time),它是Java虚拟机的一部门。
Java运行系统在供给JIT的同时仍具有平台独立性,因而“高效且跨平台”对Java来说不再矛盾。假设把 Java 的法式比做“汉语”的话,字节码就相当于“世界语”,世界语反面详细的“国度”关,只要那个“国度”供给了“翻译”,就能够再快速地把世界语翻译成当地语言。
6。多线程 Java 的特征之一就是内置对多线程的撑持。多线程容许同时完成多个使命。现实上多线程使人产生多个使命在同时施行的错觉,因为,目前的计算机的处置器在统一时刻只能施行一个线程,但处置器能够在差别的线程之间快速地切换,因为处置器速度十分快,远远超越了人领受信息的速度,所以给人的觉得好象多个使命在同时施行。
C++没有内置的多线程机造,因而必需挪用操做系统的多线程功用来停止多线程法式的设想。
7。平安 当你预备从收集上下载一个法式时,你更大的担忧是法式中含有歹意的代码,好比试图读取或删除当地机上的一些重要文件,以至该法式是一个病毒法式等。当你利用撑持Java的阅读器时,你能够安心地运行Java的小利用法式 Java Applet ,没必要担忧病毒的传染和歹意的诡计,Java小利用法式将限造在 Java运行情况中,不容许它拜候计算机的其它部门。
8。
动态 Java 法式的根本构成单位就是类,有些类是本身编写的,有一些是从类库中引进的,而类又是运行时动态拆载的,那就使得 Java 能够在散布情况中动态地庇护法式及类库,而不像 C++那样,每当其类库晋级之后,响应的法式都必需从头修改,编译。