Java
nemonobd
这个作者很懒,什么都没留下…
展开
-
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 · 267 阅读 · 0 评论 -
ThreadLocal学习笔记
ThreadLocal简介ThreadLocal是在多线程编程的环境下,为每个线程创建一个单独的线程变量,互不影响。避免了多个线程同时操作共享变量时产生冲突而带来的一些问题。ThreadLocal vs Synchronizedsynchronized关键字也可以实现防止多线程共享变量冲突的问题。但是与TheadLocal还是存在不同。首先,ThreadLocal是采用了空间换时间的设计思路,通过为每个线程绑定一个变量,避免了线程争取锁的等待。而synchronized则是明显的时间换空间。另外,原创 2021-09-28 10:44:23 · 1032 阅读 · 0 评论 -
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 · 7013 阅读 · 0 评论 -
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 · 7984 阅读 · 0 评论 -
org.apache.ibatis.cache.CacheException: Error serializing object. Mybatis二级缓存报错的两种解决办法
先看下官方文档导致这个问题的原因:readOnly(只读)属性可以被设置为 true 或 false。只读的缓存会给所有调用者返回缓存对象的相同实例。 因此这些对象不能被修改。这就提供了可观的性能提升。而可读写的缓存会(通过序列化)返回缓存对象的拷贝。 速度上会慢一些,但是更安全,因此默认值是 false。也就是说,默认情况下,出于安全考虑,Mybatis将缓存设置成可读写的,然后通过序列化的方式返回给我们缓存的对象拷贝。如果我们的对象没有实现可序列化的接口就会抛出 org.apache.ibat原创 2021-06-13 00:23:27 · 806 阅读 · 0 评论 -
栈?队列?Java ArrayDeque常用首尾操作方法整理
对于用Java刷leetcode的同学一定很眼熟ArrayDeque这个数据结构,因为它既可以作为队列也可以作为栈,解题时使用频率很高。补充一嘴,Stack也能作为栈来用,但是作为存在设计缺陷的Vector类的子类,已经不推荐使用了。ArrayDeque提供了作为栈的一套读写方式(pop/push/…),也提供了一套作为队列的读写方式(poll/offer/…),因此首尾操作方法非常多且从功能的角度看是重复的。使用时经常分不清到底该用哪个方法取数。到底这方法是对首操作还是对尾操作?读取的时候只是读取还是同原创 2021-05-30 08:24:13 · 505 阅读 · 0 评论 -
JDK11 源码阅读 报错:Java:找到太多的模块声明的报错
为了方便撕源码,把核心包都复制出来到项目下,这样方便写注释和DEBUG。具体的配置方法参考:https://blog.csdn.net/jiangxiayouyu/article/details/112888309 这篇文章,写的很清楚。 但是有个问题,我在跑的时候提示Java:找到太多的模块声明。解决方案:不要把源码文件放在src路径下,放在和src同一级即可。...原创 2021-05-29 22:41:59 · 915 阅读 · 2 评论