JAVA的诞生:Java于1995年由SUN公司研发推出。
Java发展:因为其使用免费,众多开源插件和类库,先进的语法面向对象等特性,使得其受到开发人员的喜爱和发展。并且因为其免费开源,有许多的无名工程师、极客在为java进行完善和开发。
Oracle:SUN公司于09年被Oracle(甲骨文)收购,所以java现为Oracle旗下的编程语言。
兼容java的主流的数据库:MySQL、DB2、SQLServer、Oracle
跨平台的重要性:Windows是个人PC的主流操作系统,而服务器操作系统则有Linux、Unix、Windows 2008 Server、其他,其中Linux、Unix是主流;而且操作系统也有很多不同的版本。既然有如此多的操作系统,如果程序每个系统都要进行多一次开发的话,投入的人力、金钱、时间得多得多,无疑跨平台很重要。
Java优点:
1.免费的插件和框架:
Java有着众多的开源框架资源,主流的有Struts2、Spring、Hibernate、Spring MVC、JQuery等等,更多的框架和插件可以在网络上了解得到。
2.喜欢做规范不做实现:
Java只做语言上的规范标准,实现由开发人员、需要使用、开发java工具的公司或数据库公司之类的使用者进行实现。
3.让你做一个有经验的程序员:
由于java有着管家般的垃圾回收机制,不需要开发人员去进行垃圾处理,对于一些开发新手是非常好的一个机制,可以让开发人员省去多年摸索如何处理内存垃圾的时间;java会在编译时检查并消除错误,所以其健壮性优秀,写出来的程序不需要经常重启,稳定性好,毕竟一些开发新手还不能做到太优秀的程序,无疑也是让开发人员更快速更好的开发出稳定的程序。
4.跨平台:
Java之所以能做到一次编译到处运行,是因为其编译会产生一个中间码,然后可以去不同的平台转换成机器码。
5.语法先进,面向对象编程:
Java是面向对象编程语言,因为其特性更好的用代码模拟了现实生活中的事物,所以是目前较为先进的编程语言。
Java和其他编程语言的一些对比:
C/C++:C语言是面向过程编程语言其历史也比较久,C++则算是一门过渡语言不像java那样纯对象也不像C那样纯过程,这两种语言的主要缺点就是库不够丰富,资源不够多,语法不严格;优点在于面向过程在适合编写一些游戏、编写底层程序,适合科研方面的研究,其中Linux、Unix的内核就是C/C++编写的。
Java:开源的资源库比较丰富,适合商业软件,服务器软件开发。在WEB、桌面程序、手机程序、手持机、电视、机顶盒、卡片芯片都有java的身影。比较有名的游戏《我的世界》就是用纯java开发的,经典的Java书籍:<Java 编程思想> 一书上说了,java最主要得到发展、红火起来的其中一个优点就是解决了C/C++没能解决的程序设计的复杂性问题,Sun公司当时对Java的设计目标就是为程序员减少复杂性,减少开发健壮代码所需要所需要的时间以及困难。但是,并不是说C/C++语言就不好,任何的编程语言都有特长,比如C语言在硬件、单片机领域基本是使用的最广泛的语言,并且经久不衰。
Android:谷歌公司研发的编程语言,语法上基本是仿照的java。多用于开发手机、平板、手持机、车载系统和程序;由于目前大部分手机都是Android系统,所以Android近年发展迅速。
C#:Microsoft公司研发的编程语言,也是纯面向对象编程语言,是从以前j++的基础上演变过来的一门语言;多用于WEB、桌面程序、手持机系统和开发了WinPhone手机操作系统。是和java相似的一门语言,但是因为各种因素不如java受欢迎。但是要学习使用游戏引擎开发游戏的话,C#还是使用的比较多的。
编程并不需要想的太复杂深奥化,其实就是在把生活中的事物,用代码的语法去实现。
Microsoft(微软)是曾经的Sun公司现在的Oracle公司的主要竞争的对手可以说是死对头,曾经Sun公司因为java的版权把Microsoft多次告上法庭,虽最后庭外和解但是后来在Windows操作系统上就不具备java的运行环境了,所以现在都需要下载JDK手动配置:
JDK的下载地址:http://java.oracle.com
JVM:Java虚拟机,给java程序构建虚拟环境,编译好的java程序需要在JVM虚拟机中运行并生成操作系统可执行的机器码
JDK:Java开发工具箱(包含开发环境、运行环境JRE、JVM虚拟机);
Jdk目录下较为重要的文件夹概述:
Bin:此文件夹有着所有的可执行程序: javac(编译程序),java(运行程序),javaw(窗口程序),javadoc(生成html文档),jar(将代码打成压缩包)
Db:里面存放着java提供的内嵌小型数据库,是1.6版本后才有的
Include:用于调用C/C++的库文件
Jre:java运行环境(虚拟机),其bin目录下调用着java和javaw程序
Lib:java的库文件,里面是现成的java代码资源
Javafx-src.zip:javafx源代码
Src.zip:jdk源代码
目前jdk较新版本为jdk1.8_112,jdk1.8_111;其中jdk1.8_111是jdk1.8中较为稳定的版本,虽然再过段时间1.9就要出来了。
Jdk下载地址:www.oracle.com/cn/ www.kaige123.com
Java程序的执行顺序:1.java程序>>>2.JVM/JDK>>>3.操作系统>>>4.硬件
Java的编译和运行流程:java的编译流程是先编写好一个后缀名为java的源文件,然后通过jdk工具箱里的javac程序进行编译成class字节码;接着再将字节码通过java虚拟机运行并生成操作系统可以执行的机器码,至此java的编译和运行流程就完成了
Java具有健壮性、跨平台原因:之所以java编写的程序可以跨平台运行,是因为java源代码文件在编译时会先产生一个class字节码,然后再到不同操作系统平台的java虚拟机中运行,并生成操作系统可以执行的机器码;java虚拟机就像扮演着翻译官的角色,将用java编写的语言翻译给Linux、Unix、MacOS、Windows等操作系统。
由于java编写的程序都是在虚拟机中运行,访问或调用内存、资源都需要通过虚拟机进行操作,不会直接访问资源,保证了资源的安全性;并且会在编译时检查并消除错误,大大减少了出现劣质代码的情况;再者虚拟机具有垃圾自动回收机制,不需要开发人员额外的去处理内存垃圾,也避免了由于内存碎片过多导致程序崩溃重启的现象,由此使得java编写的程序具有优秀的健壮性。
Applet、Javafx :是用来设计在网页中运行的程序,设计图形化动态界面的现在已被淘汰;目前WEB的图形化动态页面的设计被HTML5语言所代替。
可跨平台与不可跨平台编程语言的编译流程:
不可跨平台:例如c语言,c语言是直接编写一个后缀名为C的源代码文件,然后在dos界面或开发工具里直接编译成操作系统可执行的机器码(平台相关的可执行程序)
可跨平台:例如java语言,也是同样编写一个源文件后缀名为java,然后在dos用javac程序或在开发工具里编译成class字节码,接着再交给不同操作平台内的JVM虚拟机去运行生成平台相关的可执行程序。
Java简单的一个程序开发:
第一步:先在控制面板中打开文件夹选项,点击查看,然后点去“隐藏已知文件类型的扩展名”的选项。
第二步:新建一个记事本文件,命名为Hello.java,右击点击编辑。
第三步:编写如下代码:
public class Hello{
public static void main(String[] ages){
System.out.println("Hello computer progarmming world!");
}
}
编写代码时要注意:
1.文件名必须要与类名一致
2.记住java是严格区分大小写的
3.代码内的符号必须是英文符号,不能是中文的
第四步:ctrl+s键保存
第五步:把javac程序的路径复制粘贴到Windows的运行引擎,或直接把javac程序拖进运行引擎,接着把刚编写好的源文件路径也复制粘贴进去或者直接拖进运行引擎(就是运行javac程序,然后给它传了一个参数,参数写的是一个路径),记住两个路径之间要用一个空格分开,回车或者点确定就可以进行编译,完成后会发现源文件目录下多了一个后缀名为class的文件。
第六步:然后用同样的方法把java程序拖到运行引擎空一个空格,把编译好的class文件也拖进去,按回车键运行;至此,一个简单的java程序就开发完成了。
输出结果:
要进行学习的话,最好是配置系统的环境变量,这样的方式只是临时使用的而已。