01-环境搭建(Java基础)

339 阅读13分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路

感谢你的路过,希望学生的笔记能给你一点微不足道的参考(1/100) Java基础思维导图,完整Java体系的链接 在这里插入图片描述

一,Java 体系与特点

1.1Java体系怎么组成?

两部分:

    Java SE(标准版):各应用平台的基础,桌面开发和低端商务应用的解决方案。解决基本问题

    Java EE(企业版):以企业为环境而开发应用程序的解决方案。解决企业问题。

1.2java可以做什么?

    开发桌面应用程序 ,web 应用,提供各行业的解决方案,进行嵌入式开发

1.3Java的特性?

    面向对象的语言。 (面向对象举例:洗衣服) 跨平台,用处多,安全性高。

1.3.1Java的安全性高体现再哪里?

(1)语言层次的安全性主要体现在:

取消指针:而代之以引用。由于指针可进行移动运可能存储着重要数据或者是其他程序运行所占用的,并且使用指针也容易数组越界。

垃圾回收机制:不需要程序员直接控制内存回收,由垃圾回收器在后台自动回收不再使用的内存。避免程序忘记及时回收,导致内存泄露。避免程序错误回收程序核心类库的内存,导致系统崩溃。

异常处理机制:Java异常机制主要依赖于try、catch、finally、throw、throws五个关键字。

强制类型转换:只有在满足强制转换规则的情况下才能强转成功。

底层的安全性:Java在字节码的传输过程中使用了公开密钥加密机制(PKC)。

(2)在运行环境提供了四级安全性保障机制(疑惑,但目前不用理解):

字节码校验器 -类装载器 -运行时内存布局 -文件访问限制

1.3.2为什么Java可以跨平台?

  举例子:翻译,JVM(Java虚拟机)相当于翻译。任何系统上都有对应的JVM运行Java字节码。 在这里插入图片描述

二,Java的JVM 与 GC

2.1Java虚拟机了解一下?

在这里插入图片描述     JVM 可以理解成一个可运行 Java 字节码的虚拟计算机系统 :     它有一个解释器组件,可以实现 Java 字节码和计算机操作系统之间的通信     对于不同的运行平台,有不同 的 JVM。

2.2Java的垃圾回收器?

    不再使用的内存空间应当进行回收垃圾回收。

    在 C/C++等语言中,由程序员负责回收无用内存。

    Java 语言消除了程序员回收无用内存空间的责任:

    JVM 提供了一种系统线程跟踪存储空间的分配情况。并在 JVM 的空闲时,检查并释放那些可以被释放的存储空间。 垃圾回收器在 Java 程序运行过程中自动启用,程序员无法精确控制和干预

三,jdk与jRE

3.1Java SE 的组成概念图

在这里插入图片描述

3.2JDK 与JRE ?

    JDK-Java 开发工具集

    JRE-运行时环境

    JVM -Java API (应用程序编程接口) , Java 编译器(javac.exe)、Java 运行时解释器(java.exe)、Java 文档化化工具(javadoc.exe)及其它工具及资源

    JDK > JRE > JVM

3.3JRE 的三项主要功能?

    加载代码:由类加载器(class loader)完成;

    校验代码:由字节码校验器(byte code verifier)完成;

    执行代码:由运行时解释器(runtime interpreter)完成。

四,常见的DOS命令

4.1进入DOS操作窗口:

   按下Windows+R键盘,打开运行窗口,输入cmd回车,进入到DOS的操作窗口

4.2常用命令:

    命令 操作符号

    盘符切换命令 盘符名:

    查看当前文件夹 dir

    进入文件夹命令 cd 文件夹名

    退出文件夹命令 cd..

    退出到磁盘根目录 cd\

    清屏 cls

    X:进入F盘中的某个目录:如要进入 X盘 目录, 则在上面的基础上输入 X:然后回车,这样就进入了X这个目录了。-进入不同的磁盘

    进入文件夹命令 cd 文件夹名 -在同一磁盘中切换目录

五,Java软件安装

5.1下载安装包

5.1.1百度云下载路径:

    链接:pan.baidu.com/s/1E7DK2x-H…     提取码:1111

推荐直接下载文档最后分享的文件,那里有Java环境搭建Mac工具,Windows工具。环境搭建学习目标,课件与笔记,作业

5.1.2.如果大家想下载别的版本

(1)可以去oracle官网下载. 在这里插入图片描述 (2)下拉页面,找到下载区域,点击Java。 在这里插入图片描述 (3)点击Java(JDK) for Developers。 在这里插入图片描述 (4)这时进入了JDK的下载页面,不过这里显示的是JDK的最新版本但一般情况下开发人员会选择之前的版本,更稳定。可以根据个人需要进行选择,如果想要下载其他版本的JDK,将页面下拉到底部。

