Java学习笔记之path、classpath、java_home配置

Java学习手册

本内容完全原创,转载请注明出处: https://www.jianshu.com/p/d6fa6831bec6
本次主题模块模板javase到javaee的课程文档内容。如果你也喜欢编程,可以加老薛的qq:1811112688,一起学习,一起进步。

(一):Readme

1-1:学习编程方法

1:唯手熟尔(编程一定是建立在多敲的基础上的)
2:明日复明日,明日何其多(学习过程中的问题不要遗留到第二天再解决)
3:工欲善其事,必先利其器(学会使用百度、google等工具,会自己解决问题)
4:三人行必有吾师(同学之间一定要互相帮助,相互学习。遇到问题互相讨论)

1-2:如何选择一门初学语言

选择第一门编程语言,个人还是比较建议从以下几个维度去考量。

学习周期和学习成本

市场占用率和行业前景

你是否真的愿意从事开发工作或者从事IT方向?

1-3:计算机发展历史

•计算机的诞生: 1946年2月14日,在美国宾夕法尼亚大学,世界上第一台电子数字计算机ENIAC。

•第一代 电子管计算机(1946-1957)特点是操作指令是为特定任务而编制的,体积大,每种机器有各自不同的机器语言,功能受到限制,速度也慢,维护困难且价格昂贵。在软件上,通常使用机器语言或者汇编语言来编写应用程序

•第二代晶体管计算机(1958-1964)在整体性能上,比第一代计算机有了很大的提高。同时程序语言也相应的出现了,如FortranCobol,Algo1 60 等计算机高级语言。

•第三代 中小规模集成电路计算机(1965-1971)20世纪60年代中期,随着半导体工艺的发展,成功制造了集成电路。中小规模集成电路成为计算机的主要部件.在软件方面,有了标准化的程序设计语言和人机会话式的Basic语言,C语言。

•第四代大规模和超大规模集成电路计算机(1971-2018)随着大规模集成电路的成功制作并用于计算机硬件生产过程,计算机的体积进一步缩小,性能进一步提高,出现了精简指令集计算机,在软件方面,人们发现Java、C++等语言由于具有“面向问题”、“非过程化程度高”等特点,可以成数量级地提高软件生产率。

•目前的发展趋势是向巨型化、微型化、网络化和智能化这4个方向发展。

巨型化是指具有运算速度高、存储容量大、功能更完善的计算机系统,其运算速度一般在百亿次每秒、存储容量超过百万兆字节。主要用于航空航天、军事、气象、人工智能、生物工程等学科领域。

微型化得益于大规模和超大规模集成电路的飞速发展,微处理器自1971年问世以来,发展非常迅速,几乎每隔两三年就会更新换代一次,这也使以微处理器为核心的微型计算机的性能不断跃升。

网络化是指利用通信技术和计算机技术,把分布在不同地点的计算机互连起来,按照网络协议相互通信,以达到所有用户都可共享数据和软硬件资源的目的,现在,计算机网络在交通、金融、企业管理、教育、邮电、商业等各行各业中得到广泛的应用。

智能化就是要求计算机能模拟人的感觉和思维能力,也是第五代计算机要实现的目标。

–展望未来,计算机的发展必然要经历很多新的突破。从目前的发展趋势来看,未来的计算机将是微电子技术、光学技术、超导技术和生物技术相互结合的产物。

(二):第一个HelloWorld

2-1:编程语言的发展历史

image

机器语言:典型的2进制文件 和计算机交流

汇编语言:通过大量的助记符表示一些基本的操作指令 完成计算机沟通

高级语言:通过常用的英语指令编写程序 完成沟通

常见的高级语言:除了之前提到过的以外

ortran: 是IBM在1954年提出的。主要用在要求复杂数学计算的科学和工程领域。现在仍然被广泛使用,尤其是工程领域。

COBOL: 于1959年提出。主要用于大量精确处理数据的商业领域中,比如金融、银行。今天,仍然有超过一半的商业软件使用COBOL编写。有将近100万人使用COBOL编程。

PASCAL:几乎和C同时提出。是nicklaus wirth教授为了大学教授编写的。由于没有大厂商和政府的支持,只是限于大学教育这一块。

ADA: ada以pascal为基本参照,是美国国防部(DOD)为了编写他庞大的命令和控制系统软件而设计的。他的一个重要的特性就是多任务,使用它编写的程序可以同时处理多项事务。JAVA也支持多线程。

2-2:Java语言发展历史

image
2-2-1:简单介绍:
i:由sun公司开发的一门高级编程语言。
ii:面向互联网Internet的编程语言
iii:sun公司在09年被Oracle公司收购
2-2-2:技术架构方向
JavaSE: java基础和个人计算机应用(接下来我们要学习)
JavaEE: 开发企业环境下的应用开发 (以后的重点)
JavaME: 嵌入开发 塞班系统 市场占有率较低 了解即可
2-2-3:Java语言特点
跨平台:

