自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 收藏
  • 关注

原创 《凤凰架构》读书笔记 —— 本地事务如何实现隔离性?

​ 隔离性保证了每个事务各自读、写的数据互相独立,不会彼此影响。只从定义上,我们就能感觉到隔离性肯定与并发密切相关。如果没有并发,所有事务全都是串行的,那就不需要任何隔离,或者说这样的访问具备了天然的隔离性。

2022-09-16 16:21:09 750 1

原创 《凤凰架构》读书笔记 —— 本地事务如何实现原子性和持久性?

​ 事务处理几乎是每一个信息系统中都会涉及到的问题,它存在的意义就是保证系统中的。​ 这就是ACID的概念。A I D 是手段, C 是目的。

2022-09-16 12:03:47 562

原创 ArrayList 源码笔记

ArrayList 源码笔记

2022-09-07 09:21:54 283

原创 2021-10-09 Kafka 阅读笔记 - 消息日志的删除

log.retention.hours 和 log.retention.ms 这两个配置项设置 Kafka 数据最大保留时间,默认为一周log.retention.bytes 设置 Kafka 每个分区保存数据的最大容量如果同时指定了 log.retention.hours 和 log.retention.bytes,那么只要任一条件得到满足,消息就会被删除例如,如果 log.retention.hours 设置为 24 (一天),log.retention.bytes 设置为 1000000000

2021-10-09 17:20:49 516 1

原创 Cookie与Session

我们都知道HTTP是无状态的,服务器不会记住浏览器信息,这就意味着每次刷新网页就要重新输入一次账号密码,非常麻烦。Cookie就是为了解决这一问题而出现的,当我们第一次访问服务器时,服务器在Response的响应头中设置set-cookie,浏览器接收并存储该值,下一次访问服务器会在请求头中带上cookie,服务器接收识别出cookie,能区分哪一台客户机的请求,相当于“记住”客户机了Session如今网站功能繁杂,涉及许多数据交互,这些数据可能结构复杂,数据量大,简单的cookie不足以支撑,这

2021-07-10 10:31:54 72

原创 2021-07-10 看linux笔记随笔

