JavaSE 第一章 初识JAVA

本文章基于b站:BV1fP4y147zf 赵珊珊老师的java课程的学习加以个人理解做出的学习笔记整理。(p1-p31)

先学大框架,再扣小细节

目录

Java基础介绍

核心机制

常用DOS命令

配置环境变量参数

path

classpath

 JAVA_HOME

常见错误

API

文档注释

 print与转义字符

 JDK、JRE、JVM


Java基础介绍

JavaSE(Java Standard Edition):标准版,定位在个人计算机上的应用
JavaEE(Java Enterprise Edition):企业版,定位在服务器端的应用 
JavaME(Java Micro Edition):微型版,定位在消费电子产品的应用
JavaSE 第一章 初识JAVA_第1张图片

核心机制

垃圾回收机制
当创建对象时,会分配一块空间。垃圾收集的目的是回收不再使用的对象,它在对象创建时开始监视对象的状态,并主要用于释放内存
1.垃圾收集是将不再使用的内存空间回收的过程,也被称为垃圾回收。
2.Java消除了程序员回收无用内存空间的责任,提供了一种系统级线程来跟踪存储空间的分配情况。在JVM空闲时,会检查并释放可被释放的存储器空间。
相比于C++,开发人员不需要手动回收无用内存。
3.垃圾收集在Java程序运行过程中自动进行,程序员无法精确控制和干预
4.垃圾收集的自动回收提高了内存空间的利用效率,同时也提高了编程人员的效率。它极大程度上减少了因未释放空间而导致的内存泄漏问题。

跨平台原理JavaSE 第一章 初识JAVA_第2张图片

常用DOS命令

DOS (Disk Operating System) 磁盘操作系统,单用户、单任务的操作系统(只能执行一个任务)

 (0)打开终端: win+R,输入cmd
 (1)切换盘符: c: d: e: 没有大小写区分
 (2)显示详细信息: dir
 (3)改变当前目录: cd 例:cd test
 (4)当前目录:.        上一层目录..
 (5)清屏: cls
 (6)切换历史命令:上下箭头
 (7)补全命令: tab
 (8)创建目录: md        删除目录: rd
 (9)复制文件命令: copy 例:copy demo.txt a\test.txt (将该目录下的demo.txt复制到a目录下的test.txt)
 (10)删除文件:del (如果后面接的是文件夹/目录,那么删除的是这个文件夹下的文件,而非文件夹)

配置环境变量参数

path

path,告诉系统,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统出了在当前目录下寻找此程序,还应到哪些目录下寻找

例:jdk8/bin/ 之下有javac.exe、java.exe,故配置路径【jdk8/bin/】

JavaSE 第一章 初识JAVA_第3张图片

classpath

系统有一个环境变量叫:classpath,现在我们将classpath环境变量显式的写出来

JavaSE 第一章 初识JAVA_第4张图片
classpath作用:在执行java的字节码文件时,就会去到这个配置的路径下找对应的字节码文件;
若更改到字节码文件所在目录的路径
JavaSE 第一章 初识JAVA_第5张图片
cmd中输入:java Test
 现在当前目录下找java.exe、Test.class字节码文件,找不到时,去path、classpath配置的路径下找对应的文件;

总结:
classpath作用:针对java执行字节码文件而产生的环境变量,只要配置了字节码文件所在的路径之后,那么就可以在任意位置都可以执行对应的字节码文件

 JAVA_HOME

解决apache-tomcat/bin/startup.bat闪退问题:配置到jdk所在位置,即bin上一级

JavaSE 第一章 初识JAVA_第6张图片
在path环境变量中可以借助JAVA_HOME里的内容,通过%%做引入
%JAVA_HOME%\bin

常见错误

(1)一个源文件中可以有多个类,只能有一个类被public修饰源文件的名字必须跟public修饰的那个类名保持一致
        多个类会产生独立的字节码文件。执行时,执行各自独立的字节码文件。
