初识Java (一)

                                计算机语言的发展史

第一代 机器语言

众所周知,计算机诞生的初期是一台很庞大的机器,最初重达几十吨,但疫苗只能运算5000次的ENIAC

美国国防部用它来进行弹道计算。它是一个庞然大物,用了18000个电子管,占地170平方米,重达30吨,耗电功率约150千瓦,每秒钟可进行5000次运算,这在现在看来微不足道,但在当时却是破天荒。ENIAC以电子管作为元器件,所以又被称为电子管计算机。

这样的庞然大物,当时只能提供给科研,军事,航天等领域,是非常的昂贵稀少。

这样的庞然大物运行原理是离不开一个叫做打孔机的东西,因为计算机本身就只认识0和1这两个数字!

弊端:工作量巨大,bug非常多!

程序员们将用0和1数字变成的程序代码打在纸袋或者卡片上,1打孔,0不打孔;

第二代语言-汇编语言

助记符帮助了程序员提高了编写代码的效率;弊端:对于复杂的任务,汇编语言力不从心!

其中EM就代表了Educate Moth这个单词

第三代语言

出现了面向对象和面向过程的分支;而java属于面向对象的高级语言!

建议初学者先学java ,再学Python的时候你就觉得非常容易!总之,不同的语言之间,平分秋色!

  java简史

一个66岁的老头,在经历了失败项目Green项目之后,一杯来自爪哇岛的咖啡决定了java名称,作者借此寓意java语言能像这杯美味的咖啡被世人所喜爱!

java之父 James Gosling

java脱离了SUN公司,在Oracle公司的 “小步迭代、快速奔跑” 的方针下(2018-2021年期间,平均每半年更新一次版本)迅速成长,利用用户测试来不断地完善自己。

java隶属于Oracle公司,目前企业主流7和8为主!

JDK它又叫做java开发者工具(Java Development Kit),打一个比方的话,它就是一个提供开发者用的电脑软件,这个软件可以用来编程开发。他和jre是一个包含的关系,如果你不要进行编程开发,仅仅想运行由java编写的程序的话,那么使用安装jre就可以了。当然jre是包含在java开发者工具之中。所以你没有必要进行重复的安装。

软件下载地址   https://www.oracle.com/    需要注册登录后完成下载

在官网页面中选择开发者


选择java语言


选择Java SE文档

目前最新的java SE版本达到了16,下载地址:https://www.oracle.com/java/technologies/javase-jdk16-downloads.html

也可以利用国内平台https://www.jdkdownload.com/


根据自己实际情况来下载对应的版本



Java体系结构

大致分为SE/EE/ME,不同的结构包含的“类”不一样。

java开发大致要把EE和SE学明白。

初学阶段完成SE即可



                                        java核心机制

垃圾收集机制

垃圾收集机制


程序在运行时候,内存会为其开辟一个个空间使之运行;程序停止,空间将被清理释放

美丽的街道上,出现纸屑,烟头之类的可以称之为垃圾,这样的垃圾,需要及时的进行清理

程序员对java底层的垃圾收集器无法精准控制和干预;GC的自动回收提高了效率,减少内存泄露

java面试题

1.垃圾收集器有几种?

2.垃圾收集器底层原理剖析。

垃圾收集器算法和如何优化?



跨平台原理

业界严格意义上对跨平台,指的是编译后的文件是否可以跨平台!

java是一个解释型的语言 并且可以Compile once, run everywhere!

后缀为.java的文件称之为源文件,后缀为.class的文件称之字节码文件;这个字节码文件可以通过不同平台来进行执行!

JDK包含了虚拟机,编译执行功能,因此需要安装这个软件才具备java的开发环境!

Compile once, run everywhere


C语言编译需要不同平台的编译器,编译器与平台相关,编译后的可执行文件与平台相关

常用的DOS命令

win+R  单用户,单任务的操作系统,通常用于系统崩溃,调试的纯命令调试方式


切换D盘  D:   显示D盘内详细内容 dir


进入文件目录 cd  .和..代表了当前目录和上级目录


md 创建目录;反之删除目录就是rd
copy 复制文件的命令,反之删除文件就是del 



java环境准备

软件下载地址:链接:https://pan.baidu.com/s/1OCX5naiMpJrqX6g3RWGXMw

提取码:m1ut

复制这段内容后打开百度网盘手机App,操作更方便哦--来自百度网盘超级会员V6的分享