在这里插入图片描述 (5)找到Java Archive(Java的档案),即Java之前其他的历史版本文件。点DOWNLOAD。 在这里插入图片描述 (6)进来可以看到有多种版本,根据个人需要选择版本。 在这里插入图片描述 (7)进入JDK1.8的下载页面,可以看到适用于多种操作系统环境的JDK。在下载之前需要点击Accept License Agreement(接受许可协议)。 在这里插入图片描述 (8)根据电脑配置选择你们想要的版本下载安装包,如:64位的Windows系统就点击jdk-8u221-windows-x64.exe进行下载。 在这里插入图片描述

5.2,jdk安装

5.2.1.下载好安装包后,再自己电脑上专门的地方新建文件夹

在这里插入图片描述

5.2.2.下载好了安装包后,双击进入安装向导。点击下一步

在这里插入图片描述 在这里插入图片描述

5.2.3.默认会在C盘,这里选择更改安装路径到我们新建的文件夹.

在这里插入图片描述

5.2.4.图中是本人的安装路径,大家可以参照我的命名方式去选择安装路径。选完之后,然后按确定。

在这里插入图片描述

5.2.5.点击下一步

在这里插入图片描述

5.2.6.正在安装

在这里插入图片描述

5.2.7.安装结束,点击关闭

在这里插入图片描述

5.3,环境变量修改

jdk安装的步骤基本上没有什么难度,接下来主要是进行Java环境变量的配置。配置环境变量可以为我们的命令执行提供了一个外部命令目录配置我是w10,所以直接在path下配置环境变量

5.3.1.打开“此电脑”,右键选择属性,选择高级系统设置。

在这里插入图片描述 在这里插入图片描述

5.3.2.点击“环境变量”。

在这里插入图片描述

5.3.3.windous添加环境变量

在这里插入图片描述 在这里插入图片描述

5.4、检验是否配置成功

5.4.1.按键盘win+R,打开运行,输入cmd 指令,点击确定进入命令行窗口。

在这里插入图片描述

5.4.2.输入java -version获取当前安装的 jdk 的版本信息(注意:java后面有个空格)

在这里插入图片描述

5.4.3.检验javac.exe命令。

在这里插入图片描述

5.4.4.检验java.exe命令。

在这里插入图片描述     按理说,以上就算配置成功了! 但是因为我下载了两个版本jdk的原因,可以发现电脑显示的是之前的jdk版本信息。

5.5,一台电脑安装两个不同版本jdk,实现不同版本切换

    在实际开发中,可能会碰到不同项目需要利用不同jdk版本进行开发,这时候就需要我们安装不同jdk版本,实现不同项目进行jdk切换了。可根据需求下载不同jdk版本,这地方我安装了jdk1.8,jdk11。更改path的配置,如下图。 在这里插入图片描述 如果此时java版本没有切换,请按照接下来步骤继续操作

5.5.1.删除C:\Windows\System32目录下的与java相关的运行程序

列如java.exe,javax.exe,javac.exe。如果没有相关java程序请忽略

5.5.2.删除C:\Program Files (x86)\Common Files\Oracle\Java\javapath、C:\ProgramData\Oracle\Java\javapath

    (因为path中配置了引用)的javapath的快捷图标和Java相关的运行程序。如果没有相关java程序请忽略

5.5.3.从注册表(运行regedit)中删除jdk的默认启动的版本。

    在HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft的Java Development Kit的CurrentVersion项的值和Java Runtime Environment的CurrentVersion项的值   (1)windows +R 输入regedit 在这里插入图片描述   (2)找到HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft的Java Development Kit的CurrentVersion项的值和Java Runtime Environment的CurrentVersion项的值 在这里插入图片描述 在这里插入图片描述 修改这两样默认值为空即可

5.6,Eclipse安装与项目搭建

  解压就能用。不设置默认工作空间。这里我懒的写了,直接附参考。

5.6.1Eclipse常见设置?

(1)如何将Eclipse设置为中文版?   参考链接:blog.csdn.net/a2580ah/art… (2)Eclipse常见设置   调整文字大小与背景不列,占地。   参考链接:www.cnblogs.com/maoniu602/p…

5.6.2工作空间怎么设置?

  在进行项目搭建时,我发现如果设置了默认的工作空间,会非常不适合代码库的构建,所以我准备每创建一个项目用一个新的工作空间。 (1)怎么取消默认工作空间?   参考链接:blog.csdn.net/gnail_oug/a…

六,自动关机程序

6.1三种注释

 描述:    //单行注释    //多行注释    / */文档注释

6.1.1更改Eclipse文档注释模板

   位置:Window–>Preferences–>Java–>Code Style --> Code Templates --> Comments --> types --> Edit    安装自己想要修改文档注释模板就可以了。

