计算机语言的发展史
第一代 机器语言
众所周知,计算机诞生的初期是一台很庞大的机器,最初重达几十吨,但疫苗只能运算5000次的ENIAC
这样的庞然大物,当时只能提供给科研,军事,航天等领域,是非常的昂贵稀少。
这样的庞然大物运行原理是离不开一个叫做打孔机的东西,因为计算机本身就只认识0和1这两个数字!
弊端:工作量巨大,bug非常多!
第二代语言-汇编语言
助记符帮助了程序员提高了编写代码的效率;弊端:对于复杂的任务,汇编语言力不从心!
第三代语言
出现了面向对象和面向过程的分支;而java属于面向对象的高级语言!
建议初学者先学java ,再学Python的时候你就觉得非常容易!总之,不同的语言之间,平分秋色!
java简史
一个66岁的老头,在经历了失败项目Green项目之后,一杯来自爪哇岛的咖啡决定了java名称,作者借此寓意java语言能像这杯美味的咖啡被世人所喜爱!
java脱离了SUN公司,在Oracle公司的 “小步迭代、快速奔跑” 的方针下(2018-2021年期间,平均每半年更新一次版本)迅速成长,利用用户测试来不断地完善自己。
java隶属于Oracle公司,目前企业主流7和8为主!
JDK它又叫做java开发者工具(Java Development Kit),打一个比方的话,它就是一个提供开发者用的电脑软件,这个软件可以用来编程开发。他和jre是一个包含的关系,如果你不要进行编程开发,仅仅想运行由java编写的程序的话,那么使用安装jre就可以了。当然jre是包含在java开发者工具之中。所以你没有必要进行重复的安装。
软件下载地址 https://www.oracle.com/ 需要注册登录后完成下载
目前最新的java SE版本达到了16,下载地址:https://www.oracle.com/java/technologies/javase-jdk16-downloads.html
也可以利用国内平台https://www.jdkdownload.com/
Java体系结构
大致分为SE/EE/ME,不同的结构包含的“类”不一样。
java开发大致要把EE和SE学明白。
java核心机制
垃圾收集机制
程序在运行时候,内存会为其开辟一个个空间使之运行;程序停止,空间将被清理释放
美丽的街道上,出现纸屑,烟头之类的可以称之为垃圾,这样的垃圾,需要及时的进行清理
java面试题
1.垃圾收集器有几种?
2.垃圾收集器底层原理剖析。
垃圾收集器算法和如何优化?
跨平台原理
业界严格意义上对跨平台,指的是编译后的文件是否可以跨平台!
java是一个解释型的语言 并且可以Compile once, run everywhere!
后缀为.java的文件称之为源文件,后缀为.class的文件称之字节码文件;这个字节码文件可以通过不同平台来进行执行!
JDK包含了虚拟机,编译执行功能,因此需要安装这个软件才具备java的开发环境!
常用的DOS命令
java环境准备
软件下载地址:链接:https://pan.baidu.com/s/1OCX5naiMpJrqX6g3RWGXMw
提取码:m1ut
复制这段内容后打开百度网盘手机App,操作更方便哦--来自百度网盘超级会员V6的分享
;
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的分享
安装很简单,不做演示!
设置notepad++
相关软件的环境变量
Windows环境变量位置
在环境变量中,不只有path这个环境变量,还有很多的变量,而现在需要改动的就是这path的环境变量
我列出了我电脑中path的环境变量中的具体值
在命令控制台执行打开notepad++程序
因此,需要将notepad++这个命令所在的路径配置在Path中,系统会帮助你在所有路径中寻找
再寻找notepadd++时,首先系统会在你当前的路径下寻找,若是没有,就去path路径中去寻找notepad++命令,path中有则正常打开,没有输出错误提示!
第一段java程序
这里我选择notepad++的记事本写一个新的java代码。
源文件编译字节码文件
在编译和翻译过程中javac.exe和java.exe,都存在JDK中,很多java程序都存在这里面。
修改JDK软件包环境变量:
配置好JDK的环境变量后,进行源文件编译时,出现报错:
将类的名字和文件名字取消空格后进行编译 I:\javafile>javac Thefirstcode.java 成功编译!
编译过程产生字节码文件
执行字节码文件,注意:请勿补全.class,要不然会报错!
代码显示:将双引号内的内容原样输出!
注意代码的结构,新手会遇到一些常见问题:
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代码!");
}
}
path环境变量扩展
classpath扩展
作用:专门针对java执行字节码文件而产生的环境变量,可以在任意路径下去执行(翻译).class文件。
默认情况的配置变量值是 .\(当前路径)在执行java的字节码文件时候,就会去这个配置的路径下寻找与之对应的字节码文件
Java_Home 扩展
作用:例如,Tomcat启动时,会在系统环境变量中寻找java_home这个软件(默认是没有的)。
初学者阶段用不上,后期tomcat学习的时候涉及解决startup.bat启动闪退问题
JDK文档
类似一个索引字典,遇到不明白的地方可以查询这个文档