Java
文章平均质量分 81
初久05
这个作者很懒,什么都没留下…
展开
-
解决 MapStruct 无法生成实现类问题
解决 MapStruct 无法自动生成实现类问题原创 2023-03-12 12:49:10 · 1487 阅读 · 1 评论 -
我的Java并发编程笔记07-线程池再理解
固定容量线程池FixedThreadPool:LinkedBlockingQueue无界队列单线程线程池SingleThreadExecutor:LinkedBlockingQueue无界队列定时线程池ScheduledThreadPool:DelayQueue延迟队列缓存线程池CachedThreadPool:SynchronousQueue同步队列。原创 2022-11-30 15:14:34 · 142 阅读 · 0 评论 -
我的Java并发编程笔记06-对象共享
对象的共享可见性指当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值。在多线程环境下,一个线程对共享变量的操作对其他线程是不可见的。Java提供了volatile来保证可见性,当一个变量被volatile修饰后,表示着线程本地内存无效,当一个线程修改共享变量后他会立即被更新到主内存中,其他线程读取共享变量时,会直接从主内存中读取。当然, synchronize和Lock都可以保证可见性。synchronized和Lock能保证同一时刻只有一个线程获取锁然后执行同步原创 2022-11-30 15:09:12 · 148 阅读 · 0 评论 -
我的Java并发编程笔记05-线程
现代操作系统在运行一个程序时,会为其创建一个进程。例如,启动一个Java程序,操作系统就会创建一个Java进程。现代操作系统调度的最小单元是线程,也叫轻量级进程(Light Weight Process),在一个进程里可以创建多个线程,这些线程都拥有各自的计数器、堆栈和局 部变量等属性,并且能够访问共享的内存变量。处理器在这些线程上高速切换,让使用者感觉 到这些线程在同时执行。原创 2022-11-30 14:58:54 · 243 阅读 · 0 评论 -
我的Java并发编程笔记04-final
本章详细讲解了final的内存语义和使用方式,内存语义主要是涉及到并发编程相关的知识,仅供了解即可。其实我们最终还是需要注重final的使用方式,分别从变量、方法、类,对齐进行讲解,这块知识很简单,主要是做个记录,最后是final和static,也是网上看到的示例,也只做个简单的记录。这些内容,其实是根据《深入理解Java内存模型》,然后结合网上的资料,做了相关整理和总结,其实都属于Java内存模型方面的内容参考资料:《深入理解Java内存模型》 《Java并发编程实战》原创 2022-11-30 14:45:04 · 97 阅读 · 0 评论 -
我的Java并发编程笔记03-Synchronized
说明了synchronized的三种应用方式,指令重排情况分析,以及synchronized的可重入性。原创 2022-11-30 14:39:55 · 123 阅读 · 0 评论 -
我的Java并发编程笔记02-volatile
volatile可以保证线程可见性且提供了一定的有序性,但是无法保证原子性。在JVM底层volatile是采用“内存屏障”来实现的。观察加入volatile关键字和没有加入volatile关键字时所生成的汇编代码发现,加入volatile关键字时,会多出一个lock前缀指令,lock前缀指令实际上相当于一个内存屏障(也称内存栅栏),内存屏障会提供3个功能:它确保指令重排序时不会把其后面的指令排到内存屏障之前的位置,也不会把前面的指令排到内存屏障的后面;原创 2022-11-30 14:36:51 · 95 阅读 · 0 评论 -
我的Java并发编程笔记01-并发编程基本概念
关于并发编程的笔记,仅当记录,借鉴了很多人的文章和图片原创 2022-11-30 14:29:13 · 55 阅读 · 0 评论 -
关于远程连接linux服务器上的redis的一些细节
一. 配置Linux服务器上的redis.conf文件1.注释掉bind 127.0.0.12.protected-mode no3.daemonize yes4.最好是自己设置一个密码这样更安全(但是要注意每次启动redis-cli -p 6379服务后需要输入密码才能够使用,这样也保证了安全性)具体操作:在文件中写 requirepass 要设置密码 即可二.(个人认为最容易忽略的一步)在服务器上启动redis服务这里是我的开启指令 redis-server myConfig/r原创 2021-11-15 20:29:46 · 783 阅读 · 0 评论 -
ArrayList源码分析--底层扩容机制
ArrayList源码分析--底层扩容机制欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果原创 2021-10-24 20:54:13 · 862 阅读 · 1 评论 -
(Java) 无重复字符的最长子串(HashMap详解)
题目:给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。一开始我的想法是用list集合做,结果虽然很省空间但是用时过长后来看了大佬们的解析以后才发现自己好傻.....这是改进后的代码:class Solution { public int lengthOfLongestSubstring(String s) { HashMap<Character,Integer> map = new HashMap();...原创 2021-04-19 15:41:00 · 763 阅读 · 3 评论