JavaSE 第一章 初识JAVA_第7张图片

API

Application Programming Interface,应用程序接口是一组定义了软件组件之间如何相互通信的规则和约定。它提供了一种让不同的软件系统、库或服务之间进行交互的方式。

API可以被视为一个桥梁,使得不同的软件模块或系统能够共享功能、数据和服务,而无需了解内部实现的细节。通过使用API,开发人员可以直接调用预先定义好的函数、方法或类,并且可以传递参数和获取返回值以完成特定的任务。

API可以支持不同类型的应用,例如Web应用、移动应用或操作系统。常见的API包括操作系统API(如Windows API、Android API),网络API(如HTTP、RESTful API),数据库API(如JDBC),第三方库的API等。

通过使用API,开发人员可以更加高效地编写代码,减少重复工作,并且可以利用其他开发人员构建的现有功能和服务。这样有助于提高软件开发的速度、可靠性和灵活性。

文档注释

/** */文档注释配合:jdk提供的工具javadoc.exe(和javac.exe、java.exe在同一目录之下)一起使用,通过javadoc.exe可以对文档注释进行解析,生成一套以网页文件形式体现的该程序的说明文档。

-d myHello: 这个参数表示指定生成的文档的输出目录为myHello,也就是将生成的HTML文件放置在myHello目录中。
-author: 这个参数表示在生成的文档中包含作者信息。当源代码中有注释标记了作者信息时,生成的文档会显示该作者的信息。
-version: 这个参数表示在生成的文档中包含版本信息。当源代码中有注释标记了版本信息时,生成的文档会显示该版本的信息。
HelloWorld3.java是指要生成文档的源代码文件名,使用javadoc工具将会根据这个源代码文件生成相应的文档。

JavaSE 第一章 初识JAVA_第8张图片JavaSE 第一章 初识JAVA_第9张图片

 print与转义字符

JavaSE 第一章 初识JAVA_第10张图片JavaSE 第一章 初识JAVA_第11张图片
在IDEA中\t为四个空格的距离,\t的含义:\t后一个元素距离前面有一个制表符的距离,上述例子,即\t之后的“2”距离左边有四个空格的距离,及时空格上有其他元素。

 JDK、JRE、JVM

JDK(Java Development kit)编写Java程序的程序员使用的软件
JRE(Java Runtime Enviroment)运行Java程序的用户使用的软件
JVM(Java Virtual Machine)Java虚拟机 
JavaSE 第一章 初识JAVA_第12张图片

JDK与JRE
dt.jar和tools.jar(位于jdk/lib/之下)是Java中常用的包,其中tools.jar提供了编译器及相关工具,而dt.jar则包含了多个功能包括重要的lang包和可视化的swing包。它们对于Java的开发是非常重要和必不可少的。
在系统的环境变量中将JDK的bin目录添加到Path路径中,这样就可以直接在命令行中执行java、javadoc等可执行的Java编译器和工具。然而,输入javac命令时实际上是通过调用JDK中lib目录下的tools.jar里的com.sun.tools.javac.Main类来执行,因此javac.exe只是一个包装器(Wrapper),其存在是为了简化开发者输入过长的命令
虽然JDK 8自带了JRE。但是有时候,我们可能需要单独使用 JRE,比如在某些情况下只需要运行 Java 应用程序而不进行开发。此时,可以使用独立的 JRE,而不必依赖于 JDK。故在某些情况下仍然需要下载、安装和配置一个独立的JRE。以满足特定需求或兼容性要求
当有多个JRE安装在系统中时,JDK中的java.exe会先搜索自身目录,然后是父级目录,最后才会检索注册表(regedit)的配置信息,以确定要运行的JRE版本。

JRE与JVM
JVM+lib=JRE;bin里的就是JVM,lib中则是JVM工作时所需要的类库

JavaSE 第一章 初识JAVA_第13张图片JavaSE 第一章 初识JAVA_第14张图片

你可能感兴趣的:(java,java)