- MySQL25
- java11
- ECS10
- Linux10
- python10
- nowcoder9
- git6
- go6
- spring6
- Computer Base6
- wsl5
- 源码分析4
- computer tower4
- postgresql3
- Logging Framework3
- c3
- Environment setup3
- redis2
- 架构2
- docker2
- Intro2
- c++2
- milvus2
- wechat2
- MySQL查询深入优化2
- interview2
- architect1
- Tools1
- icon1
- markdown1
- docker compose1
- Nginx1
- k8s1
- ssh1
- springboot1
- Design Patterns1
- Term1
- CLion1
- windows1
- chocolatey1
- Blog1
- vue1
- trouble shooting1
Less than 1 minute
Java 虚拟机是一台包含类加载、运行时数据区、垃圾收集算法、Java 虚拟机指令优化等功能的一台【虚拟机】,就像一个接口,只是定义了一些方法和参数类型等,但是其内部的具体实现是没有的。
所以,说 Hotspot 是 Java 虚拟机没错,但是如果说 Java 虚拟机就是 Hotspot 则是错的,因为 Hotspot 虚拟机只是 Oracle JDK 的实现罢了,曾经的我也一度以为 Java 虚拟机就是 Hotspot ,Hotspot 就是 Java 虚拟机,后来也是在拜读了周志明老师的《深入理解Java虚拟机:JVM高级特性与最佳实践》一书后恍然。
此处引用官方对 Java 虚拟机的描述即
About 1 min
简单来说,类加载就是Java将 .class
文件加载到程序内存中,随时准备被调用,其中所做的一些列动作就是类加载,包括加载、连接、初始化三个步骤,其中连接又分为验证、准备、解析三步。。
加载(Loading)
这是类加载的第一步,其作用是通过类的全限定名来获取定义该类的二进制字节流(编译好的 .class 文件),然后将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构,最后在内存中生成一个代表这个类的 java.lang.Class
对象,作为方法区这个类的各种数据的访问入口。
About 6 min
About 2 min
本文对应的项目请参考demo gradle
项目结构
demo-gradle/
├── gradle/
│ └── wrapper/ // 包含 Gradle Wrapper 的 JAR 文件和配置文件
│ ├── gradle-wrapper.jar // Gradle Wrapper 的可执行 JAR 文件
│ └── gradle-wrapper.properties // 包含 Gradle Wrapper 的配置信息
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/
│ │ │ └── example/
│ │ │ └── project/
│ │ │ └── Main.java
│ │ └── resources/
│ │ └── application.properties
│ └── test/
│ ├── java/
│ │ └── com/
│ │ └── example/
│ │ └── project/
│ │ └── MainTest.java
│ └── resources/
│ └── test.properties
├── .gitignore
├── build.gradle // Gradle 构建脚本
├── gradlew // Gradle Wrapper 的可执行脚本
├── gradlew.bat // Gradle Wrapper 的 Windows 版本的可执行脚本
└── settings.gradle // Gradle 设置文件
About 4 min
Less than 1 minute
Less than 1 minute
简介
背景
Mybatis-plus: 3.5.2 springboot: 2.3.8.RELEASE
快速开始
添加依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>
About 3 min
依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
</dependency>
About 1 min
介绍
Swagger 又称Open API,是一种API规范,用于描述RESTful API,就像接口,只是定义需要哪些东西,但是不包括具体的实现。
springfox
使用前我们需要先了解一下springfox.
快速开始
pom
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
About 2 min