本文除了搭建是重点,其他的都当阅读小说一样去看就好了,不想看可以直接抓住重点,我会改变颜色勾出重点!

英语是人与人交流沟通的重要方式之一。JAVA:是人与计算机沟通交流重要方式之一。我们除了用java语言,也可以用最新的python C C++ C# asp php Go 语言等等。编程的世界,就是建立人与计算机交互的介子,是翻译官,也是游乐场的修理人员,最重要的是他也是一名工匠。他既要保证 人 能与计算机 交互,又要保证 人在与计算机交互式,人不能超过自己代码范围以外的交互。比如:不能让人破解了自家公司的产品,就如同游乐场的设施维修一样重要!

JAVA语言:只不是过是众多语言中的一种,他最终的作用就是充当翻译机,他最终的目的就是将你写的整个代码翻译成01的储存在计算机硬盘上,他的所有类型也都不过是最终储存在计算机里的0和1,他说有的函数最终也是计算机里的01组合,想明白了,就不会晕C语言的指针了,最终不过是一片01,所谓的地址不过是我们脑子自己构造的一个能够理解的方便理解计算机储存的方法,他不是实际的是我们脑子抽象出来的,我们把所有的储存以功能分区,分空间。比如:将内存这块分为四区,分别储存不同的代码! 编程的语言发展到至今,他是由复杂到简化,由简化到对象。 JAVA语言就是完全面对对象的语言,准确的说是面对对象。它具备:安全可靠,跨平台的语言,写法严谨的语言。

安全可靠:JAVA语言安全可靠不是说他编写的东西别人不能破解,非常安全。恰恰相反,编程语言发展到至今,语言只是提供给你的编写工具,而不代表他要为你产品在破解方面负责,而跨平台的先天给反编译提供了一个良好的突破点。而相对C语言这种 直接转码机器语言的来说,就不存在 能够从你编译的产品里直接获取到你的源代码。实际上即使跨平台也无法完全得到你产品的全部代码以及资源,因为计编译时本身就会丢失许多代码块!

跨平台语言:他已经是不可逆的发展,现代开发编程语言团队,要么缔造出一个全新更好的编程模式,要么就会继承跨平台这个因素去开发。那么我们这里就要知道,什么是跨平台,他有什么好处?在地球,我们有许多国家,有中国 美国 日本 韩国,他们就像几个供人类活动交互的平台,电脑也有供人类活动交互的平台 XP 和 LINUX UNIX 等等 我们人类现在规定人类交互十大通用语言:  汉语、英语、西班牙语、法语、葡萄牙语、阿拉伯语、俄语、日语、德语、韩语。 而要是在计算机中我们的编程语言编译出一个产品,他不能互相跨平台使用,那是很尴尬的事情,不仅开发周期长的问题,开发成本也提高了一倍。所以为了使所有语言都具备可以共同运行一个产品,一次编程终生受益,就推出跨平台的理念,而跨平台理念在JAVA语言,的实现,就是通过JAVA虚拟机来实现。  就好像我们人类交流,语言不通时,打开翻译APP或者请个翻译官让它给我们两个人交流时进行语言互通。但是计算机不一样,我们人类通常是一个系列的不同型号。而计算机中的系统完全是不同系列的。所以JAVA干脆通过一个虚拟机来实现,开发团队们在每一个系统上开发一套虚拟机,而这个虚拟机的特点就是能够知道JAVA代码,所以我们编写JAVA程序实际是在对应虚拟机,并非原系统,虚拟机的好坏也是决定我们代码的一部分,他不同C这种语言,代码的好坏由编写者绝对,而JAVA的编写的好坏,虚拟机的版本你可以以后让他背一部分锅。

写法严谨:在我们编写C语言的时候,不定哪里写溢出,以及乱用代码都是没毛病的,除了翻译器会纠正部分错误,但是最终也有漏网之鱼,但是JAVA就不同了,你要是类型不严谨,以及break没有条件情况下他的下面还写代码,那么java编译器都是会报错的。这就是语言和系统 和语言和虚拟机之间的区别,JAVA开发了虚拟机,他就可以控制你代码整体,而C语言是对系统,所以C语言有很大局限没法你程序的严谨,只能给你纠错一些常见的。

