摘要: 导读 《数据密集型应用系统设计》(豆瓣9.7)作者、著名分布式系统专家Martin和Redis作者antirez之间曾经发生过一场著名的"华山论剑",Martin认为antirez基于Redis设计的分布式锁“不伦不类”,“很糟糕”,antirez则做出了有力的反击,两位神仙打架,非常精彩。 想要理 阅读全文
posted @ 2021-06-18 10:47 张颖辉 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 小宇:闪客,我最近看到线程池,被里边乱七八槽的参数给搞晕了,你能不能给我讲讲呀? 闪客:没问题,这个我擅长,咱们从一个最简单的情况开始,假设有一段代码,你希望异步执行它,是不是要写出这样的代码? new Thread(r).start(); 小宇:嗯嗯,最简单的写法似乎就是这样呢。 闪客:这种写法当 阅读全文
posted @ 2021-06-17 16:18 张颖辉 阅读(75) 评论(0) 推荐(0) 编辑
摘要: ava多线程开发时,常常用到线程池技术,这篇文章是对创建java线程池时的七个参数的详细解释。 从源码中可以看出,线程池的构造函数有7个参数,分别是corePoolSize、maximumPoolSize、keepAliveTime、unit、workQueue、threadFactory、hand 阅读全文
posted @ 2021-06-17 15:27 张颖辉 阅读(964) 评论(0) 推荐(1) 编辑
摘要: jdk1.7.0_79 众所周知,Java是一门不用程序员手动管理内存的语言,全靠JVM自动管理内存,既然是自动管理,那必然有一个垃圾内存的回收机制或者回收算法。本文将介绍几种常见的垃圾回收(下文简称GC)算法。 在Java堆上分配一个内存给实例对象时,此时在虚拟机栈上引用型变量就会存放这个实例对象 阅读全文
posted @ 2021-06-16 19:06 张颖辉 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 概述 在我们学习Java的IO流之前,我们都要了解几个关键词 同步与异步(synchronous/asynchronous):同步是一种可靠的有序运行机制,当我们进行同步操作时,后续的任务是等待当前调用返回,才会进行下一步;而异步则相反,其他任务不需要等待当前调用返回,通常依靠事件、回调等机制来实现 阅读全文
posted @ 2021-05-17 18:40 张颖辉 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 很好的一篇文章: https://mp.weixin.qq.com/s/X6c_H5_4OInR8nFQVn7IMA 阅读全文
posted @ 2021-05-14 15:10 张颖辉 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 今天从慢查询发现一条语句查询时间达6秒。结果只查出一条记录。 原语句如下 SELECT biz_order_id, buyer_id, buyer_nick, gmt_create, gmt_modified, attributeCc, seller_id FROM trade.biz_order 阅读全文
posted @ 2021-05-13 19:35 张颖辉 阅读(1746) 评论(0) 推荐(0) 编辑
摘要: 前言 Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8和Netty 3.10.6)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。 Java中往往是按照是否含有某一特性来定义锁,我们通过特性 阅读全文
posted @ 2021-04-13 20:52 张颖辉 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 事务的基本要素 ACID- 原子性, 一致性,隔离性,持久性 Atomicity(原子性):一个事务(transaction)中的所有操作,或者全部完成,或者全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被恢复(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。 阅读全文
posted @ 2021-04-13 20:46 张颖辉 阅读(193) 评论(0) 推荐(0) 编辑