自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 多益网络面经

reids是基于C语言开发的一套免费的开源数据库,基于纯内存进行操作,并根据reactor开发了一套自己的文件时间处理器模型,通过IO多路复用监听多个Socket,避免了线程切换带来的性能损耗,性高。ICMP协议,是“Internet Control Message Protocol”(Internet控制消息协议)的缩写,是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。继承是从已有的类中派生出新的类, 新的类能吸收已有类的修饰的数据属性和行为,并能扩展新的能力。

2022-09-08 16:22:38 1039 1

原创 mysql之GROUP_CONCAT

GROUP_CONCAT函数

2022-08-16 20:21:42 318

原创 Lock锁和AQS

比如常见的ReentrantLock,其中内聚了Sync,实现了AbstractQueuedSynchronizer进行线程的同步管理。

2022-07-20 22:29:08 241

原创 SpringBoot开启以后想做些事情,咋办呢?

SpringBoot开启以后想做些事情,咋办呢?

2022-07-01 22:19:01 196

原创 未支付订单的过期删除策略

未支付订单的过期删除策略

2022-06-25 20:03:01 568

原创 IllegalStateException: No primary or default constructor found for interface java.util.List

IllegalStateException: No primary or default constructor found for interface java.util.List

2022-06-09 20:57:35 539

原创 水池抽样算法

如果选择随机平均选择k个数据从n个样本当中随机抽取k个,k也在不断变化497. 非重叠矩形中的随机点水塘抽样算法(Spark RangePartitioner的抽样算法)

2022-06-09 09:54:10 170

原创 Mysql异常之- 错误代码: 1005 Can‘t create table ‘XXXX.xxxx‘ (errno: 150)

错误:错误代码: 1005Can't create table 'XXXX.xxxx' (errno: 150)sql-- 收藏表DROP TABLE IF EXISTS collection_table;CREATE TABLE collection_table ( `id` BIGINT(20) NOT NULL AUTO_INCREMENT, `v_id` BIGINT(20) COMMENT 'video_id', `u_id` BIGINT(11) COMMENT 'u

2022-05-26 20:07:25 2482

原创 Spring的循环依赖问题

问题提出Spring中代码-产生循环依赖问题@Componentclass A{ private B b; public A(B b) { this.b = b; }}@Componentclass B{ private A a; public B(A a) { this.a = a; }}报错Error starting ApplicationContext. To display the c

2022-05-26 16:54:41 359

原创 Result Maps collection already contains value

2022-05-25 18:32:56.233 ERROR 16720 --- [ main] o.m.spring.mapper.MapperFactoryBean : Error while adding the mapper 'interface com.ll.videowebsite.mapper.VideoDetailsMapper' to configuration.java.lang.IllegalArgumentException: Result Maps

2022-05-25 19:48:04 463

原创 The dependencies of some of the beans in the application context form a cycle

Description:The dependencies of some of the beans in the application context form a cycle:┌──->──┐| com.github.pagehelper.autoconfigure.PageHelperAutoConfiguration└──<-──┘Action:Relying upon circular references is discouraged and they are

2022-05-25 19:47:15 316

原创 SpringBoot开启mybatis的日志打印

