《从Java入门到架构师》学习笔记

写于

马士兵教育,B站

P0.零基础到架构师学习路线

1.JavaSE课程介绍 - 基础: Java初步 数据类型 运算符 流程控制 方法和方法的重载 数组 IDEA 面向对象 - 进阶: 异常 常用类 集合 IO流 多线程 网络编程 2.2千个小时,定制化学习

P1 引入:授课说明

基础目录 Java基础:P1-P165 设计模式:P166-P186 游戏项目实战:P187-P245 Redis:P246-P256 简历模板:P257-P259 JVM,多线程:P260-P279 Spring全家桶:P280-P307 再造沟通项目指导:P308-P310 使用笔记软件:MyBase

第一章 初始Java

1.计算机语言的发展历史 2.Java简史 3.Java体系结构 4.Java的特性和优势 JavaSE,标准版本 JavaEE,企业版本 JavaME,微型版

Java核心机制

垃圾回收机制

内存自动清理

跨平台原理

  • Java跨平台原理 Hello.java源文件——(编译,javac.exe)——hello.class字节码文件——(执行,java.exe)——Windows系统上JVM虚拟机处理 虚拟机充当了“翻译官”,将字节码文件翻译成当前平台认识的可执行文件 在执行的时候,表面上调用的是java.exe,实际上在你调用java.exe的时候,会去动态调用JVM,JVM将字节码文件一行一行地解释成为当前操作系统认识的可执行文件的格式,因此Java是一个“解释型”的语言 实现一次编译,到处运行(Write Once, Run Everywhere)——跨平台原理,主要依靠不同平台的虚拟机
  • C语言的跨平台原理 Hello.c源文件——(编译,javac.exe)——hello.class字节码文件——(执行,java.exe)——Windows系统上JVM虚拟机处理
  • C跨平台与Java跨平台原理的区别 (1)Java的字节码文件是跟平台无关的,拿着这个字节码文件到不同的平台去运行 (2)C语言不同的平台有不同的编译器,编译器与平台相关,编译后的可执行文件也是跟平台相关的 实际上我们所说的跨平台指的是:编译后的文件是否跨平台;从这个角度来看,C语言不是跨平台;而网上很多人说C语言是跨平台,是指不同平台有不同的解释器,是指源文件跨平台 效率问题:C语言的效率要比Java效率高,因为它产生的可执行文件可以直接在平台上进行

常用DOS命令

DOS,Disk Operating System,磁盘操作系统,单用户、单任务 控制命令台:win+r —> cmd (1)切换盘符: (2)显示详细信息:dir (3)改变当前目录:cd (4) .代表当前目录 ..代表上层目录 (5)清屏:cls (6)切换历史命令:上、下箭头 (7)补全命令:tab键 (8)创建目录:md 删除目录:rd (9)复制文件:copy (10)删除文件:del,删除文件夹内部的文件而不是文件夹

Java环境准备

JDK:Java Development Kit ,编写Java程序的程序员使用的软件 JRE:Java Runtime Environment,运行Java程度的用户使用的软件

安装NotePad++

(1)安装记事本NotePad++ (2)安装直到完成 (3)打开记事本进行设置:设置->首选项 ,设置字体 (4)打开NotePad++ ①通过快捷键或者可执行文件 ②利用控制命令台,win+ r -> cmd ③在任意的路径下执行notepad++.exe这个命令,但是发现报错,因此需要设置环境变量 找系统环境变更:此电脑——>属性——>高级系统设置——>高级——>环境变量——>

前端交付的页面是 html 页面。以往开发时,需要将其转换成 jsp 页面,jsp 的优势在于,当查询到一些数据并转发到 JSP 页面后,能轻松实现数据显示与交互等功能。jsp 功能强大,甚至支持编写 Java 代码。但在当前 SpringBoot 项目中,存在以下情况:一是项目以 jar 方式打包,而非 war;二是使用嵌入式 Tomcat ,其默认不支持 jsp。

若不支持 jsp,直接采用纯静态页面方式开发会带来诸多不便。为此,SpringBoot 推荐使用模板引擎。模板引擎种类繁多,jsp 其实就是一种模板引擎,常见的还有 freemarker ,以及 SpringBoot 推荐的 Thymeleaf 。尽管模板引擎数量众多,但它们的核心思想是一致的,具体可通过相关图示进一步了解。

将NotePad++所在的路径配置到path环境变更中:

image4 这样就可以在任意的路径下去执行这个命令(注意:控制命令台需要重启) Path环境变量的作用:将命令所在路径配置到path中去,就相当于在计算机中注册了一样

第一段程序编译执行

(1)用NotePad++编写代码 (2)进行编译 配置好javac.exe的环境变更后,在命令台执行javac HelloWorld.java (3)进行解释/翻译/执行 image6 上面代码成功执行的原因: Java.exe的路径也配置过了,helloWorld.class也确实在文件中放着并能成功找到

程序中常见问题

(1)最低级错误 :单词拼写、 (2)要求源文件的名字和类名必须一模一样 (3)所有的标点必须是在英文状态下的 (4)成对编程 (5)注意缩进:只要遇到花括号就缩进 缩进:tab 向前缩进:shitf+tab (6)编译: java.c HelloWorld.java (7)执行:java HelloWorld (8)Java中大小写严格区分,大小敏感 (9)我们要写代码,就当作有一个“框子” (10)在一个源文件中,可以有多个类,只能有一个类被public修饰;源文件的名字必须与public修饰的类名相同; 多个类会产生独立的类文件,执行的时候执行各自独立的字节码文件就可 不能

编译方式

【1】方式1:win+r 【2】在文件路径里录入cmd 【3】 【4】在notepad中右键文件—》打开文件夹所在命令行

扩展:Classpath环境变量

【1】系统中一个环境变量叫:classpath,现在将它显式地写出来 Classpath作用:只要配置到classpath路径,在执行java的字节码文件时,就会去配置的路径下找对应的字节码文件;配置好这个环境变量后,就可以在任意的路径下执行java文件 针对java执行字节码文件而产生的环境变量

扩展:Java_Home环境变量

Tomcat,在执行startup.bat的时候会出现闪退 解决办法:必须要配置一个环境变量:JAVA_HOME,jdk所在位置 image8 则在path环境变量中刚好可以借助JAVA_HOME的路径,通过%%引入 %JAVA_HOME%\bin

API-JAVA文档

JDK帮助文档,理解API是“字典”、“使用文档”

代码量统计工具

countLine

单行注释、多行注释

// / / 作用: 【1】方便理解、使用 【2】方便调试

文档注释

文档注释以/ 开头以/结尾,注释中包含一些说明性的文字以及一些JavaDoc标签(后续写项目时,可以生成项目的API) 一般文档注释可以配合:JDK提供的工具javadoc.exe一起使用,生成一套以网页形式体现的该程序的说明文档

反编译工具的使用

Java反编译工具:jd-gui.exe

JDK、JRE、JVM的区别

image9 JVM是java虚拟机,是整个java中最核心的东西,但它需要调用 lib