- 博客(14)
- 资源 (1)
- 收藏
- 关注
原创 深度分析MySQL的InnoDB存储引擎
MVCC、Undo日志用于事务回滚。Redo日志是用于数据持久化。隔离级别ACID.隔离级别读未提交/读已提交/可重复读/串行化。
2024-03-24 11:36:15 724
原创 JDK22对G1垃圾收集器的优化(JNI临界区导致GC停滞)
JVM在触发GC如果发现有线程正处在JNI临界区的时候,会暂停GC动作,直到在离开JNI临界区的时候会再触发GC动作。此次优化便借鉴了固定region区域的特性来解决临界区的问题。当某个region区域增加了临界对象的时候,就会有一个计数器进行+1操作,当某个区域释放了某个临界对象后,就会在计数器进行-1操作,如果某个region区域的临界对象数为0时,就表明这个region区域是个普通的区域,可以正常进行GC回收操作。
2024-03-23 17:52:14 896 1
原创 JVM加载类过程的深入分析
JVM的类加载过程以及类加载器,双亲委派加载机制。以及相关源码分析引导类加载器/启动类加载器/BootstrapClassLoader 扩展类加载器/ExtClassLoader应用类加载器/AppClassLoader
2023-12-23 15:53:22 361
原创 使用@Builder后,mybatis查询数据时报类型转换异常的错误,附源码分析过程
使用@Builder后,mybtis报错DataIntegrityViolationException,类型转换异常。原因就出在@Builder,此注解会生成一个显示的全参构造,然后由于dao层接口中并没有使用resultMap,所以会根据resultType创建查询结果的返回对象,然后咱们TestBean没有默认的无参构造,mybatis只会根据全参构造创建对象。那但是咱们的TestBean参数与select * 的返回结果并不是一对一的,所以导致了报错,解决方案:增加一个无参构造,或者有参构造一一对应
2023-04-16 00:03:27 1456
原创 快速易懂理解JVM中HotSpot虚拟机的不同垃圾收集器
此文章主要从判断对象是否存活的引用计数法、可达性分析来展开讲解,先是对垃圾收集器中的算法做了介绍:如标记-清除算法、标记-复制算法、标记-回收算法。介绍了各种垃圾收集器:Serial、Serial Old、ParNew、Parallel Scavenge、Parallel Old、CMS、G1、Shenandaoh、ZGC。
2023-04-02 23:50:45 708
原创 Spring Bean生命周期(简单易懂)
Java中的对象不一定是Spring IOC中的Bean,Spring IOC中的Bean一定是Java对象Bean默认为Singleton(单例),Bean的创建与销毁都归由Spring IOC管理(prototype(原型/多例)除外)一个对象转为Bean并由Spring IOC管理的过程如下,即一个Bean的生命周期如下如图所示:如果简单来讲,笼统概括的话就四步:1.实例化2.设置属性值3.初始化4.销毁但是详细来说,会有很多细节需要注意,例如1.第六步和第
2022-03-20 15:37:40 2642
原创 redis的数据持久化、数据删除策略、雪崩\穿透\击穿问题处理
Redis知识什么是Redis数据持久化数据删除策略什么是RedisRedis是一个基于内存读写数据的高性能非关系型数据库,数据格式以key-value形式存储。企业开发中常用来存放缓存数据,减少关系型数据库的压力,提高请求的响应效率。数据持久化:AOF/RDB缓存雪崩,穿透,击穿
2020-10-28 15:53:34 582
原创 Java线程的创建、启动、停止
java 线程实现/创建的方式、启动、停止Java单线程与多线程单线程继承Thread类创建线程类实现Runnable接口创建线程run方法和start方法的区别终止线程的方法单线程继承Thread类创建线程类public class LogInfo extends Thread{ @Override public void run(){ for(int i=0; i<5; i++){
2020-07-28 14:33:53 1723
原创 JBoss服务安装与VDB的部署
1.JBoss服务安装1.环境准备1) 系统环境:此文章是在Win10环境下安装,Linux环境应该大同小异,本人未在Linux上安装过2)软件环境:jdk1.8及以上2.安装并启动JBoss1) 解压缩teiid-9.3.5.zip包,2) 配置环境变量,变量名:JBOSS_HOME,变量值为JBoss安装目录3) 解压缩后teiid-9.3.5\bin\路径下,执行standalone.bat文件启动JBoss服务此压缩包可以在官网进行下载,http://teiid.
2020-06-10 17:01:42 463
原创 JNA实现Java调用C++
JNA实现Java调用C++场景JNA介绍如何使用JNAJNA的方法映射基本数据类型基本数据类型场景公司有一个C++的SDK需要调用,本人是Java开发,所以使用JNA调用C++,在这里分享一些JNA的使用经验供大家参考JNA介绍JNA是JNI的封装升级,但是JNI的使用比较繁琐,有兴趣的可以自行了解JNA官网地址:链接地址如何使用JNA集成JNA包<dependency...
2020-04-30 14:31:22 2138
原创 Java8 的一些常用场景
简介Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本,有自己的独特编程风格,使代码更简洁化。编程风格import java.util.Collections;import java.util.List;import java.util.ArrayList;import java.util.Comparator; public class Jav...
2019-02-14 17:32:47 348
原创 Java 接入 钉钉API
前言: 本人在单位做了一个简单的HR招聘管理系统,后续扩展打算将此系统与公司管理系统——钉钉 相结合,于是从钉钉官网的开放API出发,对钉钉的对接有了一个简单的了解。对接简介 根据人事的需求场景,本人需要用到钉钉API的功能主要有: 授权:获取access_token 信息:员工信息、组织机构信息、入职人员添加...
2019-01-28 17:11:00 26910 25
原创 SpringBoot静态资源映射配置分析
SpringMVC和SpringBoot静态资源映射配置 包含各种配置 代码配置,xml配置,yml配置,yaml配置,一目了然
2018-12-10 15:40:58 965
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人