在默认条件下,SpringBoot整合Mybatis不会开启日志打印功能,但是有时候需要进行查看。查看sql语句查看查询结果查看是否是在同一个会话当中例子想要通过日志查看这个多对多查询结果是不是在同一个sql会话当中。/** * 一对多查询进行封装 但是要进行多次查询,但是在同一个sqlsession当中 * @param id * @return */ @Results(id = "result", value = { .

2022-05-24 18:55:51 16510

原创 Spring框架的Bean是线程安全的吗?怎么处理线程安全问题?

Spring框架的Bean是线程安全的吗?默认不是线程安全的,没有使用线程安全策略,因为每个Bean对象默认作用域是singleton,也就是单例的。Spring中Bean的作用域singleton:默认,每个容器中只有一个bean的实例,单例的模式由BeanFactory自身来维护。该对象的生命周期是与Spring IOC容器一致的(但在第一次被注入时才会创建)。prototype:为每一个bean请求提供一个实例。在每次注入时都会创建一个新的对象request:bean被定义为在每个H

2022-05-24 11:16:20 601

原创 SpringMVC控制器是单例?怎么保证线程安全?

SpringMVC前端控制器是单例?是单例模式,每个只有一个实例存在。怎么修改单例呢注解方式//@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)可成为多例模式,或者写成@Scope("prototype")配置文件形式<bean id= "userInfo" class="com.jd.vo.UserInfo" lazy-init="true" scope="prototype">/bean>为什

2022-05-23 22:58:33 703

原创 Spring 之 Converter转换器

Converter主要使用于将前端数据转换为java对应的对象。比如把前端传入的字符串转换为Date类型数据使用方法@Componentpublic class StringToDateConverter implements Converter<String, Date> { public static final Logger logger = LoggerFactory.getLogger(StringToDateConverter.class); static Si

2022-05-19 20:37:16 3601 1

原创 Mysql之 返回主键Id

在使用中间表的时候,需要使用该条数据的主键,但是又不想单独再查询依次数据库,可以通过配置返回该条数据的主键 @Insert("INSERT INTO actors VALUES(NULL, #{name}, #{photoGraph})") int insert(Actor actor);比如这里,如果想要返回主键数据,返回的int类型数据并不是主键,而是改变的行数,那么返回的主键是在哪呢?其实返回主键是存放到Actor 对象当中,但是需要一下配置信息 @Insert("INSERT INTO

2022-05-18 22:08:40 1365

原创 异常之 - java.sql.SQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign

异常原因:java.sql.SQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign外键不存在,而添加到表当中2022-05-18 11:17:57.910 ERROR 3936 --- [nio-8080-exec-4] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispat

2022-05-18 21:57:15 2509

原创 异常记录之- org.thymeleaf.exceptions.TemplateInputException: Error resolving template

org.thymeleaf.exceptions.TemplateInputException: Error resolving template [companyManage/importVillage], template might not exist or might not be accessible by any of the configured Template Resolvers at org.thymeleaf.engine.TemplateManager.resolveTemplat

2022-05-18 21:52:38 913 1

原创 Mysql之时间函数DATEDIFF();

DATEDIFF() 返回两个日期之间的时间差DATEDIFF(datepart,startdate,enddate) 返回enddate和startdate差值,可正可负,根据开始和结束的时间关系,其中,datepart是返回的类型,可以是天、周、月等。startdate,enddate 是返回 datetime值或日期格式字符串的表达式。使用SELECT NOW(); -- 2022-05-17 15:26:18SELECT CURDATE();-- 2022-05-17SELECT

2022-05-17 15:47:01 1547

原创 SpringBoot的自动配置原理

原理每个SpringBoot项目都有一个启动类,每个启动类都有一个 @SpringBootApplication 注解,该注解是个复合注解,主要有以下三个注解。1.1 @SpringBootConfiguration就是一个@Configuration注解,表示这是一个注解类,因此你可以直接在启动类当中配置@Bean1.2 @ComponentScan就是注解扫描注解1.3 @EnableAutoConfiguration,自动配置的核心注解@EnableAutoConfiguration也是

2022-05-12 12:16:04 97

原创 java异常之java.util.ConcurrentModificationException

ConcurrentModificationException翻译过来就是并发修改异常代码for (String s : bank) {//报错行 if (canChange(start, s)) { bank.remove(s); dfs(s, end, bank); bank.add(s); } }报错情况:Exception i

2022-05-07 10:23:43 466

原创 Mysql之IGNORE关键字

IGNORE关键字作用:如果在向数据库中增加一条与主键重复的数据,正常情况是会报错的。但是使用IGNORE后,会发出一条警告,数据也不会插入。如果没有重复,就正常插入。使用方法:建表语句DROP TABLE IF EXISTS `employees` ; CREATE TABLE `employees` ( `emp_no` INT(11) NOT NULL, `birth_date` DATE NOT NULL, `first_name` VARCHAR(14) NOT

2022-05-05 14:58:02 2335

原创 Mysql之字符串拼接

mysql字符串拼接两种方式,第一种,使用 “+” 进行拼接(错误的方法), 第二种使用Mysql函数CONCAT()等函数。使用 “+”使用“+”进行对数据是加减。不能进行拼接拼接用法:数据表:错误写法:-- 不能用于多列进行拼接SELECT last_name + ' ' + first_name AS Name FROM employees;-- 不能用于单列SELECT last_name + '___P' AS Name FROM employees;"+"的使

2022-05-04 11:13:49 15754

原创 Mysql之MVCC

MVCC-多版本并发控制读取数据的时候使用一种类似于快照的方式将数据保存下来,通过readview不同的事物只能看到自己对应可见的版本,提高并发性能。使用条件mysql数据库隔离级别是以下两个:READ COMMITED (读已提交)REPEATABLE READ (可重复读)实现原理Mysql通过隐藏字段、undo log、readview实现MVCC多版本并发控制。隐藏字段InnoDB 存储引擎为每行数据添加了三个 隐藏字段:DB_TRX_ID(6字节):表示最后一

2022-05-03 20:45:52 738

原创 水壶问题与裴蜀定理

水壶问题题目有两个容量分别为 x升 和 y升 的水壶以及无限多的水。请判断能否通过使用这两个水壶,从而可以得到恰好 z升 的水?如果可以,最后请用以上水壶中的一或两个来盛放取得的 z升 水。你允许:1-装满任意一个水壶2-清空任意一个水壶3-从一个水壶向另外一个水壶倒水,直到装满或者倒空因此可以说明,每次操作会使得最终的结果变化**(±)x或者(±)y**,都是整数,变化(x-y)类型其实也是一个x,以及一个-y。比如a=3, b = 5,目标值是4,应该怎么组装呢?得到 2b -

2022-05-03 10:36:13 421

原创 mysql之if和when函数

IF表达式IF(expr1,expr2,expr3)如果 expr1 是TRUE ,则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定。if语句还可以相互嵌套,如下IF(IF(expr1,expr2,expr3),expr2,expr3)可以多层嵌套使用,多个判断语句题目使用if解决:SELECT device_id, gender, IF(age IS NULL , '其他',

2022-05-02 23:15:10 7626

原创 排序的专用窗口函数(mysql添加序号列)

介绍三种用于进行排序的专用窗口函数:用法<窗口函数> OVER ( [PARTITION BY <列清单> ] ORDER BY <排序用列清单> )*其中[ ]中的内容可以忽略题目RANK()在计算排序时,若存在相同位次,会跳过之后的位次。例如,有3条排在第1位时,排序为:1,2,2,4······SELECT emp_no, salary, RANK()OVER(order by salary desc) AS t_rankFROM

2022-05-02 22:44:51 767

原创 ReentrantLock之Condition用法和Synconsized的wait/notify方法

二者异同两者都是可重入锁,都是独占锁。synchronized 依赖于 JVM 而 ReentrantLock 依赖于 APIsynchronized是非公平锁,而 ReentrantLock 既可以是公平锁,也可以是公平锁。ReentrantLock 是等待可中断、可选择性通知。ReentrantLock 的newContion()public class Solution { static volatile int i = 0; static final Reentran

2022-05-01 11:59:45 368

原创 SpringSecurity用户密码验证过程

SpringSecurity过滤链当中的UsernamePasswordAuthenticationFilter负责登陆密码验证AbstractAuthenticationProcessingFilter是UsernamePasswordAuthenticationFilter的父接口,接口当中就有一个this.getAuthenticationManager()方法,获取AuthenticationManager对象。AuthenticationManager对象当中有一个方法:Authentica

2022-04-27 15:48:08 5193 2

原创 证明 sleep()方法不会释放已经抢得的锁

简介说说 sleep() 方法和 wait() 方法区别和共同点?两者最主要的区别在于:sleep() 方法没有释放锁,而 wait() 方法释放了锁 。两者都可以暂停线程的执行。wait() 通常被用于线程间交互/通信,sleep() 通常被用于暂停执行。wait() 方法被调用后,线程不会自动苏醒,需要别的线程调用同一个对象上的 notify() 或者 notifyAll() 方法。sleep() 方法执行完成后,线程会自动苏醒。或者可以使用 wait(long timeout) 超时后线程

2022-04-17 20:17:30 403

原创 final和static final

final 确保不变性及 值不会改变,基本类型保证值不变,引用类型保证引用值不会改变;static 确保唯一性 每个类就只有一个,所有实例对象共享这一个;static final 同时修饰的成员变量 不需要创建初始化对应的class对象即可 取到对应的值 不然为啥叫编译期常量而其他的final修饰的变量(不是和static 一起用的),就不是编译期常量,不会编译期进行赋值,而是类加载之后执行,当用final作用于类的成员变量时,成员变量必须在定义时或者构造器中进行初始化赋值stati.

2022-03-26 15:56:07 326

原创 类型转换的思考

类型转换有关向上造型和向下造型的核心精髓就是一句话:在创建实例的时候到底是子类的实例还是父类的实例。如果是子类的实例,则就完全可以进行强制类型转换,转换为子类,如果创建的是父类的对象,则不可以i强制类型转换。类型转换(继承或者实现关系 父类与子类)父类的引用指向子类的对象。实例化成子类,可用方法使父类中的方法,方法体实现是子类中的方法(体现了多态)。实例化成谁就会用到谁的方法体。//父类class A{ public void s(){ System.out.pri

2022-03-26 14:45:29 108

转载 二分查找总结

1.二分查找法查找某一特定数关于二分查找最重要的是细节,到底是left < right 还是 left <= right , left = mid 还是left = mid + 1,只要弄明白它的区间是开还是闭,细节自然会一清二楚。如下代码因为它此刻的右端索引为right = len - 1; right为数组最后一个索引,为左闭右闭区间,[left,right],缩小区间是故应为[left, mid - 1] 和[mid + 1,right],而mid已经被搜索过,则应被删除。闭

2021-12-27 15:29:14 160

原创 spring 依赖注入

依赖注入方式(手动注入和自动注入)1. 自动注入(spring自动创建,放入Ioc容器,并注入)@Autowired private HrService hrService;2.手动赋值(xml方式)可以setter 方法 和 构造方法赋值

2021-12-22 15:48:51 295

原创 Spring Bean的生命周期

概括解析获取class文件 -> JVM实例化方法 -> 属性填充(@Autowired)->初始化 -> 放入容器当中 -> 容器关闭的时候销毁实例化和初始化区别?实例化是JVM虚拟机创建对象,初始化是对虚拟机创建出来的对象进行属性填充以后执行初始化过程。构造方法推断如果有无参构造,就是用无参构造方法,如果没有,并且只有一个构造方法,就会使用那个单独的构造方法,构造方法参数会从Ioc容器当中去寻找,通过byType和byName寻找(依次查找),如果有多个

2021-12-21 22:45:44 234

原创 vhr 使用freemark模板邮件发送 ,rabbitmq使用

实现邮件发送1.找一个账号发送邮件(自行百度)2.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>3.配置参数spring: mail: host:

2021-12-08 20:44:00 333

原创 vhr 学习 SpringSecurity 权限管理

简介Spring Security 是 Spring 家族中的一个安全管理框架,实际上,在 Spring Boot 出现之前,Spring Security 就已经发展了多年了,但是使用的并不多,安全管理这个领域,一直是 Shiro 的天下。相对于 Shiro,在 SSM/SSH 中整合 Spring Security 都是比较麻烦的操作,所以,Spring Security 虽然功能比 Shiro 强大,但是使用反而没有 Shiro 多(Shiro 虽然功能没有 Spring Security 多,但

2021-12-06 12:55:23 995

原创 直接内存直接内存

直接内存为什么速度快因为许哟啊通过用户空间地址,查询内核空间地址,然后从内核空间地址复制到用户内存地址,过程比较繁琐,同样,输出也是。而NIO是直接访问物理内存,省去了中间商,操作简单,快速。直接内存溢出与大小设置...

2021-09-15 22:49:21 68

原创 Timer定时器

Timer定时器源码:public class Timer { private final TaskQueue queue = new TaskQueue();//定时器队列 private final TimerThread thread = new TimerThread(queue);//定时器线程 首先看看TaskQueue 和 TimerThreadTaskQueueclass TaskQueue { //是timer中的类 ,属性有TimerTask数组,初始大小

2021-09-15 22:48:20 89

原创 方法区方法区

方法区方法区堆、栈、方法去关系方法区方法区大小设置如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入方法区堆、栈、方法去关系方法区虽然规范当中规定方法区在逻辑上可以看作堆的一部分,但是hostpot虚拟机认为方法区为为单独的一部分。方法区大小设置可

2021-09-15 22:46:56 2707

空空如也

空空如也

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

TA关注的人

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