该文章内容并非原创,labuladong文章笔记。仅用于个人学习,侵删。对于Linux操作系统来说,进程就是一个数据结构,该数据结构就是linux对于一个数据的描述,部分源码:struct task_struct { // 进程状态 long state; // 虚拟内存结构体 struct mm_struct *mm; // 进程号 pid_t pid; // 指向父进程的指针 struct task_struct __rcu *parent; // 子进程列.

2021-07-10 09:43:09 87 2

原创 删除 @SessionAttributes 中的属性

做项目的使用用到 @SessionAttributes("user") 将用户存储在会话中以供后续访问,在注销时使用session.removeAttribute("user");发现删除不了需使用 sessionStatus.setComplete(); // 退出登陆 @GetMapping("/logout") public String logout(HttpSession session, SessionStatus sessionStatus) { se

2021-04-22 11:26:32 493

原创 牛课题记录:下面有关值类型和引用类型描述正确的是()?

下面有关值类型和引用类型描述正确的是()?A 值类型的变量赋值只是进行数据复制,创建一个同值的新对象,而引用类型变量赋值,仅仅是把对象的引用的指针赋值给变量,使它们共用一个内存地址。B 值类型数据是在栈上分配内存空间,它的变量直接包含变量的实例,使用效率相对较高。而引用类型数据是分配在堆上,引用类型的变量通常包含一个指向实例的指针,变量通过指针来引用实例。C 引用类型一般都具有继承性,但是值类型一般都是封装的,因此值类型不能作为其他任何类型的基类。D 值类型变量的作用域主要是在栈上分配内存空间内,

2021-04-03 12:59:13 1408

原创 类初始化顺序

类初始化顺序:初始化父类中的静态成员和静态代码块,初始化顺序取决于两者在代码中出现的顺序初始化子类中的静态成员和静态代码块,初始化顺序取决于两者在代码中出现的顺序初始化父类中的普通成员和普通代码块,初始化顺序取决于两者在代码中出现的顺序执行父类构造函数初始化子类中的普通成员和普通代码块,初始化顺序取决于两者在代码中出现的顺序执行子类构造函数...

2021-04-02 11:15:28 74

原创 org.thymeleaf.exceptions.TemplateProcessingException: Only variable expressions returning numbers or

Caused by: org.attoparser.ParseException: Only variable expressions returning numbers or booleans are allowed in this context, any other datatypes are not trusted in the context of this expression, including Strings or any other object that could be render

2021-03-15 10:55:24 1032

原创 Ajax 简单案例

Ajax 发送 GET // 1、创建对象 var xhr = new XMLHttpRequest(); // 2、初始化 设置 请求方法 url 是否异步(true为异步) xhr.open('GET', 'http://127.0.0.1:8888/ajax', true); // 3、发送 xhr.send(); /* 4、回调(处理服务端返回的数据) readyState: 0: 请求未初始

2021-02-19 16:10:20 1316

原创 Mybatis Plus 分页

依赖 <!-- Mybatis Plus (其中还包含了 Mybatis 和 jdbc) --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.

2021-02-14 11:04:37 711

原创 Java 等待(wait)和通知(notify )

读 Java 高并发程序设计 笔记为了支持多线程之间的通信,JDK 提供了两个非常重要的接口线程wait() 方法public final native void wait(long timeout) throws InterruptedException;public final void wait() throws InterruptedException { wait(0); }notify() 方法public final native void notify();publi

2020-11-26 15:38:01 272

原创 java 将十进制数转为二进制数以字符串形式打印出来

int i = 100; String s = ""; while (i > 0){ s = (i % 2) + s; i /= 2; } System.out.println(s);

2020-11-26 15:34:31 709 1

原创 重写了equals()方法一定要写hashcode()方法

hashcode() 在 Object 中默认实现是通过对象的内存地址返回一个哈希值equals() 在 Object 中默认实现是比较对象的内存地址假设一种情况:我们重写了equals()方法却没有重写hashcode()方法此时当我们在内存中 new 了两个对象,这两个对象的值相等(可以简单理解为对象内容相等,内容都是“1”),并且重写后的equals()方法也是比较值的,所以这两个对象equals()为true当我们这两个对象作为key,put进HashMap中时,由于HashMap是根据ke

2020-11-26 15:33:05 103

原创 《高性能 MySQL》读书笔记(一)—— MySQL 架构

MySQL 架构Mysql 逻辑架构客户端:负责连接 MySQL 服务器的各种工具和应用程序 ( 例如 m ysql 命令行工具、JDBC 等)连接管理:负责监听和管理客户端的连接及线程处理每个客户端都会在服务器进程中拥有一个线程,这个连接的查询只会在这个单独的线程中执行,该线程只能轮流在某个 CPU 核心或者 CUP 中允许服务器会负责缓存线程( MySQL 5.5 及以上支持线程池),因此需要为每一个连接创建或销毁线程查询缓存:缓存完整的 SELECT 查询结果。每次执行查询

2020-11-18 10:07:36 109 1

原创 SQL 杂项知识点回顾

采自《SQL 基础教程》涉及表shohinshohin2tenposhohin书写顺序:**SELECT** - FROM - WHERE - GROUP BY - HAVING - ORDER BY 执行顺序:FROM - WHERE - GROUP BY - HAVING - SELECT - ORDER BY只能使用 字母、数字、下划线 ( _ ) 作为数据库、表和列的名称,且 必须以字母开头char / varcharchar :定长字符串,当列中字符串长度不达到最大

2020-11-16 11:25:14 202

原创 类型转换问题(short s = 1; s+=1; s=s+1)

非包装类型情况 1:情况 2:包装类型:情况 1:

2020-10-18 09:09:30 351

原创 String 作为方法参数的一道题

牛客的一道题public class SendValue{ public String str="6"; public void change(String str) { str="10"; } public static void main(String[] args) { SendValue sv=new SendValue(); sv.change(sv.str); System.out.println(sv.str); }}答案是 6。简单解释就是 Strin

2020-09-23 10:23:28 266

原创 Spring5 AOP 注解使用

概述    在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。    AO

2020-08-16 10:37:09 411

原创 Sentinel 简单使用

下载安装Sentinel控制台jar 包下载地址https://github.com/alibaba/Sentinel/releases/tag/1.7.2java -jar命令运行 jar 包访问 localhost:8080 ,默认用户名密码均为 sentinel登陆后Sentinel 的初始化监控先启动 nacos, 用其做服务注册中心新建Module引入依赖 <!--SpringCloud ailibaba nacos --> <dependency&

2020-08-08 10:48:08 3461

原创 Windows系统中Nacos的下载安装及使用

Nocos的下载安装已更新到 1.3.1https://github.com/alibaba/nacos/releases/tag/1.3.1解压后 cmd 进入解压后的bin目录,运行startup.cmd启动nacos访问 localhost:8848/nacos/index.htmlnacos已成功安装运行!SpringCloud + Nacos使用Nacos作为服务注册中心1. 父工程POM中引入依赖 <dependency> <groupId&gt

2020-08-04 09:53:17 14251 1

原创 服务调用 OpenFeign 的使用步骤

有一个微服务 cloud-payment-service它的controller提供查询方法@RestControllerpublic class PaymentController { @GetMapping(value = "/payment/get/{id}") public CommonResult<Payment> getPaymentById(...){ ... } }要在另一个微服务中调用该服务的查询方法

2020-08-01 10:58:43 652

原创 服务注册中心 Eureka 使用步骤

首先是Eureka服务注册中心EurekaServer的创建1. 引入依赖 <dependencies> <!--eureka-server--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netfl

2020-08-01 10:07:38 617

原创 Mybatis传入参数为集合时(List、Array)

List// 添加多个用户void addUsers(List<User> users);传入的是单参数且参数类型是一个List的时候,collection属性值为list <!-- 添加多个用户 --> <insert id="addUsers" useGeneratedKeys="true" keyProperty="id" > insert into user (username, password) values

2020-06-21 10:17:00 844

原创 Mybatis报错:Cause: org.apache.ibatis.binding.BindingException: Parameter xxx not found

使用mybatis报错在插入语句中报错org.apache.ibatis.exceptions.PersistenceException: ### Error updating database. Cause: org.apache.ibatis.binding.BindingException: Parameter 'username' not found. Available parameters are [arg1, arg0, param1, param2]### The error may

2020-06-19 11:24:18 4461 7

原创 Java对象的创建过程(博文参照深入理解Java虚拟机)

博文中讨论的对象仅限普通Java对象Person person = new Person("小明");虚拟机检查Person类是否已经被加载、解析和初始化过。如果没有,那必须先执行类加载过程。类加载检查通过后,接下来虚拟机为新生对象分配内存虚拟机将分配到的内存空间(但不包括对象头)都初始化为零值,如果使用了TLAB(本地线程分配缓冲 Thread Local Allocation Buffer),这一项工作也可以提前至TLAB分配时顺利进行。虚拟机设置对象头的信息:这个对象是哪个类的实例、GC

2020-06-13 10:16:59 97

原创 String 中 intern 方法的理解

intern用于将字符串存入字符串常量池中,但在不同的JDK版本中有不同之处:JDK 6中,将调用该方法的字符串对象S尝试放入字符串常量池中(JDK 6字符串常量池在永久代中)如果字符串常量池中已经存在与S内容相同(equal 判断为true)的字符串对象,则不会放入,返回已存在的字符串对象的地址如果字符串常量池中不存在与S内容相同的字符串对象,则会将S复制一份存入字符串常量池中,并返回其地址JDK 7起中,将调用该方法的字符串对象S尝试放入字符串常量池中(JDK 7起,字符串常量池在堆中)

2020-06-10 20:46:01 162

原创 JVM双亲委派机制

Java有三大类加载器启动类加载器 BootstrapClassLoader (也成引导类加载器)c++ 编写的类加载器,用来加载java核心类库jre/lib/rt.jar, 例如我们熟悉的String是ExtClassLoader和ExtClassLoader的父类加载器扩展类加载器 ExtClassLoaderjava 编写的类加载器,从java.ext.dirs系统属性所指定的目录中加载类库,或从JDK安装目录的jre/lib/ext子目录(扩展目录)下加载类库。系统类加载器

2020-05-23 11:35:26 142

原创 为什么说Java是半编译半解释的语言

首先计算机只认识机器指令码,也就是 01010101001…我们使用高级语言(java、python、C…)编写的程序想要执行,就要把我们写的程序变成计算机可以识别的二进制语言(也就是机器指令码,也称机器码),才能在计算机上运行高级语言按程序的执行方式可分为编译型语言和解释型语言先看百度百科对两者的定义:编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成 为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。解释型语言:程序不需要编译,程序在运行时才翻译成机器语言,每执

2020-05-21 17:04:00 1821 2

原创 Mybati使用xml配置传入中文参数无返回值问题

<select id="getRoleByTag" parameterType="string" resultType="com.ly.arknights.bean.Role"> select * from role where tags like '%远程位%' </select>xml如上,传入的是中文参数,无法查询出...

2020-04-04 10:35:20 190

原创 Mysql启动报错:Job for mysqld.service failed because the control process exited with error code.

centos7上使用yum安装mysql后,启动报错[root@localhost ~]# systemctl start mysqldJob for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journ...

2020-03-01 20:22:12 14818 12

原创 SpringBoot 学习: SpringBoot整合RabbitMQ

创建项目配置在测试类中测试 @Autowired RabbitTemplate rabbitTemplate; /** * 点对点单播 */ @Test void contextLoads() { Map<String,Object> map = new HashMap<>();...

2020-02-17 11:46:46 136

原创 SpringBoot学习:整合JPA

引入依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId&g...

2020-02-14 09:30:18 99

原创 SpringBoot学习:SpringBoot 整合 Mybatis

搭建环境配置druid数据源<!-- 引入 druid log4j --><dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.8</version>...

2020-02-13 11:02:07 98

原创 SpringBoot2手动配置HiddenHttpMethodFilter

配置文件中加上spring.mvc.hiddenmethod.filter.enabled=true

2020-02-07 09:20:55 2108 2

原创 SpringBoot切换thymeleaf版本

pom文件中<properties> <thymeleaf.version>3.0.9.RELEASE</thymeleaf.version> <!-- 布局功能 --> <thymeleaf-layout-dialect.version>2.2.2</thymeleaf-layou...

2020-01-17 10:55:19 692 1

原创 spring boot 更新到2.0+中配置项目访问路径变化

弃用 server.context-path改为 server.servlet.context-path

2020-01-15 09:52:01 154

原创 SSM异常:org.springframework.beans.factory.UnsatisfiedDependency

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'adminService': Unsatisfied dependency expressed through field 'adminDao'; nested exception is org.sprin...

2020-01-01 10:40:03 751 1

原创 2019/11/13~19:jQuery

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script src="web/js/jquery-3.4.1.min.js"></script>&lt...

2019-12-26 15:21:51 87

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除