JAVA语言的历史:如果先讲历史,根据我们一贯在学校学习的态度,一个老师直接上去就给你讲方程式,不告诉你这个方程式是针对什么的,你绝对听不进去的。而如果英语老师在学习英语之前就告诉你,我们学会英语,我们可以去游轮上面打工,工资很高,而且外国人还给小费。韩日印基汗这些国家小孩子都会简单的交流,而我们国家的孩子对于英语大部分就跟白痴一样。如果你不学习英语,你以后学习编程连帮助文档都看不懂,你学会了编程又能怎样,还不是什么都做不了。这时候你带着需求你都会去学习英语,和为什么学习都不知道去学习就有很大区别了。比如现在我告诉你,JAVA语言是由 斯坦福大学1995年推出的一门高级语言,一种面向网络的编程语言,他带着:面向对象的思想来到一直在挣扎中加班的程序员们的生活,让他们不再为加班而烦恼,而且为再度学习一门语言而苦恼,有的甚至走向了职业生涯的终结。 是不是很有魅力,干死一片老程序员,哈哈

JAV语言的搭建环境

在搭建JAVA环境之前,我们要明白两个点:1.JRE  2.JDK 是什么玩意!

JRE: 是JAVA运行环境,包括JVM(JAVA虚拟机 英文:Java Virtual Machine) 和 JAVA程序需要的 核心类库 如果只是运行JAVA程序,只需要安装JRE就好了。

JDK:JAVA的开发包,包括程序需要的工具,同时他也附带了JRE。顺便告诉你,JAVA安装会安装两个JRE ,但是你最好都安装上!

搭建环境步骤:

1.下载安装

2.配置系统环境

3.调试JAVAC命令

4.调试JAVA命令

5.老规矩,编写一段代码,打印出"HOLLE WORD"

----------------------------------------------------------------------------下面是环境搭建的过程图片!

1.进入官网下载页面或者百度下载 JRD开发包 官网地址:http://www.oracle.com/technetwork/java/

2.然后双击运行下载文件。进入安装文件!

3.点击下一步

4.注意我红色框起来的部分,如果你要更改默认的安装目录,点击更改设置你需要更改的目录,然后点击下一步,进入安装!

5.这时会弹出JRE的安装,请注意因为JDK自己带了一个JRE,此时如果安装同目录就覆盖原来JDK自带的JRE,所以推荐在同目录创建一个JRE+版本号的目录。

附:这里就是JRE的安装,你创建一个目录JRE1.8.0到同目录或者直接默认都可以,然后点击下一步!

6.安装完毕后,此时先打开CMD进入安装的jdk目录 输入javac命令(编译器)

7.在输入java命令(执行JAVA程序)

8.如果以上输入以上命令,能正常显示以上内容,说明安装成功。此时我们需要配置系统变量。 那么我们就要搞明白为什么要配置系统变量?

在有的时候,比如我们编写完代码我们存放在D盘,而此时我们需要编译运行文件就需要先进入到JAVA目录,然后在后面输入文件的路径!

此时我们先看下Dome代码:

然后打开CMD 使用JAVAC命令编译。

此时我们如果不是在javaJDK的安装目录里运行,是会提示JAVAC不是内部或外部命令,所以我们先进入,JAVA的安装目录里的BIN目录下

此时我们再用JAVAC编译Dome.java代码试试:

未提示错误,然后在看看D盘该目录是否已经编译出class文件

此时就可以看到该目录多了一个class文件,这就是虚拟机翻译出来的WINDOWS环境下可以运行的代码。

然后我们运行一下该代码,看看是否能运行:

居然提示不能运行,我靠,当时看到这里,我赶紧先去检测了一遍代码,然后又和老师的代码对了一遍,然后想到是不是编码问题,反正搞了一大堆问题,直到最后,平经验觉得可能是JAVA这个命令的问题,于是我就将CLASS放在了JAVA目录,居然可以运行。那么说明一个什么问题?

看看,如果放在java自己的目录是可以运行的! 之后我当然是蒙蔽了,跑去加的QQ交流群去询问,然后又在贴吧发帖。注意就是今天

呵呵,贴吧和QQ群果然是坑,除了营销,装逼,没有一点营养,深深的让我感觉,平时应该注意找到好的平台,遇到问题就不会这么浪费时间蒙蔽。然后又去百度,你能信,你百度这个问题居然不存在完美的回答,一直给你闪烁class path Package 关键词

