首页 > 编程语言 > 详细

04.java预科(java语言介绍)

时间:2021-03-28 22:18:40      阅读:35      评论:0      收藏:0      [点我收藏+]

一、计算机语言发展史

第一代:机器语言——电脑刚出来的时候

  • 计算机的基本计算方式是基于二进制的方式 0101
  • 这种代码是直接输入给计算机使用,不经过任何转换!

第二代:汇编语言

  • 解决人类无法读懂机器语言的问题
  • 指令替代二进制
  • 目前应用:逆向工程、机器人、病毒
  • 技术分享图片

     

     

第三代:高级语言

      摩尔定律:当价格不变时,集成电路上可容纳的晶体管数目,约每隔18个月便会增加一倍,性能也将提升一倍。换言之,每亿美元所能买到的电脑性能,将每隔18个月翻两倍以上。

  • 大体上分为:面向过程和面向对象两大类
  • C语言是典型的面向过程的语言。C++、JAVA是典型的面向对象的语言

C语言:现代语言的鼻祖,有高级语言的特点又有汇编语言的特点,很多语言都有C语言的影子

目前主要用在写操作系统、应用程序系统、写一些工作程序设计、编写一些不依赖计算机硬件的系统,应用比较广泛,有很强的数据处理能力

C++语言:C语言面向对象的版本。

JAVA语言:也可以吧java成为C++--,相当于把C++中一些不好的东西减掉了,可作为服务器的开发

C#语言:C#称为C sharp,可以看到大量的java的特性。当时微软已经是一个非常大的公司了,比尔盖茨非常认可java,说java是他见过最好的语言。但是微软希望发明一种语言代替java,于是C#就诞生了,但是C#不能跨平台,不通用,于是C#就失去了跟java竞争的优势

Python(用于大数据分析、人工智能)、PHP(可以快速构建一个网站)、JavaScript

......

 

二、JAVA帝国的诞生

  C&C++

  1972年C诞生

  • 贴近硬件、运行极快,效率极高
  • 操作系统,编译器,数据库,网络系统等
  • 指针和内存管理(程序员容易在这里犯错,大量的时间处理这两个东西)

  1982年C++诞生

  • 面向对象
  • 兼容C
  • 图形领域、游戏等

 由于C/C++的指针和内存等一些不友好的问题,于是有了一批人建立了新的语言JAVA,去掉了C/C++之前的一些不好的地方

  • 语法有点像C
  • 没有指针
  • 没有内存管理
  • 真正的可移植性,编写一次,导出运行
  • 面向对象
  • 类型安全
  • 高质量的类库
  • ......

       一开始名字想叫oak,后来发现被人注册使用了,于是改成了java。为了实现真正的跨平台,他们在每个操作系统之上又增加了一个抽象层,叫Java的虚拟机(JVM),所有的平台只要安装了java的虚拟机就可以跑这个程序,这样就实现了真正的可移植性。

  为了推吸引更多人的加入,他们决定搞一个演示,向大家展示一下Java的能力。

  1995年的网页简单而粗糙,缺乏互动性。于是他们在浏览器上弄了个小插件,他们把java的运行环境放上去,然后在上面开发了一个图形界面的程序(Applet,这个程序现在慢慢的已经被淘汰了)。但是在1995年所有看到Applet的程序员都觉得很厉害,让原本简单粗糙的东西看起来更漂亮了。于是Java活了,许多无法忍受C语言爆震的程序员很快的加入了他们,于是他们的领地迅速扩大了,就连很多C语言的商业巨头也纷纷来合作,其中包括Oracle和微软这样的大公司。

  比尔盖茨买了Java的许可证之后,回去把想把java修改一下绑死在他们的windows上赚钱,这样Java就变得不可移植了,这是他们难以忍受的,于是Java跟微软就发起了一场战争,逼着微软退出Java领域,然后微软就自己开发了.NET。95到97年Java不断的开疆扩土,Java的程序员达到了几十万,然后渐渐地大家发现Java除了Applet以外干不了其他事情,大家就嘲笑说这个东西只能像玩具一样,只能在网页上弄弄东西。然后到了98年JAVA王国决定派出三只部队向外扩张。

  三只部队就是:

  • Java 2 标准版(J2SE):去占领桌面——很快败下阵来,开发桌面的程序员根本接受不了Java,开发出来的桌面比较难看,和原先的桌面差距比较大,尤其是为了运行程序还得安装一个虚拟机
  • Java 2 移动版(J2ME):去占领手机——很快败下阵来,ME也不受待见,当时移动互联网还没有兴起
  • Java 2 企业版(J2EE):去占领服务器——赶上了最好的时候,强大、健壮、安全,而且跨平台,简直是为服务端程序所发明的,非常适合团队开发一些复杂的大型项目

  Java授权BA公司第一个使用Java  J2EE的许可证,然后这个公司就推出了一款产品叫做weblogic,它凭借它的集群功能第一次展示了复杂应用的可扩展性和高可用性。

  基于Java开放的平台,系统,工具:

  1. 构建工具:Ant、Maven、Jenkins
  2. 应用服务器:Tomcat、Jetty、Jboss、Websphere,weblogic
  3. Web开发:Struts,Sprint,Hibernate,myBatis
  4. 开发工具:Eclipse、Netbean,intellij idea、Jbuilder
  5. ......

2006:Hadoop(大数据领域)——Java通过这个占领了大数据领域

2008:Android(手机端)——Java通过这个占领了手机端,完成了当年ME没完成的事情

三、Java特性和优势

  • 简单性
  • 面向对象(模拟人的思维写程序,所以人去学习非常的快)
  • 可移植性(write once,run anywhere)
  • 高性能
  • 分布式(为网络分布式环境所设计,因为它能够处理很多TCP/IP协议的东西)
  • 动态性(通过反射机制)
  • 多线程
  • 安全性(可以构建一些防病毒、防篡改的程序)
  • 健壮性(去掉了一些C/C++的一些程序健壮性的问题,比如一些关于指针和内存的管理,Java基本不可能造成计算机的奔溃,每次运行之前都会对计算机内存进行一些检查,确认都是合法的,而且不至于引起一些问题。哪怕真的出了问题也不会奔溃,因为Java里有个机制叫做异常机制)

四、Java三大版本

  • JavaSE:标准版(桌面程序,控制台开发......)——学习JavaEE需要先把SE的基础打牢,这是最核心也是最基本的
  • JavaME:嵌入式开发(手机,小家电)——基本死掉了
  • JavaEE:E企业级开发(web端,服务器开发)——应用最广泛的一个领域

五、JDK、JRE、JVM

 

  • JDK:Java Development Kit(Java开发者工具,它包含了JRE和JVM)
  • JRE:Java Runtime Environment(Java运行时环境,包含了JVM及之前提到的Applet等)
  • JVM:Java Virtual Machine(Java虚拟机,可以用软件来实现,也可用硬件实现,相当于在所有操作系统中模拟了一个小小的CPU去处理Java相关的东西,通过JVM屏蔽了底层系统的一些差别,真正实现了可移植性)

技术分享图片

 

04.java预科(java语言介绍)

原文:https://www.cnblogs.com/fanqingting/p/14589649.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!