本篇概述:
第一部分: 软件开发
软件的概述
第二部分: Java的平台体系结构介绍
1、Java语言的体系
2、Java语言的特性
第三部分: Java开发环境的搭建
1、JDK的安装
2、环境变量配置
第四部分: Java学习资源的获取
1、视频教程
2、书籍
3、技术网站
1、软件是按照特定顺序组织的计算机数据和指令的集合
常用软件:软件可分为系统软件和应用软件
系统软件如:windows、Linux、DOS···,系统软件是基于硬件的逻辑结构搭建的计算环境
应用软件如:扫雷、迅雷、qq···,应用软件通常指运行在系统软件上实现特定计算功能的固定计算集合
2、软件开发:
即制作软件,软件的出现实现了人与计算机更好的交互,目前人机交互的方式有两种:图形化用户界面和命令行交互,但命令行交互需要在控制台输入特定的指令让计算机完成操作
计算机语言是与计算机最直接的交互方式,通过计算机语言可以编写软件程序供使用者与计算机进行信息交互。目前计算机语言的种类非常丰富,主流的计算机语言有java、C、C++、C#等等,这里我们要学习的是java语言。
Java是一门面向对象、面向网络的跨平台高级计算机编程语言,它由SUN(StanfordUniversity Network)公司于1995年推出了。作为目前最热门的编程语言,Java紧跟时代步伐持续推出它的新版本和新的技术实现,以适应计算机技术的快速发展和越来越多样化的市场需求,目前Java版本更新至Java8,Java同时推出三个技术体系以满足不同客户群体对IT技术的需求,下面来简单学习一下Java的各版本和功能。
(1)Java ME(Java Platform,Micro Edition)Java微型版。(以前叫J2ME)
Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于Java ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。
(2)Java SE(Java Platform,Standard Edition)Java标准版。以前叫J2SE)
它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序。Java SE 包含了支持Java Web 服务开发的类,并为Java Platform,Enterprise Edition(Java EE)提供基础。
(3)Java EE(Java Platform,Enterprise Edition)Java企业版。以前叫J2EE)
企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在Java SE 的基础上构建的,它提供Web 服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和Web 2.0 应用程序。
JRE、JDK、JVM:
(1)JRE : Java Runtime Enviromental(Java运行时环境)。
也就是我们说的JAVA平台,所有的Java程序都要在JRE下才能运行。包括JVM和JAVA核心类库和支持文件。与JDK相比,它不包含开发工具——编译器、调试器和其它工具。
(2)JDK : Java Development ToolKit(Java开发工具包)。
JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。上面所说的三个体系可理解为JDK体系。
(3)JVM : Java Virtual Mechinal(JAVA虚拟机)。
JVM是JRE的一部分,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM 的主要工作是解释自己的指令集(即字节码)并映射到本地的 CPU 的指令集或 OS 的系统调用。Java语言是跨平台运行的,其实就是不同的操作系统,使用不同的JVM映射规则,让其与操作系统无关,完成了跨平台性。JVM 对上层的 Java 源文件是不关心的,它关注的只是由源文件生成的类文件( class file)。类文件的组成包括 JVM 指令集,符号表以及一些补助信息。
Java平台的体系结构:见下图
Java技术有下列优点:
简单、面向对象、分布式、解释执行、鲁棒、安全、体系结构中立、可移植、高性能、多线程以及动态性。简单介绍。
(1)Java语言是强制面向对象的。
Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。
(2)Java语言是分布式的。
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
(3)Java语言是健壮的。
Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。
(4)Java语言是安全的。
Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。
(5)Java语言是可移植的。
这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。
(6)Java语言是解释型的。
如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。
(7)Java语言是原生支持多线程的。
在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。
总结java编程的好处:
1.面向对象
2.分布式
3.多线程
4.结构化错误处理
5.垃圾收集
6.动态连接
7.动态扩展
JDK开发工具包包含JRE,JRE包含JVM,所以安装JDK安装包即可完成Java开发环境的搭建,下面举例在windows7系统下安装JDK的详细步骤:
JDK安装步骤:
1.1、免费下载最新版本JDK安装包。
下载地址:
http://www.oracle.com 、http://www.java.sun.com
选项:
javase ->download JDK->download->选平台->下载,大家平时用电脑下载东西也是常有的,具体操作流程打开网站就一目了然了。
1.2、按一般软件安装的顺序安装JDK安装包。
这里要注意:
JDK不可以安装在带有中文字符或空格键的文件路径下,否则JDK是无法正常运行的,安装就是下一步下一步···,不赘述了,装好后记下安装路径(存放了java.exe程序的地方)。
如:
C:\Program Files (x86)\Java\jdk1.8.0_25\bin(注:安装过程中会提示安装JDK及JRE,由于JDK中内置了JRE,所以不单独安装JRE也是可以的)
1.3、成功安装之后,测试一下是否真的成功安装,点击【开始】-->【运行】-->输入“CMD”,出现黑色的命令提示符窗口,在命令提示符里面输入“Java -version”并按回车键,显示下图信息,表示安装成功。如图
2.1配置Path变量:
环境变量是指在操作系统中用来指定操作系统运行环境的一些参数信息。配置java环境变量是为了保证java程序在电脑环境中更方便的使用开发工具,使运行java程序时系统会自动到安装目录下找相应程序启动而不需要每次将控制台定位在java程序的安装目录下。
配置:
鼠标右击【计算机】-->【属性】-->【高级系统设置】-->【环境变量】,选择“系统变量”下面找“Path”变量(没有则新建一个)双击打开,在“变量值”文本框后面添加JDK的安装路径(步骤2中的安装路径),用英文“;”与其他文件路径隔开,单击“确定”按钮,如图
2.2另一种配置方法:
为了保护本机原有程序在Path中的环境变量不被误操作,也可以不按上述配置,而是在环境变量中新建一个独立的java环境变量,在将引用放到Path中,以后修改java环境变量就可以单独修改而不用到Path中修改了,可以新建命名一个易识别的变量名(如:JAVA_HOME),在其中的变量值中添加JDK的安装路径(如:C:\Program Files (x86)\Java\jdk1.8.0_25,以实际安装的路径为准),在Path中引用“JAVA_HOME”可以写作%JAVA_HOME%\bin,前后如果有其它路径要用“;”隔开。
2.3一种临时设置环境变量的方法:
该方法设置的环境变量在退出DOS命令行后即被还原:DOS --> set path = 临时配置信息 如:(set path = 路径;%path%),这里“%Path%”的意思是引用原有Path值。
2.4配置classpath:
classpath是指定java的class运行文件的存放路径的参数,配置了classpath后电脑在启动java运行程序的时候会在classpath配置的路径下查找要运行的class运行文件,这点在后期用到java包机制和类库后作用很大,配置方法同Path的配置方法类似,如果需要运行在任意路径下存放的class文件可以在变量值的文件路径前加“.;”,表示在当前运行路径查找class执行文件,classpath的值设置为“.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar”。
2.5、测试环境变量配置是否成功。在DOS命令行(命令提示符)窗口输入“JAVAC”,输出信息类似下图说明配置正确。如图
以上就是我的JDK的安装过程,网络上配置环境变量的方法各有不同,我用上述的方法配置,如果没有显示,则参照网络上的各种配置方法!
知识点补充:
执行java程序时是先找当前目录下有没有执行程序,找不到再到path指定目录中找;执行文件则是先在classpath环境变量中去找,找不到才到当前执行目录找。
首先强调一点,初学者最好先不要使用开发框架,学习前期最好用手写代码以增加初学者对代码的熟练程度,代码的编写可以在文本编辑器上进行,代码的编译和运行可以在windows的DOS命令行上进行。
开始菜单找到【运行】选项打开,在编辑框中输入“CMD”回车,即可打开DOS命令行;或者在资源管理器的任意页面路径框中输入“CMD”回车即可打开DOS命令行,并会自动切换命令行的运行路径到当前的文件路径。这里要说明的是:运行编译和运行Java文件都要把DOS命令行的运行路径切换到该Java文件的保存路径,并且保存的绝对路径不可以有非英文字符。
所以需要掌握一些常用的DOS命令,如下:
cls:清屏
cd:进入指定目录
cd..:返回到上一级目录
cd\:退回到根目录
dir:列出当前目录下的文件以及文件夹
md:创建目录(文件夹)
rd:删除目录
del:删除文件(不能删除文件夹)
del*.*:删除所有文件
del*.文件扩展名:删除同一类型的文件
exit 退出系统(DOS命令行系统)
echo:创建文件。如:echo 文件内容 >文件名.txt
help:显示所有命令及描述
用任何的文本编辑器都可以实现java代码的书写,但最好选用具有java语法加亮功能的编辑器,可以易于观察语法错误,例如:EditPlus、Notepad++等,windows自带的文本编辑器没有Java语法加亮功能,所以不是最好的选择。(注:语法加亮:用不同颜色标识Java语言的关键字、类库类等在Java语言中有特殊含义的词语,该功能有利于发现书写错误),不建议初学者使用高级的集成开发工具,因为初学使用集成开发工具难以锻炼出编程手感。
毕向东老师的《Java基础视频教程》当属国内少有的精品Java基础视频教程,该教程内容丰富全面,教学风格生动风趣,结合张孝祥老师的高新课程学习可以将Java语言学习到比较深入的程度了,视频教程可以到“黑马程序员”官网免费下载学习。
Bruce Eckel 的《Thinking in Java》是java语言的经典书籍,该书对Java编程的思想的概述非常深入独到,学习者边观看教学视频边理解书中对Java深入的机制的讲解会对学习产生很好的促进作用,该书也持续在新版本中加入Java语言较新的技术的讲解,是一本不错的学习的书籍
《设计模式之禅》,这是一本对编程的系统性思维的见解很独到的书。初学者尚未形成编程思维,对方法的封装和算法结构还比较模糊,不太了解方法到底应该以什么标准去封装才能形成严谨的结构,所以建议初学者不要太急于对代码的实现,而应该多看一些大师们对编程思想的见解,这样更有利于形成编程思维,从而能高效的编写出高质量的代码。
编程是一门实操性很强的技术,建议学习者最好挑选出一些高质量的书籍再作深入研究,再通过实践加深理解,学习期间切勿囫囵吞枣贪图快速。
国内的技术论坛:博客园,CSDN
国外的网站: stackoverflow(英文要好)
经常到技术网站交流学习,学习优秀的技术员的学习习惯和方法,多提出问题和总结分享学习心得,这些对知识的理解和学习效率的提高都能得到很好的促进作用。
本章学习总结:
1、Java是当前最流行的计算机编程语言之一,Java具有优良的技术体系,既方便计算机技术开发者提供更简洁便利而安全的开发解决方案,又能更好的实现计算机技术的高效、广泛的应用。
2、Java语言的开发环境搭建,JDK的安装和环境配置。
3、熟练DOS命令行的操作,要学会有效的获取优秀的学习资源,多练习、多交流、多总结、多回顾对学习的效果都大有裨益
OK!本章就学习到这里了,,大家“good good study,day day up!”!