然后我又自己想了想,老师讲的只是如何配置环境,并没有讲他娘的,自己在CMD该如何运行,要不他娘的就先不管,以后再说,毕竟学习编程就要明白,你就算死吭老师讲的每一点,你也是没法学会他教的所有的内容的,因为编程语言很多情况下是不需要理由就是学习到最后才能看明白的。然后回到博客,本来不打算写这一块了,但是:突然又有几个问题。这一块到底重不重要?是不是和后面的内容有没有关系。很显然是不重要的,和你学习Java的后半辈子也没有一点关系。比较以后都是用工具,但是他还是重要的,因为包含了学习包的概念问题,而且学的周期紧或过长,忘记了第一课这个问题,你就等着蒙蔽恶补吧!在我懵逼中,写笔记反正是进行不下去了。索性,百度了classpath 哇擦 让你豁然开朗。

下面就来讲解下为什么会出现这种情况!

说到这里,我们就要知道Java的一个class path的环境,类路径? class我们编译出来的文件,后面也有class,相比你已经猜到他们的联系了,这不就是说这个class类型的路径么。没毛病,继续想,class path 刚才提到包,莫非他们有某种联系。简单的来说:CLASSPATH:Java虚拟机和编译器会通过这个环境变量来查找java类文件和包的位置。 默认的classpath是当前目录,也就是C:\Program Files (x86)\IDE\java\jdk\bin这个目录,所以我刚才执行时,居然能执行出来,算是运气好。学习这东西光有人品不行,如果不明白每一个该明白知识点的小点,学东西就非常累,而且不容易坚持。如何明白该明白的知识点? 千万不要看书,看书就死,也不要看几百集的教材,更不要看几分钟的然后有几百集的教程,要找几天入门的那种以便一节课25分钟的视频,比较出名点的最好,这里就不推荐了,自己找到才能总结自己的经验,靠别人直接获取,永远不会有记性!

默认的classpath是当前cmd目录,因为我们程序文件在d盘,而我们开发环境在C盘,很明显不是当前目录,这时候我们就需要手动设置:

查看classpath 命令: set classpath         修改classpath 命令: set classpath=文件目录

如果你没定义,显示的就是classpath,此时我们定义为Dome文件的目录

然后查看:

这样说明定义成功。此时我们在使用java命令看看效果:

没毛病吧!

重要整理点:1.我们没配置classpath时,classpath是当前目录。2.配置和查看命令  3.Javac和Java的以上特点。

如果我们编程,每一次都需要进入Java目录,然后在进行环境配置,如果我们文件比较多,岂不是配置环境很麻烦。比如此时我们有一个在C盘有一个类在D盘,我们可以set classpath=C:\; D:\; 要是不同文件夹,这的多麻烦,所以一劳永逸,就是设置一个系统变量,然后灵活运用,java默认是当前目录这个特点!

我电脑是WIN10 如果要设置 别的系统,自行百度,有很多笔记供你选择,这个直接跟着操作,没多大意思!

首先我们右键我的电脑->属性->环境变量:

然后在系统变量里找到path变量,点击编辑:

新建一个写上你JAVA 安装目录,记住是根目录那个BIN,不是JRE文件里面的BIN,然后点击确定。

完事后:首先关掉原来测试的CMD,因为CMD必须要关闭在打开才会重新加载新的文件,或者其他命令手动加载,这个我们就没必要深究了,总之关了,再打开!然后数个javac看看

然后我们到Dome目录执行一下Holle,word看看

没毛病,所谓的整个程序就算好了。最后一点,就是JAVA这东西虽说不是天天更新,但是为了避免以后更新又加上系统变量里面东西多,向我那个多安装点程序,python 到时候更新版本修改麻烦。所以一般老师傅都告诉我们这样配置一下。

在系统变量新建一个JAVA_HOME 系统变量:

然后在到path目录这样写:

然后点确定,我们这次再来测试一下效果!

没毛病!虽然现在看起作用不大,但是这些东西都是老师傅们的经验,尊重用一下!

总结一下:

配置环境:

1.安装-测试javac java 或则 java -version(看当前JAVA版本信息)!

2.classpath

3.系统变量配置

关于classpath还有一个类似的就是path 就是设置javac文件路径,实际JAVAC在哪不重要,重要的是在JAVA运行,所以就没有描述,如果要想了解,百度,有很多老师傅的博客写的很详细!

最后:本文学习文章,大概也许有一些不是正确知识,如果有错误,老师傅们请在留言区给大家纠正一下,先谢谢了!

  

转载请注明出处!!!

