酸狗带你进入JAVA世界

JAVA语言简介

  最近有很多朋友问JAVA怎么样,想了解JAVA语言,那我就给大家说下我对JAVA的了解,带领大家走进JAVA的世界!


JAVA的前景


   Java是现在最流行的编程语言之一,并且自身拥有庞大且完善的生态系统,可以实现你的任何需求(但是你不可能要求一门语言实现的功能过多,所以有些时候Java不擅长的部分会被其它的语言所顶替),在国内而言,之所以Java使用广泛,更多的主要原因有许多的大户(如阿里巴巴)都在使用Java实现各自的核心业务,虽然这些年Java发展在受到不断的挑战和一些版权的争执等等,但是这和我们这些使用者们没有太多的关系(就好比Unix和Linux 争夺了几十年了,我们该怎么用还是怎么用),所以大家不用过于担心,如果假设有一天Java突然消失了,放心倒霉的不是你一个,各个大公司也会跟着倒霉。


JAVA的发展


  Java是由SUN公司开发的一套编程语言,其前身并不是Java。
  在1991年的时候,当时有一个GREEN项目,这个项目的核心功能在于使用Email控制家电产品的运行(智能家居的前身),在80年代Email流行的时候,当时可以发送个Email是一件很牛的事情。最初SUN公司打算竞争此项目,但是后来考虑到了C++的复杂性,所以利用C++开发出了一套OAK(橡树)平台并且利用此平台进行项目的竞标,不过遗憾的是,这个平台的竞标结果失败了。但是这个时候世界上有一个最早的最牛*的软件公司诞生了:网景(创造了第一家依靠技术最短上市的神话,一年内上市成功),受到了当时发展最好的浏览器技术的启发,推出了一个HotJava的浏览器。那么后来在1995年5月23日的时候正式推出了Java编程语言,同时推出了JDK1.0的开发包(1996年的时候才开始可以提供陆续下载使用,到了1997年的时候传到了中国)。
  SUN(Stanford University NetWork 斯坦福大学网络,sun这里不是指的太阳公司)公司是一家从事于硬件开发的技术性公司,SUN最早的代表性的产品:小型机(被广泛的应用在amazon上)。最初的电子商务是有IBM提出来的,后来由于网络经济的发展问题(任何的经济模式都一定会出现有瓶颈),但是对于90年代末~2000年初的互联网低潮而言,这就是一个严重的伤害。而SUN公司经历过了这么一段发展之后并没有恢复往日的经济实力,终于在后来被Oracle公司所收购。但是在被Oracle公司收购前最希望收购SUN的实际上是IBM,IBM当年软件产品线上的技术基础就是Java语言(SUN并没有通过Java赚到多少钱,但是真正使用Java赚到的只有IBM,后来还有依靠版权欺诈的Oracle)。
  但是不管这些公司如何的折腾,有一点已经达成了共识:Java依然是一个稳定的、可靠的编程语言、可以承担大型服务器的 程序开发任务。
  而从最初的时代到现在Java语言也出现了一些技术的不同发展:

  • Java 标准开发(J2SE、JAVA SE):提供的是底层的支持,实现了桌面程序的开发
  • Java 嵌入式开发(J2ME、JAVA ME):SUN公司最早的时候就是想做嵌入式开发,但是这个嵌入式的发展是被当年的诺基亚(Nokia)给这折腾够了,后来基本上就被Android所替代了,但是再后来由于Oracle和Google的撕逼大战,导致Android发展出现了瓶颈,后来Google干脆推出了自己的专属编程语言来进行Android开发(Kotlin)
  • Java 企业开发(J2EE、JAVA EE):主要是进行企业平台的搭建,现在已经主要的开发是互联网平台

JAVA的特点


  Java之所以可以得到持续的发展力以及良好的生态系统,这完全取决于Java的自身的技术特征。

  1. 是一个行业内通用的技术实现标准;
    Java本身也算是一个半开源的产品,所以很多的厂商得以接触到Java的底层,这样使得Java开发更加的透明;
  2. 是一门面向对象的编程语言:这样就使得Java语言语法结构更加方便开发者接受,这些面向对象的设计思想还在不断进行着扩充(不同的JDK版本);
  3. 提供有方便的内存回收处理机制:像一些编程语言里面需要明确的手工进行对象的回收与释放,否则你的程序将无法正常提供支持,但是Java可以提供有自动的内存回收操作,这样的处理会更加方便一些(这里面就牵扯到了一些优化方面问题了);
  4. 避免了复杂的指针问题,而使用更加简单的引用来代替指针:指针虽然是一种高效的内存处理模式,但是其需要较强的逻辑分析,而Java在设计的时候充分的考虑到了这一点,所以开发者直接利用引用就可以简化指针的处理,而引用也是在所有初学过程之中最为难以理解的部分;
  5. Java是为数不多支持多线程编程的开发语言,这样就可以使得单位时间内,处理的性能得到提升(性能的提升不是绝对的),多线程也是Java开发之中的最难以理解的部分,而正确的多线程处理才是提升处理性能的核心所在;
  6. Java提供有高效的网络处理能力,可以基于NIO实现更加高效的数据传输处理;
  7. Java具有良好的可移植性,这样就可以提升一个程序的适用范围;
  8. Java语言足够简单

JAVA 可移植性


  Java语言之中最大的特点在于其可移植性的支持,所谓的可移植性指的是同一个程序可以在不同的操作系统之间任意的进行部署,这样就减少了开发的难度, 在Java里面如果要想实现可移植性的控制,那么主要是依靠的是JVM(Java虚拟机)。
  JVM是一个由软件和硬件模拟出来的计算机,所有的程序只要有JVM的支持,那么就可以实现程序的执行,并且不同的操作系统上会有不同版本的JVM存在,这样就可以实现移植性。

Java应用程序运行机制   所以Java程序的解释都要求放在Java虚拟机上处理。
  所有的*.java的源代码程序最终都是需要经过编译后才可以使用的,但是编译完成的程序代码并不是一个绑定在某个具体操作系统上的程序,而是一种通用性的程序,而这种通用性的程序就是JVM所能够识别的代码。
JVM
  所有的程序并不是直接运行在操作系统上,而是通过JVM执行,这样一来肯定要比直接在操作系统上执行的程序的处理速度要慢, 先期这的确是一个问题,但是后来由于硬件技术的飞速发展,这些问题已经可以忽略了,但是依然会存在有JVN调优问题(让JVM发挥出操作系统的全部性能)。


总结

  最后我还是想一句JAVA牛逼!谢谢!

猜你喜欢

转载自blog.csdn.net/qq_39765048/article/details/117324617