6.1.2注释规范(了解)

   1. 【强制】类、类属性、类方法的注释必须使用 Javadoc 规范,使用/*内容/格式,不得使用 // xxx 方式。

  1. 【强制】所有的抽象方法(包括接口中的方法)必须要用 Javadoc 注释、除了返回值、参数、 异常说明外,还必   须指出该方法做什么事情,实现什么功能。 说明:对子类的实现要求,或者调用注意事项,请一并说明。

  2. 【强制】所有的类都必须添加创建者和创建日期。

  3. 【强制】方法内部单行注释,在被注释语句上方另起一行,使用//注释。方法内部多行注释 使用/**/注释,注意与代码对齐。

  4. 【强制】所有的枚举类型字段必须要有注释,说明每个数据项的用途。

  5. 【推荐】与其“半吊子”英文来注释,不如用中文注释把问题说清楚。专有名词与关键字保持 英文原文即可。    反例:“TCP 连接超时”解释成“传输控制协议连接超时”,理解反而费脑筋。

  6. 【推荐】代码修改的同时,注释也要进行相应的修改,尤其是参数、返回值、异常、核心逻辑 等的修改。    说明:代码与注释更新不同步,就像路网与导航软件更新不同步一样,如果导航软件严重滞后, 就失去了导航的意义。

  7. 【参考】谨慎注释掉代码。在上方详细说明,而不是简单地注释掉。如果无用,则删除。    说明:代码被注释掉有两种可能性:(1)后续会恢复此段代码逻辑。(2)永久不用。前者如果没 有备注信息,难以知晓注释动机。后者建议直接删掉(代码仓库保存了历史代码)。

  8. 【参考】对于注释的要求:第一、能够准确反应设计思想和代码逻辑;第二、能够描述业务含 义,使别的程序员能够迅速了解到代码背后的信息。完全没有注释的大段代码对于阅读者形同 天书,注释是给自己看的,即使隔很长时间,也能清晰理解当时的思路;注释也是给继任者看 的,使其能够快速接替自己的工作。

  9. 【参考】好的命名、代码结构是自解释的,注释力求精简准确、表达到位。避免出现注释的 一个极端:过多过滥的注释,代码的逻辑一旦修改,修改注释是相当大的负担。    反例: // put elephant into fridge put(elephant, fridge); 方法名 put,加上两个有意义的变量名 elephant 和 fridge,已经说明了这是在干什么,语义清晰的代码不需要额外的注释。

  10. 【参考】特殊注释标记,请注明标记人与标记时间。注意及时处理这些标记,通过标记扫描, 经常清理此类标记。线上故障有时候就是来源于这些标记处的代码。       (1) 待办事宜(TODO):( 标记人,标记时间,[预计处理时间]) 表示需要实现,但目前还未实现的功能。这实际上是一个 Javadoc 的标签,目前的 Javadoc 还没有实现,但已经被广泛使用。只能应用于类,接口和方法(因为它是一个 Javadoc 标签)。

      (2) 错误,不能工作(FIXME):(标记人,标记时间,[预计处理时间]) 在注释中用 FIXME 标记某代码是错误的,而且不能工作,需要及时纠正的情况 6.1.3例子:

1 	/**
    2 	 * 文档注释
    3 	 * @param args
    4 	 */
    5 	public static void main(String[] args) {
    6 	        // TODO Auto-generated method stub
    7 	        //单行注释
    8 	        /*
    9 	         * 多行注释
   10 	         */
   11 	}
   12 	
   13 	关机程序:
   14 	// 3600s后自动关机
   15 	Runtime.getRuntime().exec("shutdown -s -t 3600");
   16 	// 取消自动关机
   17 	Runtime.getRuntime().exec("shutdown -a");
   18 	/*
   19 	 * Runtime.getRuntime(); 可以取得当前JVM的运行时环境,这也是在Java中唯一一个得到运行时环境的方法。
   20 	 * Runtime.getRuntime().exec(); 调用服务器命令脚本来执行功能需要
   21 	 * shutdown:关机命令
   22 	 *         -s:关闭本地计算机
   23 		-f:强行关闭应用程序
   24 		-m:\\计算机名:控制远程计算机
   25 		-a:取消关机操作
   26 		-i:显示图形用户界面,但必须是Shutdown的第一个选项
   27 		-l:注销当前用户
   28 		-r:关机并重新启动
   29 		-t:时间:设置关机倒计时
   30 		-c:"消息内容":输入关机对话框中的消息内容(不能超127个字符)
 	 */

七,代码语句分类

   代码可分为结构定义语句,功能执行语句。结构定义语句是大括号,层关系。功能执行语句描述具体功能,必要以英文符号结尾。

参考:距离记笔记的时候过了一段时间,如果我的笔记有明显借鉴了您的内容,请见谅。(我记忆力很差的,当初写笔记的时候,参考文档记录的可能不全)

Java安全性参考文档:www.doc88.com/p-336468603…

下载安装包参考文档:blog.csdn.net/weixin_4408…

一台电脑安装两个不同版本jdk,实现不同版本切换参考文档:blog.csdn.net/programming…

资料下载链接(笔记+代码+其他):百度网盘 链接:pan.baidu.com/s/1S4yfCmTP…

提取码:1111 感谢阅读,祝你从此一帆风顺。