04 2020 档案

摘要:在开发中,往往会遇到一些关于延时任务的需求。例如 生成订单30分钟未支付,则自动取消 生成订单60秒后,给用户发短信 对上述的任务,我们给一个专业的名字来形容,那就是延时任务。那么这里就会产生一个问题,这个延时任务和定时任务的区别究竟在哪里呢?一共有如下几点区别 定时任务有明确的触发时间,延时任务没 阅读全文
posted @ 2020-04-30 18:27 myseries 阅读(1129) 评论(0) 推荐(0) 编辑
摘要:出处: 那些惊艳的算法们(三)—— 时间轮 从定时任务说起 自然界中定时任务无处不在,太阳每天东升西落,候鸟的迁徙,树木的年轮,人们每天按时上班,每个月按时发工资、交房租,四季轮换,潮涨潮落,等等,从某种意义上说,都可以认为是定时任务。大概很少有人想过,这些“定时”是怎样做到的。当然,计算机领域的同 阅读全文
posted @ 2020-04-30 17:22 myseries 阅读(5522) 评论(1) 推荐(1) 编辑
摘要:1、Alibaba Java Coding Guidelines 阿里巴巴《Java 开发手册》配套插件,可以实时检测代码中不符合手册规约的地方,助你码出高效,码出质量。 比如说手册里有这么一条; 当我们违反手册规约时,该插件会自动检测并进行提示; 同时提供了一键检测所有代码规约情况和切换语言的功能 阅读全文
posted @ 2020-04-17 23:02 myseries 阅读(797) 评论(0) 推荐(0) 编辑
摘要:传统IO拷贝流程 比如:读取文件,再用socket发送出去 先读取、再发送,实际经过1~4四次copy。 1、第一次:将磁盘文件,读取到操作系统内核缓冲区; 2、第二次:将内核缓冲区的数据,copy到application应用程序的buffer; 3、第三步:将application应用程序buff 阅读全文
posted @ 2020-04-16 18:39 myseries 阅读(1159) 评论(0) 推荐(1) 编辑
摘要:出处: Linux 中的零拷贝技术,第一部分 引言 传统的 Linux 操作系统的标准 I/O 接口是基于数据拷贝操作的,即 I/O 操作会导致数据在操作系统内核地址空间的缓冲区和应用程序地址空间定义的缓冲区之间进行传输。这样做最大的好处是可以减少磁盘 I/O 的操作,因为如果所请求的数据已经存放在 阅读全文
posted @ 2020-04-16 18:20 myseries 阅读(368) 评论(0) 推荐(0) 编辑
摘要:出处: Java编程如何高效利用CPU缓存? 引言 首先我们来看一个Java的例子: public class Main { static long[][] arr; public static void main(String[] args) { arr = new long[1024 * 102 阅读全文
posted @ 2020-04-14 18:20 myseries 阅读(1716) 评论(0) 推荐(1) 编辑
摘要:出处: Java并发工具类之LongAdder原理总结 LongAdder实现原理图 高并发下N多线程同时去操作一个变量会造成大量线程CAS失败,然后处于自旋状态,导致严重浪费CPU资源,降低了并发性。既然AtomicLong性能问题是由于过多线程同时去竞争同一个变量的更新而降低的,那么如果把一个变 阅读全文
posted @ 2020-04-14 17:30 myseries 阅读(2062) 评论(0) 推荐(0) 编辑
摘要:出处: Java 线程池实现原理及其在美团业务中的实践 随着计算机行业的飞速发展,摩尔定律逐渐失效,多核CPU成为主流。使用多线程并行计算逐渐成为开发人员提升服务器性能的基本武器。J.U.C提供的线程池ThreadPoolExecutor类,帮助开发人员管理线程并方便地执行并行任务。了解并合理使用线 阅读全文
posted @ 2020-04-12 22:47 myseries 编辑
摘要:一、Apache Bench简介 ApacheBench 是 Apache 服务器自带的一个web压力测试工具,简称ab。ab又是一个命令行工具,对发起负载的本机要求很低,根据ab命令可以创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问,因此可以用来测试目标服务器的负载压力。总的来 阅读全文
posted @ 2020-04-11 16:12 myseries 阅读(759) 评论(0) 推荐(0) 编辑
摘要:关于 Redis HyperLogLog 在说明 HyperLogLog 之前,我们需要先了解一个概念:基数统计。维基百科中的解释是: cardinality of a set is a measure of the “number of elements“ of the set 它的意思是:一个集 阅读全文
posted @ 2020-04-10 23:29 myseries 阅读(901) 评论(0) 推荐(0) 编辑
摘要:大家在使用Git时,都会选择一种Git客户端,在IDEA中内置了这种客户端,可以让你不需要使用Git命令就可以方便地进行操作,本文将讲述IDEA中的一些常用Git操作。 环境准备 使用前需要安装一个远程的Git仓库和本地的Git客户端,具体参考:10分钟搭建自己的Git仓库。 由于IDEA中的Git 阅读全文
posted @ 2020-04-09 23:40 myseries 编辑
摘要:出处: Java代码实现负载均衡五种算法 前言: 负载均衡是为了解决并发情况下,多个请求访问,把请求通过提前约定好的规则转发给各个server。其中有好几个种经典的算法。在用java代码编写这几种算法之前,先来了解一下负载均衡这个概念。 1.概念 负载,从字面意思可以分析,是指后端server可以承 阅读全文
posted @ 2020-04-09 22:24 myseries 阅读(4674) 评论(0) 推荐(1) 编辑
摘要:作者:jiaxin 出处:http://www.cnblogs.com/YangJiaXin/ 目录 背景 分析测试 select xxx_record语句 delete xxx_record语句 实施 索引优化后 delete大表优化为小批量删除 总结 背景 XX实例(一主一从)xxx告警中每天凌 阅读全文
posted @ 2020-04-08 18:51 myseries 阅读(812) 评论(0) 推荐(0) 编辑
摘要:出处: 盘点 10 个代码重构的小技巧 No.1:重复代码的提炼 重复代码是重构收效最大的手法之一,进行这项重构的原因不需要多说。它有很多很明显的好处,比如总代码量大大减少,维护方便,代码条理更加清晰易读。 它的重点就在于寻找代码当中完成某项子功能的重复代码,找到以后请毫不犹豫将它移动到合适的方法当 阅读全文
posted @ 2020-04-07 21:49 myseries 阅读(1231) 评论(0) 推荐(1) 编辑
摘要:出处:wireshark抓包工具详细说明及操作使用 wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。为了安全考虑,wireshark只能查看封包,而不能修改封包的 阅读全文
posted @ 2020-04-07 14:41 myseries 阅读(6956) 评论(1) 推荐(4) 编辑
摘要:出处: 链接:https://juejin.im/post/5de2553e5188256e885f4fa3 来源:掘金 首先我给大家看一张图,如果大家对这张图有些地方不太理解的话,我希望你们看完我这篇文章会恍然大悟。 总体架构 什么是Spring cloud 构建分布式系统不需要复杂和容易出错。S 阅读全文
posted @ 2020-04-05 23:06 myseries 阅读(429) 评论(0) 推荐(0) 编辑
摘要:前言 在一个分布式高并发的系统设计中,限流是一个不可忽视的功能点。如果不对系统进行有效的流量访问限制,在双十一和抢票这种流量洪峰的场景下,很容易就会把我们的系统打垮。而作为系统服务的卫兵的网关组件,作为系统服务的统一入口,更需要考虑流量的限制,直接在网关层阻断流量比在各个系统中实现更合适。Sprin 阅读全文
posted @ 2020-04-04 22:01 myseries 阅读(930) 评论(0) 推荐(0) 编辑
摘要:先来个事例实现: RateLimiter是Guava的一个限流组件,我这边的系统就有用到这个限流组件,使用起来十分方便。 引入pom依赖: <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> 阅读全文
posted @ 2020-04-04 22:00 myseries 阅读(3622) 评论(0) 推荐(0) 编辑
摘要:1:为什么要限流? 1)系统有自己的承载能力范围 2)防止恶意攻击 3)防止级联故障 4)。。。 2:限流算法 1)计数器 2)滑动窗口 3)令牌桶算法 4)漏桶算法 3:限流的实现方式有哪些? 1)java的信号量 2)redis计数器 3)guava的RateLimiter 4)springcl 阅读全文
posted @ 2020-04-04 21:59 myseries 阅读(507) 评论(0) 推荐(0) 编辑
摘要:原文地址:https://www.toutiao.com/a6777338939360412171/ 1 开篇 相信大家都用过事务以及了解他的特点,如原子性(Atomicity),一致性(Consistency),隔离型(Isolation)以及持久性(Durability)等。今天想跟大家一起研究 阅读全文
posted @ 2020-04-02 22:12 myseries 阅读(362) 评论(0) 推荐(0) 编辑