Java基础笔记(1) 语言 JAVA的历史 Java的搭建环境的更多相关文章

  1. Java学习笔记:语言基础

    Java学习笔记:语言基础 2014-1-31   最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...

  2. Java基础笔记 – Annotation注解的介绍和使用 自定义注解

    Java基础笔记 – Annotation注解的介绍和使用 自定义注解 本文由arthinking发表于5年前 | Java基础 | 评论数 7 |  被围观 25,969 views+ 1.Anno ...

  3. 【转】Java基础笔记 – 枚举类型的使用介绍和静态导入--不错

    原文网址:http://www.itzhai.com/java-based-notes-introduction-and-use-of-an-enumeration-type-static-impor ...

  4. 黑马程序员----java基础笔记上(毕向东)

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 笔记一共记录了毕向东的java基础的25天课程,分上.中.下 本片为上篇,涵盖前10天课程 1. ...

  5. 【疯狂Java学习笔记】【第一章:Java语言概述】

    [学习笔记]1.Java与C#的异同:Java与C#的相同之处有很多,它们均摒弃了C++面向对象的多继承.宏定义.全局变量.全局函数.指针等等难以使用的机制,添加进了成熟的机制,如垃圾回收.接口等等. ...

  6. Java基础笔记(一)

    本文主要是我在看<疯狂Java讲义>时的读书笔记,阅读的比较仓促,就用 markdown 写了个概要. 第一章 Java概述 Java SE:(Java Platform, Standar ...

  7. JAVA基础笔记10-11-12-13-14

    十.今日内容介绍 1.继承 2.抽象类 3.综合案例---员工类系列定义 01继承的概述 *A:继承的概念 *a:继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系 *b:在J ...

  8. 转!java基础笔记

    原博文地址:http://blog.csdn.net/u012152619/article/details/48024345 Java标识符 Java所有的组成部分都需要名字.类名.变量名以及方法名都 ...

  9. 黑马程序员----java基础笔记中(毕向东)

    <p>------<a href="http://www.itheima.com" target="blank">Java培训.Andr ...

随机推荐

  1. [umbraco] 数据结构

    我想此图就能说明一切了,不需要再废话了

  2. Xamarin中 ios 修改Assets.xcassets 文件后 无法调试和编译

    根本问题是因为 vs项目里面 没有包含 如果提示找不到对应png 请检查 iOS 项目卸载后 编辑 并找到对应文件检查 <ImageAsset Include="Assets.xcas ...

  3. 课程一(Neural Networks and Deep Learning),第二周(Basics of Neural Network programming)—— 2、编程作业常见问题与答案(Programming Assignment FAQ)

    Please note that when you are working on the programming exercise you will find comments that say &q ...

  4. Hadoop2源码分析-MapReduce篇

    1.概述 前面我们已经对Hadoop有了一个初步认识,接下来我们开始学习Hadoop的一些核心的功能,其中包含mapreduce,fs,hdfs,ipc,io,yarn,今天为大家分享的是mapred ...

  5. nginx反向代理如何获取真实IP?

    由于客户端和web服务器之间增加了中间层,因此web服务器无法直接拿到客户端的ip,通过$remote_addr变量拿到的将是反向代理服务器的ip地址. 1.安装--with-http_realip_ ...

  6. [Python] 震惊, 我居然用Python干这种事ꈍ .̮ ꈍ

    阅读本文只需花费你两分钟, 两分钟你买不了吃亏,你也买不了上当. 那么, 为何不静下心来看看呢? Python 海龟创意绘画, Turtle库创作精美图画 Author:Amd794     E-ma ...

  7. TCP连接的TIME_WAIT和CLOSE_WAIT 状态解说

    相信很多运维工程师遇到过这样一个情形: 用户反馈网站访问巨慢, 网络延迟等问题, 然后就迫切地登录服务器,终端输入命令"netstat -anp | grep TIME_WAIT | wc ...

  8. Python3 中使用sys.argv详解

    #/usr/bin/env python #coding:utf-8 import sys # print(sys.argv[1]) def readFile(filename): "&qu ...

  9. (win10)Wamp环境下php升级至PHP7.2

    (win10)Wamp环境下php升级至PHP7.2 ①下载php7.2到本地 链接:https://pan.baidu.com/s/16jqmF7GR_CRklHPAZ9VRrg 密码:4ob4 ② ...

  10. ConcurrentHashmap源码好好给你说明白

    这个ConcurrentHashmap的设计非常精妙,如果有疑问的地方,欢迎大家在评论区进行激烈讨论! 一.静态工具方法 private static final int tableSizeFor(i ...