- 博客(20)
- 收藏
- 关注
原创 jvm学习
java源代码->二进制字节码->解释器->机器码->CPU记住下一条JVM指令的执行地址(解释器中)每个线程运行需要的内存空间栈帧:一个栈由多个栈帧组成每个方法运行时需要的内存参数局部变量返回地址每个线程只能有一个活动的栈帧,对应正在执行的方法方法执行完成,栈帧出战,对应方法的执行完成通过new关键字,创建对象都会使用堆内存不属于JVM内存,是操作系统内存类加载阶段可分为:加载->连接->初始化加载:将字节码.class文件通过类加载器加入到方法区。
2024-10-07 21:22:04
1399
原创 JUC初级(全部)
JUCModule java.base代码参考关键字:volatile部分汇总线程创建位置都是先穿件好?不是有new就直接创建线程,创建不管其中的方法是否阻塞,都先穿件好(一定不是等一个线程完成了再穿件下一个)基本原则:主线成创建线程,没有阻塞主线程,则主线程不管子线程的执行创建线程的方式继承Thread类实现Runnable接口实现Callable接口FutrueTask线程池线程池方式Constructor and DescriptionThre
2024-09-02 11:11:34
2125
原创 SpringBoot3.x整合Swagger(解决swagger2、swagger3不兼容问题)
的情况下,swagger的都是不行的。这里使用spring官方出品的springdoc-openapi。在使用springdoc-openapi的时候也有很多坑,首先版本也是不行的**,springdoc-openapi的版本必须是v2.x.x以上。**
2024-08-21 23:13:32
769
原创 SpringBoot日志框架
SpringBoot3 默认是使用 slf4j + Logback 作为默认的日志门面和实现,但也支持其他日志系统以导入 为例,它会导入 。 直接引入了 日志相关配配置spring-boot-starter-web的pom下spring-boot-starter的pom下:spring-boot默认的日志配置文件:(application.yaml)批量指定包日志格式格式:时间和日期:毫秒级精度日志级别:, , , , or 进程 ID消息分割符:线程名: 使用 [] 包
2024-08-21 10:40:15
723
原创 spring-AOP
实现目标:public double add(double i, double j) {try {//前置//核心代码//返回//错误return i+j;基于execution配置切点/*** <h1>增强类</h1>* 1.定义增强方法存储增强代码(根据插入位置选定)<p>* 2.使用注解指定插入目标方法的位置:<p>* 前置{@link org.aspectj.lang.annotation.Before}<p>
2024-08-11 15:39:39
340
原创 Spring-mybatis
Mybaits[问题]:对多查询没有映射成List!注意事项:标签内部的语句一定要避免在语句后面使用标注官方文档(中文)准备工作依赖导入pom.xml<!--myBatis驱动--><dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.16</ver
2024-08-11 15:34:25
368
原创 Golang学习记录10——切片(slice)(注意append)
定义一个切片,然后让切片去引用一个已经创建好的数组。//方式1:通过引用数组定义//引用全部//引用片段[2 3]通过make内置函数来创建切片。make()底层创建一个数组,对外不可见,所以不能直接操作这个数组,需要使用slice去间接访问各元素。make(数据类型, 长度 , [容量])//方式2:通过make内置函数创建-可不指定容量(只会默认长度容量)48[0 0 0 0]定一个切片,直接就指定具体数组,使用原理类似make的方式。
2023-12-09 23:39:31
2185
原创 Golang学习记录7——函数3(常用函数)
分配内存,按照指定数据类型分配一个内存,返回内存地址(int系列,float系列,bool,string、数组和结构体struct)分配内存,主要用来分配引用类型(指针、slice切片、map、管道chan、interface等),将字符串转为切片,然后使用for遍历。PS:区分大小写直接使用。
2023-12-02 23:01:00
435
原创 Golang学习记录6——函数2(包引入)
目录结构:code/└── go.mod包的定义:package utils //包的声明,规范上与文件夹名一致import ( //倒入所需函数"fmt"//定义包中的函数 utils1fmt.Println("程序调用了utils包中的utils1函数。")import (//上面的包是在GOROOT下src中寻找的"code/chapter5/demo6/untils" //gomod管理包,从项目开始导路径//特别注意。包内函数要被外界函数访问,函数首字母必须大写!
2023-12-02 20:23:54
2055
原创 Golang学习记录5——函数1(函数引入)
完成某一特定功能的代码片段函数定义格式func 函数名(形参列表——变量 类型,···)(返回值列表——类型,···) {//如果返回值类型就一个的话,那么()可以不用写 执行语句 return + 返回值列表 }PS:返回值列表只需要定义变量类型函数的定义和使用import ("fmt"return sumfmt.Println("和为",sum)函数之间为并列关系。
2023-11-28 21:11:40
953
1
原创 Golang学习记录4——流程控制
golang中使用lable来使用条件结束任意想结束循环break——结束后续循环;continue——结束本次循环的后续操作goto。
2023-11-27 00:02:11
410
原创 Java学习笔记——类和对象(详细,解释原理)(一)
面向对象对象(Object):面向对象编程:对象还有对象之间的关系Objects与Class:Object到Class是一种抽象的方式,Class到Object由抽象到具体即实例化的操作 (class是提取共同特征,通过class实例化得到Object)class:包括状态特征和行为特征对象分析状态特征:里面所需要的各种数据、信息行为特征:构造器:构造对象名称必须与类名相同、无返回类型,使用时通过new构造,可以重载。方法函数:需要对数据的处理,调用Object.Method,有
2020-06-21 15:49:23
260
原创 java 学习笔记————数组
数组数组元素可以是基本数据类型,也可以是类类型数组在使用之前必须先说明(定义) type arrayname[]; 或者type[] arraynametype arrayname[];type:基本数据类型(包括char 、String)、类类型arrayname:数组名标识符[]:该符号表示该变量为一个数组标量Java在数组的定义中不会为数组元素分配内存,所以在[]中不能指定数组长度创建数组在定义中没有为数组分配内存,要想应用数组必须给出数组长度,即创建数组,
2020-06-13 15:18:47
280
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人