一路下一步进行安装,提示你安装jre也需要安装可更换安装的位置


验证方式1


验证方式2:java -version 查看版本



JDK & JRE

JDK:Java Development kit 

顾名思义:java开发包;编写java程序的程序员使用的软件,JDK自带JRE。

JRE:Java Runtime Enviroment

顾名思义:java运行环境;运行java程序的用户使用的软件。


作为初学者,先不谈集成工具,我们利用另外一个记事本工具---NOTEPAD ++链接:https://pan.baidu.com/s/1sZuKy5KwHdmNT0eMBf1u2Q

提取码:jsxe

复制这段内容后打开百度网盘手机App,操作更方便哦--来自百度网盘超级会员V6的分享

安装很简单,不做演示!

强大的集成工具IDEA

设置notepad++


设置-首选项-新建


设置-语言格式设置



相关软件的环境变量

Windows环境变量位置

在环境变量中,不只有path这个环境变量,还有很多的变量,而现在需要改动的就是这path的环境变量

我的电脑-属性-高级系统设置-环境变量

我列出了我电脑中path的环境变量中的具体值

在命令控制台执行打开notepad++程序

在没有指定路径下,默认在当前的C盘中是没有这个命令的!

因此,需要将notepad++这个命令所在的路径配置在Path中,系统会帮助你在所有路径中寻找


找到notepad++的执行路径

再寻找notepadd++时,首先系统会在你当前的路径下寻找,若是没有,就去path路径中去寻找notepad++命令,path中有则正常打开,没有输出错误提示!

以分号隔开,加入到path变量值!


重新打开控制命令台后



第一段java程序

这里我选择notepad++的记事本写一个新的java代码。

注意:类名和文件名必须保持一致,但是这张图是错误的,往下看


查看该文件的后缀是.java

源文件编译字节码文件

在编译和翻译过程中javac.exe和java.exe,都存在JDK中,很多java程序都存在这里面。

I:\JDK8\bin

修改JDK软件包环境变量:

path路径中添加I:\JDK8\bin;重启控制台

配置好JDK的环境变量后,进行源文件编译时,出现报错:

实践类的名字证明不能有空格

将类的名字和文件名字取消空格后进行编译 I:\javafile>javac Thefirstcode.java 成功编译!

I:\javafile>javac Thefirstcode.java

编译过程产生字节码文件

在相关路径下产生一个.class字节码文件

执行字节码文件,注意:请勿补全.class,要不然会报错!

代码显示:将双引号内的内容原样输出!

I:\javafile>java Thefirstcode

注意代码的结构,新手会遇到一些常见问题:

1.单词拼写错误;

2.源文件名和类名保持一致;

3.所有的标点符号须英文状态;

4.符号成对出现;

5.代码格式缩进习惯;(向后缩进快捷方式tab键,向前缩进shift+tab)

6.编译过程要带.java;执行过程不带.class

7.Java对大小写异常敏感。

8.一个源文件中可以存在多个类,但只能有一个类被public修饰,源文件的名字必须跟public修饰的那个类名保持一致


public class Thefirstcode{

        public static void main(String[] args){

                 System.out.println("这是我的第一个java代码!");

         }

}



类是公共的, 只能有一个类被public修饰。


源文件的名字必须跟public修饰的那个类名保持一致


多个类的类会生成自己独立的字节码文件


按照不同的字节码文件去分别执行,产生不同的结果,互相执行不冲突!



path环境变量扩展

classpath扩展

作用:专门针对java执行字节码文件而产生的环境变量,可以在任意路径下去执行(翻译).class文件。

默认情况的配置变量值是 .\(当前路径)在执行java的字节码文件时候,就会去这个配置的路径下寻找与之对应的字节码文件

系统默认自带了当前路径,只是隐藏显示,可根据自身需求定制路径


在执行java.exe的时候,会在classpath路径下配置的变量值下(这个变量值为.\当前路径)的Thefirstcode这个字节码文件

Java_Home 扩展

作用:例如,Tomcat启动时,会在系统环境变量中寻找java_home这个软件(默认是没有的)。

初学者阶段用不上,后期tomcat学习的时候涉及解决startup.bat启动闪退问题

Tomcat启动后不会出现闪退问题



JDK文档

类似一个索引字典,遇到不明白的地方可以查询这个文档

中文版JKD8-API


三个模块依次查询

你可能感兴趣的:(初识Java (一))