![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 65
m0_58568357
这个作者很懒,什么都没留下…
展开
-
下载Lua plugin遇到的坑
问题描述今天在idea中第一次写Lua脚本,创建.lua文件后,被提示安装lua插件,然后就点下载,等待安装,但是在安装好像结束时,idea直接被弹出去,然后再次点击idea时就无法打开了,报错如下出现的原因根据报错,其实大概可以才出来,是因为重复读取了Lua脚本插件的配置导致的。网上找了一波,结果如下:安装多个Lua插件,并且插件之间不兼容,就会导致idea无法启动。所以Idea(2020.3.2) 在默认安装时是直接安装两个Lua插件。到这里问题基本就解决了,删除上述两个插件中的任意一个原创 2021-10-04 20:22:33 · 392 阅读 · 1 评论 -
并发——ConcurrentHashMap1.7 原理分析
ConcurrentHashMap 原理分析1. 成员2.内部类3. 方法3. 1 构造方法3.2 put()3.3 remove()3.7 getObject()3.6 rehash()4.总结这篇文章仅分析ConcurrentHashMap 的安全性和并发性,hashMap的原理看java系列中的另一篇。1. 成员对比hashMap 和Concurrentmap 可以发现后者多了一个关键的对象Segment和一些该对象相关的属性2.内部类Concurrenthashmap 1.7 和has原创 2021-08-19 20:41:41 · 310 阅读 · 0 评论 -
并发—— CountDownLatch应用之王者荣耀游戏加载
王者荣耀加载1.介绍1.介绍王者荣耀加载过程模拟,10个线程表示不同的玩家,加载进入王者荣耀import java.util.Arrays;import java.util.Random;import java.util.concurrent.*;public class Main1 { public static void main(String[] args) throws Exception{ ExecutorService pool = Executors.n原创 2021-08-18 19:51:09 · 177 阅读 · 1 评论 -
并发 —— AQS原理
AQS原理1.介绍1.1 特点:1.2 实现的功能1.3 设置2. 原理2.1 内部类3. 自定义锁实现4.ReentrantLock4.1 内部类4. 2非公平锁和公平锁的两处不同:4.3 非公平锁加锁流程4.4 解锁流程4.5 公平锁4.6 可重入原理4.7 可打断原理4.8 条件变量实现原理1.介绍AQS 全名AbstractQueueSynchronizer 抽象同步队列,是java中锁实现的一个抽象基类,大部分需要同步控制的工具类都继承了AQS。AQS主要是为了实现进程控制,作用类似于Syn原创 2021-08-17 22:09:22 · 139 阅读 · 0 评论 -
并发——定期执行
线程池应用实现:每个星期四19点定期执行直接上代码:public class Main { public static void main(String[] args) throws Exception{ ScheduledExecutorService pool = Executors.newScheduledThreadPool(2);// 获取当前时间 LocalDateTime now = LocalDateTime.now();原创 2021-08-16 19:34:16 · 59 阅读 · 0 评论 -
并发—— LongAdder源码分析
LongAdder 源码分析1.AtomicLong 和 LongAdder 的性能比较2. 分析原因 AtomicLong3.LongAdder 分析3.1 类关系3.11 Striped64 类3.12 计算机缓存 —— 伪共享3.13 成员3.13 increment()3.14 sum()4.总结1.AtomicLong 和 LongAdder 的性能比较直接上代码开启16个线程,每个线程执行1000万次的自增;AtomicLongpublic class Main1 { p原创 2021-08-15 21:38:12 · 110 阅读 · 0 评论 -
并发——Synchronized原理
synchronized原理1. Monitor 介绍2. MarkWord2. Synchronized 原理 (重量级锁)2.1 synchronized 在字节码中 的体现3. Synchronized进阶原理3.1 轻量级锁3.2 锁膨胀3.3 偏向锁3.31 hashcode问题4. 自旋优化5. 锁消除1. Monitor 介绍Monitor 被成为锁或者是管程,是操作系统底层为了控制线程,进程同步时使用的一个对象。在Monitor中有三个管家的属性见下图:分别是:waitSet原创 2021-08-04 23:00:07 · 96 阅读 · 0 评论 -
javaSe——hashmap jdk1.8
hashmap jdk1.81.实现的接口2.内部类3.hashmap内部的成员4.默认值 (注意)5.方法分析5.1构造方法5.2put方法hashjdk1.7的实现看另一篇1.实现的接口jdk1.8的hashmap 和 1.7的一样都是实现一个map接口包含了一些操作kv键值的一些常用的方法,get(),put(),remove()等等。依然使用一个Set集合来保存所有的key,保证key的唯一性2.内部类迭代器就不介绍了。相较于jdk1.7,这里的出现了两个内部类,node和tr原创 2021-07-27 17:20:27 · 128 阅读 · 0 评论 -
数据结构——红黑树原理
红黑树性能分析定义节点变色插入节点左旋转右旋转三级目录性能分析首先,无论是插入数据还是查找数据,红黑树都是平衡的,查找键值的过程类似于二叉查找树,但是确不会出现树失衡,降低查找效率,其次是在插入键值时,虽然会通过左旋或者右旋来调节树的平衡,但是其限制比较低,所以插入的效率依然比较高。定义红黑树中的每个节点需要满足以下五个定义1.每个节点是红的或者是黑的2.根节点是黑的3.每个叶子节点是黑的 —— 这里的叶子节点指的原来叶子节点的左右节点4.如果一个节点是红的,那么它的两个儿子节点都是黑的5原创 2021-07-27 10:41:37 · 114 阅读 · 0 评论 -
数据结构——树的演变
树的演变笔记最开始的树二叉查找树(BST)自平衡二叉查找树红黑树最开始的树组开始的树是,由一个根节点,然后每个节点对应着多个子节点,大概就是以下这个样子每个接待你对应的数据是没有限定的,就是没每个的值相互之间不受影响,所以使用这种树,在根据值查找某个节点的时候,就需要一层一层的遍历所有的节点,执行的效率比较低,时间复杂度为O(n),所以就引入二叉查找树。二叉查找树(BST)在查找某个值的时候,一共就只有三种结果,大于,小于,等于,根据这三种情况并设计出了二叉查找树,某个节点的左边存放比该节点值小原创 2021-07-26 22:18:15 · 748 阅读 · 0 评论 -
算法——String和StringBuilder
String和StringBuilderstringStringBuilder分析原理小结leetcode257. 二叉树的所有路径一个小知识点记录以下: 执行效率两种递归的实现方式stringclass Solution { List<String>ans1 = new LinkedList<>(); public List<String> binaryTreePaths(TreeNode root) { if (root == n原创 2021-07-26 11:01:12 · 61 阅读 · 0 评论 -
javaSe——泛型
泛型相关知识,总结的比较好转载 2021-07-20 22:12:46 · 52 阅读 · 0 评论