JAVA语言简介

  最近有很多朋友问JAVA怎么样,想了解JAVA语言,那我就给大家说下我对JAVA的了解,带领大家走进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的源代码程序最终都是需要经过编译后才可以使用的,但是编译完成的程序代码并不是一个绑定在某个具体操作系统上的程序,而是一种通用性的程序,而这种通用性的程序就是JVM所能够识别的代码。

  所有的程序并不是直接运行在操作系统上,而是通过JVM执行,这样一来肯定要比直接在操作系统上执行的程序的处理速度要慢, 先期这的确是一个问题,但是后来由于硬件技术的飞速发展,这些问题已经可以忽略了,但是依然会存在有JVN调优问题(让JVM发挥出操作系统的全部性能)。


总结

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

酸狗带你进入JAVA世界相关推荐

  1. 酸狗带你了解Vue.js

    带你了解Vue.js 今天酸狗就带着大家了解一个国内最火的前端框架Vue.js.希望对大家Vue的了解有帮助! 文章目录 带你了解Vue.js 前言 一.框架和库的区别 二.前端三大主流框架 三.什么 ...

  2. 独特视角带你走进Java并发编程的世界

    独特视角带你走进Java并发编程的世界 全局概括 并发问题产生的三个根本原因 java内存模型: 有序性和可见性的解决方案 volatile关键字 Happens-Before规则 锁: 原子性的解决 ...

  3. 程序员心中都有一个江湖,java世界,就是一个江湖!

    大千世界,无所不有.这世上不光有人类世界,还有咱们的 java 世界.今天就由我这个实习导游带领你们了解了解咱们的 java 世界的奇妙之处. 有一种暖男叫 catch,有一种真爱叫 try---ca ...

  4. 原来在Java世界里也有这么多精彩的故事,学Java真有趣!

    大千世界,无所不有.这世上不光有人类世界,还有咱们的java世界. 今天就由我这个实习导游带领你们了解了解咱们的java世界奇妙之处. 一.有一种... 有一种暖男叫catch,有一种真爱叫try-- ...

  5. 原来Java世界里也有这么多精彩的故事,学Java真有趣!

    大千世界,无所不有.这世上不光有人类世界,还有咱们的java世界. 今天就由我这个实习导游带领你们了解了解咱们的java世界奇妙之处.   有一种暖男叫catch,有一种真爱叫try---catch, ...

  6. 原来Java世界里也有这么多精彩的故事,学java真的很有趣

    大千世界,无所不有.这世上不光有人类世界,还有咱们的java世界. 今天就由我这个实习导游带领你们了解了解咱们的java世界奇妙之处. 一.有一种... 有一种暖男叫catch,有一种真爱叫try-- ...

  7. JAVA基础复习1:开始Java世界的第一个程序

    之前,我已经安装好了Java,并且设置好了Java配置.那么来写一段进入Java世界的第一个程序. 1.打开记事本(曾经看过廖大神的一个博客,说是不建议使用Windows自带的记事本,因为有时候会添加 ...

  8. Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(LabelFrame/Checkbutton/Radiobutton)

    Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(LabelFrame/Checkbutton/Radiobutton) 导读 动态演示调用python库的t ...

  9. 带你了解Java这么火爆的真实原因!

    这几年,中国的互联网行业进入了高速发展的阶段,同时IT行业,也成为了热门,备受追捧和关注的行业.在全球云计算和移动互联网的产业环境下,Java工程师异常火爆,受到众多人的追捧.Java工程师为何会如此 ...

最新文章

  1. hashmap为什么用红黑树_全网最全,面试常问的HashMap知识点
  2. Map实现java缓存机制的简单实例
  3. 如何将本地jar包放入本地maven仓库和远程私服仓库
  4. vue导出Excel(三)
  5. HTML内置css改变文字效果,CSS+HTML文字效果
  6. 【渝粤教育】电大中专电子商务网站建设与维护 (13)作业 题库
  7. 51单片机最小系统及晶振电容的选择
  8. 什么是单页面应用SPA?和多页面应用的区别?
  9. 关于MSP430单片机程序烧写的介绍
  10. js实现每次调用一个函数自动加1
  11. 随笔--读书笔记《软技能:代码之外的生存指南》
  12. 计算机为什么设ip,怎么设置电脑ip
  13. 记一次攻防演练之vcenter后渗透利用
  14. 【强化学习论文】柔性行为综合的扩散规划
  15. EN 13163-2012 建筑保温产品,工厂生产发泡聚苯乙烯(EPS)产品.规范
  16. pandas 数据聚合与分组运算
  17. 多尺度的图像细节提升
  18. 工作模板文档实践整理
  19. Android联系人按拼音排序以及按汉字首字母或全拼搜索
  20. 如何将视频转换为GIF动图?三种方法轻松搞定!

热门文章

  1. js:nextSibling兄弟节点的使用
  2. VLAN规划原则与建议
  3. 获取选股宝7x24小时数据
  4. Excel程序员常用快捷键
  5. 利用Spire实现对Word模板的指定文字替换(文字、图片、表格)
  6. ECCV2022细粒度图像检索SEMICON学习记录
  7. 7-2 寻找大富翁 (25 分)
  8. WIN10系统如何取消右下角的通知菜单,通知图标
  9. 微信小店二次开发_怎么吧微信小店装修的更好看
  10. 将小写字母转换成大写字母C/C++(指针)