- 博客(283)
- 资源 (7)
- 收藏
- 关注
转载 The Programmer's Oath程序员的誓言----鲍勃·马丁大叔(Bob Martin)
In order to defend and preserve the honor of the profession of computer programmers,I Promise that, to the best of my ability and judgement:为了捍卫和维护计算机程序员的职业荣誉,我承诺,尽我所能和判断力:I will not produce harmfu...
2019-12-13 14:05:11 1335 2
原创 声明:声明:声明:声明
学习笔记,代码等均有参考,内容来自各大平台,博主,在文章中均已注明,在此对知识分享者表示感谢,如有侵权,望告知,立即删除。
2018-10-25 20:23:28 1423 1
原创 【Spring】聊一聊Autowired和Resource
Autowired在获取bean的时候,先是byType的方式,再是byName的方式。Resource在获取bean的时候,和Autowired相反,先是byName方式,然后再是byType方式。对于日常使用来说,在Spring容器中,两个注解的功能基本是等价的,他们都可以将bean注入到对应的field中。
2024-03-19 22:35:05 526
原创 This license ******** has been suspended. Please contact your license administrator.
上面的原因是因为激活码联网检查后发现过期了。
2024-03-19 22:24:08 1139 5
原创 【深入Java原子类:高性能并发编程的技巧与实践】
之前我们学到volatile关键字,无论是基本数据类型还是引用数据类型,只要被volatile关键字修饰,从JMM的角度分析,该变量就具备了有序性和可见性这两个语义特质,但其无法保证原子性。原子性是指某个操作或者一些列操作要么都成功要么都失败,不允许出现因终端而导致的部分成功或部分失败的情况出现。
2023-09-17 23:46:28 158
原创 【精通性能优化:解锁JMH微基准测试】
JMH是Java Micro Benchmark Harness的简写,是专门用于代码微基准测试的工具集。JMH由实现Java虚拟你的团队开发,现代JVM已经变的越来越智能,在Java文件的编译阶段、类的加载阶段,以及运行阶段都可能进行了不同程度的优化,因此开发者编写的代码未必会像自己所预期的那样具有相同的性能体现,JMH能够让普通开发者能够了解自己所编写的代码运行的情况。JMH GItHub。
2023-08-16 22:25:36 753 2
原创 The server key has changed. Either you are under attack or the administrator changed the key. New se
mac 解决方法:删除 /Users/用户名/.ssh/known_hosts 文件,重新登录即可。一般是 server 端密码或者是其他发生改变的时候(如卸载重装 navicat 时)
2023-05-14 00:42:23 788 1
原创 【8】【用户操作日志】操作日志SpringBootStarter
此版本操作日志主要就是通过AOP拦截器实现的,整体主要分为AOP拦截器、自定义函数、日志上下文、扩展接口;组件提供了6个扩展点,自定义函数、日志上下文、用户信息获取,日志保存,自定义异常获取,入参过滤,业务可以根据自己的业务特性定制符合自己业务的逻辑。
2023-03-04 15:22:33 862 4
原创 【并发编程一】快速认识线程
对计算机来说每一个任务就是一个进程(Process),在每一个进程内部至少有一个线程(Thread)。每一个线程都有自己的局部变量表、程序计数器以及各自的生命周期。启动一个JVM时,OS会创建一个Process,Process会派生出或创建出很多Thread。
2022-12-20 00:04:56 394
原创 【7】【实战分布式锁六】将JAR发布到中央仓库
前面我们完成了自定义redisson-lock-spring-boot-starter,写一个插件我们肯定是希望能够让所有的开发者都可以使用,那么我们就需要将jar包发布到Maven中央仓库(Maven Central Repository):例如但是,Maven中央仓库并不支持直接发布jar包。我们需要将jar包发布到一些指定的第三方Maven仓库,然后该仓库再将jar包同步到Maven中央仓库。其中,最”简单”的方式是通过Sonatype OSSRH仓库来发布jar包。接下来,我会介绍如何将jar包发
2022-10-20 22:53:14 720 1
原创 【6】【实战分布式锁五】Redisson分布式锁Starter
Redisson是架设在Redis基础上的一个Java驻内存数据网格(In-Memory Data Grid)。充分的利用了Redis键值数据库提供的一系列优势,基于Java实用工具包中常用接口,为使用者提供了一系列具有分布式特性的常用工具类。使得原本作为协调单机多线程并发程序的工具包获得了协调分布式多机多线程并发系统的能力,大大降低了设计和研发大规模分布式系统的难度。同时结合各富特色的分布式服务,更进一步简化了分布式环境中程序相互之间的协作。
2022-10-13 00:06:10 911
原创 【5】【实战分布式锁四】编写一个自己的SpringBootStarter
SpringBoot提供的starter以spring-boot-starter-xxx的方式命名,官方建议自定义starter使用xxx-spring-boot-starter规则命名,以区分SpringBoot生态提供的starter。
2022-10-11 01:05:12 620 6
原创 【算法面试必刷Java版二十一】旋转数组的最小数字
有一个长度为 n 的非降序数组,比如[1,2,3,4,5],将它进行旋转,即把一个数组最开始的若干个元素搬到数组的末尾,变成一个旋转数组,比如变成了[3,4,5,1,2],或者[4,5,1,2,3]这样的。请问,给定这样一个旋转数组,求数组中的最小值。
2022-10-07 22:02:59 3191
原创 【算法面试必刷Java版二十】数组中的逆序对
在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P mod 1000000007
2022-10-07 22:01:51 3134
原创 【算法面试必刷Java版十九】寻找峰值
给定一个长度为n的数组nums,请你找到峰值并返回其索引。数组可能包含多个峰值,在这种情况下,返回任何一个所在位置即可。
2022-10-05 16:27:00 3352
原创 【算法面试必刷Java版十八】二维数组中的查找
在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
2022-09-27 23:47:00 3150
原创 【算法面试必刷Java版十六】删除有序链表中重复的元素2
给出一个升序排序的链表,删除链表中的所有重复出现的元素,只保留原链表中只出现一次的元素。
2022-09-26 22:37:10 3366
原创 【算法面试必刷Java版十五】删除有序链表中重复的元素1
删除给出链表中的重复元素(链表中元素从小到大有序),使链表中的所有元素都只出现一次
2022-09-23 23:32:06 2502 3
原创 【算法面试必刷Java版】目录
流程图ProcessOn-链表:https://www.processon.com/view/link/6327386307912955b2f3fb9e。
2022-09-20 23:33:06 1583
原创 【算法面试必刷Java版十】两个链表的第一个公共结点
输入两个无环的单向链表,找出它们的第一个公共结点,如果没有公共节点则返回空。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)
2022-09-14 00:10:43 1367 2
原创 【算法面试必刷JAVA版三】链表中的节点每k个一组翻转
将给出的链表中的节点每 k 个一组翻转,返回翻转后的链表如果链表中的节点数不是 k 的倍数,将最后剩下的节点保持原样你不能更改节点中的值,只能更改节点本身。
2022-08-27 15:39:46 7169 6
原创 【算法面试必刷JAVA版二】链表内指定区间反转
将一个节点数为 size 链表 m 位置到 n 位置之间的区间反转,要求时间复杂度 O(n)*O*(*n*),空间复杂度 O(1)*O*(1)。
2022-08-26 00:09:28 8913 5
原创 【算法面试必刷JAVA版一】反转链表
给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。
2022-08-24 23:54:59 8317 9
原创 【4】【实战分布式锁三】SpringBoot注解整合Redisson分布式锁
Redisson是架设在Redis基础上的一个Java驻内存数据网格(In-Memory Data Grid)。充分的利用了Redis键值数据库提供的一系列优势,基于Java实用工具包中常用接口,为使用者提供了一系列具有分布式特性的常用工具类。...............
2022-08-12 18:34:46 27587 27
原创 【3】【实战分布式锁二】Redisson分布式锁8种锁模式剖析
通俗的讲就是,一个闭锁相当于一扇大门,在大门打开之前所有线程都被阻断,一旦大门打开所有线程都将通过,但是一旦大门打开,所有线程都通过了,那么这个闭锁的状态就失效了,门的状态也就不能变了,只能是打开状态。可重入锁就是我们前面讲解的Redis分布式锁的Redisson实现,对于延时、过期等功能,Redisson内部提供了一个监控锁的看门狗,它的作用是在Redisson实例被关闭前,不断的延长锁的有效期。在锁的抢夺较少的时候就没必要设置成公平锁,毕竟公平锁也是需要成本的。......
2022-08-12 18:34:37 1860 3
原创 【2】【实战分布式锁一】渐进式理解Redis分布式锁
渐进式理解Redis分布式锁。分布式锁需要满足的条件互斥性、同一性、可重入性、容错性,四个条件的含义,为什么需要这个条件,如何理解分布式锁
2022-08-03 01:15:50 869 2
原创 【1】【SpringBoot实战一】SpringBoot整合Redis(含序列化问题)
StringRedisTemplate默认的序列化方式就是String,因此value只能是String类型,如国上面的RedisTemplate配置中将注释部分打开其值就也只能设置为String了。在SpringBoot中,默认集成的Redis就是SpringDataRedis,默认底层的连接池使用了lettuce,开发者可以自行修改为自己的熟悉的,例如Jedis。这里helloObj的key不是乱码是因为我设置了key的序列化方式为String。1.00初始化hello接口。............
2022-07-28 18:51:11 651 1
基于mysql,java swing的酒店管理系统源码
2018-05-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人