自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HashMap源码逐行手撕 JDK11

HashMap基本介绍文章主要基于B站小刘老师讲解 以及 一些博客对HashMap的重要执行逻辑和流程进行分析(红黑树的细节部分并不包括)。源码基于JDK11。如有错误欢迎指正继承体系![image.png](https://img-blog.csdnimg.cn/img_convert/38c9ae2919d8f6b349a6aa088af0d180.png#clientId=u5dbff5cd-22c4-4&from=paste&id=u7b49ae4b&margin=[

2021-10-08 11:29:11 264

原创 ThreadLocal学习笔记

ThreadLocal简介ThreadLocal是在多线程编程的环境下,为每个线程创建一个单独的线程变量,互不影响。避免了多个线程同时操作共享变量时产生冲突而带来的一些问题。ThreadLocal vs Synchronizedsynchronized关键字也可以实现防止多线程共享变量冲突的问题。但是与TheadLocal还是存在不同。首先,ThreadLocal是采用了空间换时间的设计思路,通过为每个线程绑定一个变量,避免了线程争取锁的等待。而synchronized则是明显的时间换空间。另外,

2021-09-28 10:44:23 1026

原创 Nginx配置虚拟主机server_name不生效 三种情况以及解决方式

在开发某个本地项目时,时常碰见配置了server_name后,重启nginx -s reload加载配置后依旧不生效的问题。常见的情况有三种情况一:浏览器缓存问题最常见的情况了。这种情况在浏览器设置里把缓存和历史都清一下,或者换一个浏览器,再重新访问地址。情况二:起了多个nginx服务用tasklist命令看看是否起了多个nginx服务,再用taskill命令直接控制台杀掉所有nginx服务,再手动重新起一遍nginx:tasklist | findstr nginxtaskkill /f /t

2021-07-22 09:39:21 6932

原创 SpringBoot整合MongoDB出现的权限问题:command find requires authentication / Cluster description not yet availa

测试环境:SpringBoot 2.01mongoDB 4.4在application.yaml中,我原本是这样配置的,通过这个方式手动连mongo的客户端是没有问题的,原本以为可以直接成功,没想到还是我naive。spring: data: mongodb: uri: mongodb://username:password@127.0.0.1:27017 database: databaseName报错信息如下,意思就是说你还是没有认证:'comman

2021-06-30 00:15:52 7915

原创 org.apache.ibatis.cache.CacheException: Error serializing object. Mybatis二级缓存报错的两种解决办法

先看下官方文档导致这个问题的原因:readOnly(只读)属性可以被设置为 true 或 false。只读的缓存会给所有调用者返回缓存对象的相同实例。 因此这些对象不能被修改。这就提供了可观的性能提升。而可读写的缓存会(通过序列化)返回缓存对象的拷贝。 速度上会慢一些,但是更安全,因此默认值是 false。也就是说,默认情况下,出于安全考虑,Mybatis将缓存设置成可读写的,然后通过序列化的方式返回给我们缓存的对象拷贝。如果我们的对象没有实现可序列化的接口就会抛出 org.apache.ibat

2021-06-13 00:23:27 791

原创 栈?队列?Java ArrayDeque常用首尾操作方法整理

对于用Java刷leetcode的同学一定很眼熟ArrayDeque这个数据结构,因为它既可以作为队列也可以作为栈,解题时使用频率很高。补充一嘴,Stack也能作为栈来用,但是作为存在设计缺陷的Vector类的子类,已经不推荐使用了。ArrayDeque提供了作为栈的一套读写方式(pop/push/…),也提供了一套作为队列的读写方式(poll/offer/…),因此首尾操作方法非常多且从功能的角度看是重复的。使用时经常分不清到底该用哪个方法取数。到底这方法是对首操作还是对尾操作?读取的时候只是读取还是同

2021-05-30 08:24:13 491

原创 JDK11 源码阅读 报错:Java:找到太多的模块声明的报错

为了方便撕源码,把核心包都复制出来到项目下,这样方便写注释和DEBUG。具体的配置方法参考:https://blog.csdn.net/jiangxiayouyu/article/details/112888309 这篇文章,写的很清楚。 但是有个问题,我在跑的时候提示Java:找到太多的模块声明。解决方案:不要把源码文件放在src路径下,放在和src同一级即可。...

2021-05-29 22:41:59 897 2

原创 快慢指针法判断环入口位置 LeetCode142 环形链表2

快慢指针如何寻找环入口通过快慢指针思路来判断链表是否有环时,我们可以通过判断两个指针最终是否会相遇来确定。但是问题在于,这样得到的相遇点并不是环的入口,想要通过快慢指针来寻找环入口还需要做一些额外的处理。思路:参考LeetCode142题,在第一次相遇后,重新设置一个指向head的指针,然后重新让新指针与慢指针开始行动,每次移动距离都为1,这样一来下次相遇的点就是环入口了。代码实现见底部具体解释为什么两个指针再次相遇的地方就是环入口:将存在环的链表长度理解为a+b;a为非环的链表部分,b为环的长度

2021-05-20 04:04:09 585

原创 快速了解Cookie/Session/Token,以及CSRF跨站攻击

快速了解Cookie/Session/Token,以及CSRF跨站攻击本文主要介绍Cookie、Session以及Token的工作机制,以及CSRF跨站攻击,并不涉及到具体以及细节的属性。希望能帮助大家快速了解这几种不同的浏览器用户身份跟踪的会话方式。无状态的HTTPHttp协议本身是无状态的,也就是说每一次请求都是相互独立的,服务器并不能分辨请求是不是来自同一个用户。这样的好处是处理起来迅速,缺点就是在很多场景中,用户的每一步操作都是上下文关联的,比如网购往购物车里加东西,即使没有登录帐号,服务器也

2021-04-13 06:09:39 481

原创 JavaScript学习笔记 - 对象的继承(基于原型链(prototype chain)的继承,基于构造函数的继承,组合继承)

理解基于原型链的JS继承,什么是prototype,什么是constructor?在ES5中,与其他大部分面向对象语言(如Java,C#)通过类来创建实例或者是继承不同,JavaScript的继承是通过直接调用构造函数来创建实例、prototype来实现继承的。构造函数的缺点以及prototype的使用在JavaScript中,我们通过new关键字调用构造函数来创建实例,实例的属性以及方法都通过this关键字被定义在构造函数的内部。但是这有一个缺点,多个实例之间无法共享属性/方法,每次创建实例的时候,

2021-04-04 23:15:51 341

原创 Python可变对象与不可变对象,以及深拷贝与浅拷贝

Python可变对象与不可变对象,以及深拷贝与浅拷贝本文主要内容为Python中可变对象以及不可变对象的概念,以及使用深拷贝与浅拷贝复制对象的区别。所有代码都基于Python3.8运行。可变对象(mutable objects)与不可变对象(immutable objects)首先来看一段代码:class StrangeList: def __init__(self, init_list=[]): self._list = init_list def

2021-04-02 22:01:11 209

原创 如何理解Python装饰器

在Python中,当需要对某个函数的功能进行增强,又不修改其代码,而是在运行期间动态为其添加功能的方式,便是装饰器。本质上,装饰器其实就是一个返回函数的高阶函数,所以在学习装饰器之前要理解Python中一切皆为对象的思想。def print_log(func): def wrapper(*args, **kw): print(f'call {func.__name__}') return func(*args, **kw) return wrapper

2021-04-02 19:55:46 87

空空如也

空空如也

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

TA关注的人

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