04.java预科(java语言介绍)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了04.java预科(java语言介绍),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4745字,纯文字阅读大概需要7分钟。
内容图文
一、计算机语言发展史
第一代:机器语言——电脑刚出来的时候
- 计算机的基本计算方式是基于二进制的方式 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开放的平台,系统,工具:
- 构建工具:Ant、Maven、Jenkins
- 应用服务器:Tomcat、Jetty、Jboss、Websphere,weblogic
- Web开发:Struts,Sprint,Hibernate,myBatis
- 开发工具:Eclipse、Netbean,intellij idea、Jbuilder
- ......
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语言介绍)全部内容,希望文章能够帮你解决04.java预科(java语言介绍)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。