![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
边跳舞边打代码的仔
有所为、有所爱、有所期待。
展开
-
Nacos服务注册流程源码剖析
原创 2021-10-21 15:25:58 · 195 阅读 · 0 评论 -
HashMap源码剖析
final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { Node<K,V>[] tab; Node<K,V> p; int n, i; if ((tab = table) == null || (n = tab.length) == 0) n = (tab = resize())....原创 2021-10-13 15:42:03 · 168 阅读 · 0 评论 -
Double Check Lock 为什么要用volatile 关键字?
Double Check Lock 为什么要用volatile 关键字?话不多少上代码如果不加volatile关键字会导致什么问题?volatile解决了什么问题?合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入话不多少上代码public原创 2021-06-04 11:14:16 · 292 阅读 · 0 评论 -
HashMap的原理和底层源码
HashMap本质就是数据和链表的结合,一条数据插入进来根据key取的Hash值,然后计算出来数据的位置(哈希槽的位置),如果有多个key在同一个哈希槽下就用链表将他们串起来,新插入的放在首。...原创 2019-11-15 10:28:45 · 204 阅读 · 0 评论 -
关于volatile关键字
1. volatile关键字有什么用?就我理解的而言,被volatile修饰的共享变量,就具有了以下两点特性:保证了不同线程对该变量操作的内存可见性;禁止指令重排序2.什么是内存课件?重排序又是怎么回事?Java虚拟机规范试图定义一种Java内存模型(JMM),来屏蔽掉各种硬件和操作系统的内存访问差异,让Java程序在各种平台上都能达到一致的内存访问效果。我们知道JMM规...转载 2019-10-16 17:20:07 · 98 阅读 · 0 评论 -
SpringBoot上使用Qruatz并将调度信息储存到Mongo中
SpringBoot上使用Qruatz并将调度信息储存到Mongo中这篇博客主要说明怎么将qruatz任务信息储存到mongodb中,具体qruatz不进行讲解。做数据平台的时候有一个定时任务的需求,有关定时任务Qruatz肯定就是不二人选了,但是因为我们这边使用的都是Mongo,所以Qruatz的调度信息也只能储存到Mongo中,但是不巧,Qruatz的团队没有做以Mongo作为jobSto...原创 2019-03-14 15:05:32 · 619 阅读 · 2 评论 -
JAVA项目根据相对路径读取配置文件
创建一个我们要读取的配置文件创建resources文件夹,在文件夹下创建配置文件conf.yml.配置maven的pom文件,使项目编译时编译配置文件到classpath路径下在build标签下加入如下:<build> <resources> <resource> <!-- 配置文件目录 --> <d...原创 2019-08-29 17:20:07 · 1241 阅读 · 0 评论 -
Java读取yml配置文件到map中
public class App { public static Map<String, Object> conf = new HashMap<String, Object>(); public static void main(String[] args) throws IOException { URL url = App.class...原创 2019-08-29 17:39:32 · 8654 阅读 · 0 评论 -
logback配置文件样本,logback.xml
记录一下logback.xml 配置文件,以后方便找<?xml version="1.0" encoding="UTF-8"?><configuration> <!--定义日志保存的路径--> <property name="LOG_HOME" value="G:/logs" /> <!--定义一个控制台输出...原创 2019-09-02 17:00:56 · 177 阅读 · 0 评论