通过java编写的应用程序在不同的操作系统下都可以执行,屏蔽了平台差异性。

特简单:

屏蔽了大量的一个保留字 比如goto typedef等等 使用简答 没有指针

安全的:

没有指针 提供了内存管理机制 垃圾回收机制 安全机制等

完全面向对象

封装 继承 多态 语法更加清晰 所需要资源更少 后期更加利于拓展

2-3:常见的DOC命令

image

2-4:Java程序如何做到跨平台

image

A:一个.java文件被编译器编译为和平台无关的字节码文件.class

B:通过在不同平台(操作系统)安装对应的JVM,交由解释器开始解释执行

重点:Java之所以能够跨平台,就是由于Java中的jvm(Java VIRTUAL MACHINE)存在。JVM就是一个虚拟的用于执行bytecodes字节码的计算机它可以将我们编写好的java代码 编译为何平台无关的字节码文件,之后解释执行。

缺点:需要先将对应的.java文件变为.class文件。其实严格意义上讲,真正的跨平台是由jvm去执行的.class文件而执行的。这样的效率就会稍差,因为.class文件再要产生对应机器的机器码才能继续执行。所幸由JNI(just in time)即时编译

2-5:JDK的安装和卸载

2-5-1:环境搭建:

为了让操作系统,能够识别我们编写的代码,需要在电脑上安装jdk。

2-5-2:区别:

JDK java development kit java开发包,主要用于做java开发
JRE Java Runtime Environment java运行时环境,主要用于执行测试 java代码
JVM Java Vritual Machine java虚拟机,用来解释执行字节码文件

2-5-3:关系:

jdk属于jre的超集 jre属于jvm的超集

2-5-4:安装:

A、 进入官网直接下载自己需要的版本 下载地址

B、 用我发的 😋

推荐使用jdk8或者jdk11

2-5-5:具体安装步骤

傻瓜式安装即可,下一步,一直到确定即可。

2-5-6 测试是否安装成功:

打开cmd(按下键盘window+r键,然后输入cmd回车即可)中输入java 以及java -version,如果出现了选项卡,则证明安装成功。

2-5-7:查看安装目录中的bin文件夹

在bin目录中有几个常见的执行程序需要注意一下

image

2-5-8:编写第一个helloworld程序

public class Demo{
    public static void main(String[] args){
        System.out.println("hello world");
    }
}

第一步:进入指定文件目录的中,执行javac Demo.java ,出现报错信息,javac不是内部或者外部命令。

原因分析:由于我们只是将jdk安装了,但是操作系统无法识别安装程序中的可执行程序,所以报错。

解决办法:准备配置环境变量。右击计算机->点击属性->选择高级系统设置->选择环境变量->在系统变量找到path,将路径拷贝进去即可

image

第二步:重启cmd之后,进入到Demo.java文件的所在目录,依次执行javac Demo.java,和java Demo。即可获取到正确的结果。

2-5-9:环境变量的一些其他配置

问题1:编译和运行.java文件以及.class文件时,所在目录和文件所在目录不在同一个目录。

解决办法:编译时,通过使用

javac 路径\文件 
例子:javac c:\User\wawjyh\Demo.java

解决办法:执行时,通过使用

java -classpath 路径\ 文件名 /**注意后面的空格**/
例子:java -classpath c:\User\wawjyh\Demo

解决办法2:设置classpath​

image

设置classpath的缺点,一般情况下,设置完classpath之后首先会在当前目录下寻找.class文件,如果没有则去classpath设置的路径下寻找.class文件。

问题2:设置JAVA_HOME

>如果要更改jdk版本,需要重新再指定一次jdk版本,比较麻烦,可以直接设置javahome,避免多次设置值。具体设置如下
image

image

PS:设置完成之后一定记得重启cmd即可配置生效。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,922评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,591评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,546评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,467评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,553评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,580评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,588评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,334评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,780评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,092评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,270评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,925评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,573评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,194评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,437评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,154评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352

推荐阅读更多精彩内容

  • 精心收集整理的教程笔记 第01天 Java基础入门 第1章计算机基础 1.1计算机 计算机(computer)俗称...
    Java帮帮阅读 5,957评论 1 109
  • 转自陈明乾的博客,可能有一定更新。 转原文声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、...
    C86guli阅读 4,679评论 6 72
  • TITLE: 编程语言乱炖 码农最大的烦恼——编程语言太多。不是我不学习,这世界变化快! 有时候还是蛮怀念十几、二...
    码园老农阅读 5,312评论 2 35
  • 很久没有写字了,提起笔,打开文档,仿佛脑子就能僵硬的停下来,时而脑海空白,时而觉得文字无法描述心情。上午闲...
    光阴拾荒阅读 235评论 0 0
  • 肩周炎 (即肩关节周围炎,俗称“凝肩”、“五十肩”) 定义:以肩部产生疼痛为主要特征,逐渐加重,夜间为甚,肩关节活...
    万佳医疗阅读 368评论 0 0