自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 我的2023年终总结

我的2023年终总结——关乎我的价值观,理想和远见、强者思维和弱者思维、精神世界的探索、人生目标、关于工作、教育、爱情的思考。

2023-12-31 00:03:13 422 1

原创 SQL面试题复盘

这样是不对的,结果是只有account列取的最小,其他列取的不是对应account所在行的记录,为每个user_name第一条记录。看到这个题目,细心的同学可能已经发现,是按客户分组取金额最小。MYSQL的group by是不稳定的,5.6和5.7版本执行结果有差别——

2023-06-16 11:00:15 53

原创 MySQL基础

依次从最优到最差分别为:system > const > eq_ref > ref > range > index > ALL。追求大致的平衡,导致树的高度较高,在内存中性能高。这一列表示关联类型或访问类型,即MySQL决定如何查找表中的行,查找数据行记录的大概范围。区别:聚簇索引叶子节点保存数据的值,非聚簇索引叶子节点保存指向数据的指针。AVL树:自平衡二叉树,增删元素时,需要多次旋转,性能差。B+树:只有叶子节点存放数据,相邻叶子节点有连接。如果索引包含所有要查询字段的值,则叫覆盖索引。

2023-06-06 16:24:49 40

原创 Java后端常见面试题

Java后端常见面试题线程池SpringMQMySQLRedis线程池线程池参数如何设置?线程编排框架解决了什么问题?SpringBean的生命周期?SpringBoot默认MySQL连接池?MQRabbitMQ和Kafka的区别?Kafka如何实现零拷贝?MySQLMySQL有哪几种日志文件?(binlog、redolog、undolog)MySQL Explain执行结果中,type结果的枚举。RedisRedis分布式锁实现方式持久化的方式

2023-05-26 08:55:52 331 1

原创 常用设计模式及代码案例

【代码】常用设计模式及代码案例。

2023-05-26 08:44:01 47

原创 Java并发

corePoolSize: 核心线程数;如果不设置AllowCoreThreadTimeOut=true,则不会被销毁,即使处于闲置状态maximumPoolSize: 最大线程数;= 核心线程数 + 非核心线程数keepAliveTime, unit: 非核心线程的闲置后的生命周期BlockingQueue: 阻塞队列;线程池提交任务时先会创建核心线程,如果核心线程不够了,则会将任务塞到队列中;如果队列也满了,则开始创建非核心线程处理任务;

2023-05-24 15:42:18 54

原创 Java基础

参考:6个数字类型(byte 8,short 16,int 32,float 32,double 64,long 64),1个字符类型(char 16),1个bool类型。参考:一个类可以实现多个接口,只能继承一个类。接口中成员变量是public statistic final的,抽象类中的成员变量可以被子类覆盖重写。接口是对类行为约束,实现了某个接口就有了对应的行为,抽象类主要用于代码复用,强调所属。Java的八种基本数据类型,每个占多少个字节?Java 中抽象类和接口的区别?Java 的三大特性。

2023-05-22 23:21:19 40 1

原创 IDEA Spring 项目 “Try run Maven import with -U flag (force update snapshots)“ 的解决方法

解决:mvn clean install -e -U。原因:maven缺少依赖包。-e详细异常,-U强制更新。

2023-05-05 18:07:29 956

原创 CompletableFuture线程编排

asyncTool作者总结的线程编排场景假设要编排的任务都是带出参入参的,并且耗时都是1S,从taskA到taskH,每个都是类似下面的代码1) ABC串行输出:2)ABC并行结果3)A结束BC并行结果4)BC都执行完毕后执行AA依赖BC的执行结果,且A依赖的任务数量不能超过2个,超过2个必须得用allOf当A的前置依赖超过2个时,用此方法5)BC任意一个执行完后执行A和上面4)一样,先来只有2个任务,且依赖参数传递的结果:超过2个任务的情况结果:6)图6中复杂场景A先

2023-04-18 00:09:55 220

原创 Synchronized实现原理

Synchronized用的锁,每个对象天生都带着一个对象监视器,存在Java对象头中的Mark Word字段,Monitor是在操作系统底层实现的,本质上依赖操作系统的Metlx Lock,Mutelx Lock的切换需要从用户态到内核态,非常耗时。申明方法和代码块,效果不一样锁对象:具体对象、类对象。

2023-04-09 16:24:52 62

原创 Spring IOC之Bean作用域探究

singleton : IoC 容器中只有唯一的 bean 实例。Spring 中的 bean 默认都是单例的,是对单例设计模式的应用。prototype : 每次获取都会创建一个新的 bean 实例。也就是说,连续 getBean() 两次,得到的是不同的 Bean 实例。request (仅 Web 应用可用): 每一次 HTTP 请求都会产生一个新的 bean(请求 bean),该 bean 仅在当前 HTTP request 内有效。

2023-04-09 16:16:39 47

原创 分布式集群场景化方案

Cron表达式复习(1):表示匹配该域的任意值。假如在Minutes域使用, 即表示每分钟都会触发事件。(2)?:只能用在DayofMonth和DayofWeek两个域。它也匹配域的任意值,但实际不会。因为DayofMonth和DayofWeek会相互影响。例如想在每月的20日触发调度,不管20日到底是星期几,则只能使用如下写法: 13 13 15 20 * ?, 其中最后一位只能用?,而不能使用*,如果使用*表示不管星期几都会触发,实际上并不是这样。(3)-:表示范围。例如在Minutes域使用5-

2022-04-05 23:19:52 1347

原创 Tomcat Web服务器

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档Tomcat Web服务器前言工作中遇到的问题分析总结前言提示:这里可以添加本文要记录的大概内容:tomcat的简单介绍,自己实现一个简易的tomcat。Tomcat Coyote ⽀持的 IO模型与协议工作中遇到的问题分析1、 service中定义了静态成员变量localdate,期望每次调用service时重新new一个对象,结果只实例化了一次。联想到单例模式也有用静态关键词修饰的,顺便探究一下service类的声明.

2022-03-29 23:22:34 973

原创 ConcurrentHashMap源码

ConcurrentHashMap源码前言一、基础知识1.Java基础数据类型、字节、位2、transient关键字二、源码方法总结前言作为Java集合中线程安全的Map结构,本篇文章主要从源码出发,探究相比HashMap,ConcurrentHashMap是如何保证线程安全的。一、基础知识1.Java基础数据类型、字节、位在源码中出现以下代码: static final int HASH_BITS = 0x7fffffff; // usable bits of normal node

2022-02-20 18:35:14 309

原创 HashMap源码阅读

HashMap源码阅读

2022-02-19 23:41:50 315

空空如也

空空如也

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

TA关注的人

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