沉默的背影 X-Pacific

keep learning

摘要: 最早读《深入理解java虚拟机》对于volatile部分就没有读明白,最近重新拿来研究并记录一些理解 理解volatile前需要把以下这些概念或内容理解: 1、JMM内存模型 2、并发编程的三问题:原子性、一致性、有序性 3、先行发生原则 然后我们结合上面的几个知识点来看volatile如何使用 J 阅读全文
posted @ 2019-05-11 14:19 乂墨EMO 阅读(392) 评论(0) 推荐(0)
摘要: 多线程运行程序的目的一般是提高程序运行效率并且能够提高硬件的利用率比如多核CPU,但是如果我们只有单核CPU并发运行程序会怎样呢? 我以两个环境作为对比: 环境A(我本机8c) 环境B(我的云服务器1c) 分别运行并发、串行需要CPU参与的代码 这里需要注意,如果我运行Thread.sleep这种代 阅读全文
posted @ 2019-05-06 11:53 乂墨EMO 阅读(1196) 评论(0) 推荐(0)
摘要: 上一篇文章通过redis实现的抢红包通过测试发现有严重的阻塞的问题,抢到红包的用户很快就能得到反馈,不能抢到红包的用户很久(10秒以上)都无法获得抢红包结果,起主要原因是: 1、用了分布式锁,导致所有的操作只能顺序排队,而后面没有抢到红包的需要等待前面抢红包的同学完事后他才能去看自己是否已经抢到红包 阅读全文
posted @ 2019-05-05 16:28 乂墨EMO 阅读(1754) 评论(1) 推荐(0)
摘要: 建议结合下一篇一起看 下一篇 数据结构+基础设施 数据结构 这里通过spring-data-jpa+mysql实现DB部分的处理,其中有lombok的参与 REDIS数据结构 REDIS对于一个红包存储3部分信息: 1、KEY:红包ID+_TAL_PACKET VALUE:红包剩余数量 2、KEY: 阅读全文
posted @ 2019-05-01 10:42 乂墨EMO 阅读(1747) 评论(0) 推荐(0)
摘要: 首先,一致性哈希是对经典哈希的一个改造 经典的哈希方法使用哈希函数来生成伪随机数,然后除以内存空间的大小,将随机标识符转变成可用空间内的一个位置 location = hash(key)mod size 在经典哈希方法中,我们总是假设:内存位置的数量是已知的,而且这个数永远不变 但是这种哈希处理模型 阅读全文
posted @ 2019-04-28 21:30 乂墨EMO 阅读(1146) 评论(0) 推荐(0)
摘要: 缓存雪崩和缓存穿透并不是一个概念 缓存雪崩 当缓存失效或缓存数据还没有准备就绪时,高并发请求接入时无法阻挡,从而接入数据库导致数据库宕机或者延迟,而数据库又被大量其他服务所依赖导致大面积服务崩溃,最终导致整个系统或网站的崩溃。 解决方案: 1、分布式锁:只有一个线程能获得锁,获得后判断缓存数据是否存 阅读全文
posted @ 2019-04-15 21:13 乂墨EMO 阅读(356) 评论(0) 推荐(0)
摘要: 关于tomcat的classloader相关的帖子网上非常多,我觉得比较好的有: https://www.jianshu.com/p/d90e4430b0b9 https://blog.csdn.net/qq_38182963/article/details/78660779 但是看了很多文章都说t 阅读全文
posted @ 2019-04-13 20:09 乂墨EMO 阅读(388) 评论(0) 推荐(0)
摘要: spring-data-JPA源码部分有两个很重要的部分:1、识别repositories接口 2、将接口添加代理实现类并托管spring管理 JpaRepositoriesRegistrar 目的是将范围内的接口准备作为springbean进行处理(有beanFactory辅助) 如果在启动类上添 阅读全文
posted @ 2019-04-13 16:54 乂墨EMO 阅读(3151) 评论(0) 推荐(0)
摘要: springboot自动配置的核心思想是:springboot通过spring.factories能把main方法所在类路径以外的bean自动加载 springboot starter验证 我在springboot启动方法所辖的包外添加三个类: 在main方法所在包范围内新建Controller 会 阅读全文
posted @ 2019-04-13 16:25 乂墨EMO 阅读(2594) 评论(0) 推荐(0)
摘要: //切面中搞: Map map = (Map)ApplicationContextHelper.getBean(proceedingJoinPoint.getTarget().getClass()); ExcelDistributedReadIntf intf = null; String beanid = ""; for (String key ... 阅读全文
posted @ 2018-07-26 14:39 乂墨EMO 阅读(3250) 评论(0) 推荐(0)
摘要: file-leak-detector作者博客详见: http://file-leak-detector.kohsuke.org/ file-leak-detector学习贴: https://blog.coding.net/blog/java-file-leaks 下面是linux服务器+weblo 阅读全文
posted @ 2018-06-21 10:24 乂墨EMO 阅读(1358) 评论(0) 推荐(0)
摘要: 1、准备安装程序(官方网站下载) https://downloads.mysql.com/archives/get/p/23/file/mysql-community-server-5.7.28-1.el6.x86_64.rpm 服务端:MySQL-server-community-5.1.44-1 阅读全文
posted @ 2016-08-22 19:17 乂墨EMO 阅读(11673) 评论(0) 推荐(0)