- 博客(22)
- 收藏
- 关注
原创 2020年最新Java学习路线图(干货)
第一阶段:Java基础学习路线2. 学习资源超全面java编程入门教程,零基础小白自学java基础教程_哔哩哔哩 (゜-゜)つロ 干杯~-bilibiliwww.bilibili.com第二阶段:数据库学习路线2. 学习资源Mysql:【面试必会】mysql数据库优化全剖析_哔哩哔哩 (゜-゜)つロ 干杯~-bilibiliwww.bilibili.comOracle:4天快速入门oracle数据库_哔哩哔哩 (゜-゜)つロ 干杯~-bilibiliww
2020-12-15 09:50:01 529
转载 超卖100瓶茅台事故分析,java并发处理
来源 |https://urlify.cn/MVBvmy基于Redis使用分布式锁在当今已经不是什么新鲜事了。本篇文章主要是基于我们实际项目中因为redis分布式锁造成的事故分析及解决方案。我们项目中的抢购订单采用的是分布式锁来解决的,有一次,运营做了一个飞天茅台的抢购活动,库存100瓶,但是却超卖了100瓶!要知道,这个地球上飞天茅台的稀缺性啊!!!事故定为P0级重大事故...只能坦然接受。整个项目组被扣绩效了~~事故发生后,CTO指名点姓让我带头冲锋来处理。好吧,冲~事故现场经.
2020-12-15 09:18:30 321
原创 阿里云Centos7.5下docker中安装elasticSearch,elasticsearch-head及问题解决
docker安装在之前的博客中有写https://mp.csdn.net/postedit/103584895,下面直接进入elasticSearch的安装1.elasticSearch查询docker search elasticsearch2.指定pull的镜像版本镜像pull镜像,这里使用7.5.0版本docker pull elasticsearch:7.5.03...
2020-01-09 14:18:19 846
原创 邮箱正则校验
"^\\s*\\w+(?:\\.{0,1}[\\w-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*\\.[a-zA-Z]+\\s*$"这个是一个企业级的程序里copy出来的。合法E-mail地址:1. 必须包含一个并且只有一个符号“@”2. 第一个字符不得是“@”或者“.”3. 不允许出现“@.”或者.@4. 结尾不得是字符“@”或者“.”...
2019-06-28 11:16:59 10122
转载 这16个有用的 SpringBoot 扩展接口,居然还有人不知道?
我们从这些的扩展点当中,大致可以窥视到整个bean的生命周期。在业务开发或者写中间件业务的时候,可以合理利用spring提供给我们的扩展点,在spring启动的各个阶段内做一些事情。以达到自定义初始化的目的。此篇总结,如果有错误或者疏漏的地方,恳请指正。来源:www.jianshu.com/p/38d834db7413。
2022-10-11 10:29:42 231 1
原创 我是如何做真正千万级并发的购物车系统设计与代码详解
购物车写多读多,大量高并发的写大量高并发的读,可以把主数据存储转为 redis 缓存,基于 redis 做主存储,高性能读写异步的把数据同步到 mysql 持久化。 本文主要介绍redis在千万级系统中设计架构方案,包括主架构设计、缓存一致性方案、大value处理方案和redis限流和故障恢复降级方案...
2022-08-15 16:18:16 986
原创 程序员必备的代码审查(Code Review)清单
在我们关于高效代码审查的博文中,我们建议使用一个检查清单。在代码审查中,检查清单是一个非常好的工具——它们保证了审查可以在你的团队中始终如一的进行。它们也是一种保证常见问题能够被发现并被解决的便利方式。软件工程学院的研究表明,程序员们会犯15-20种常见的错误。所以,通过把这些错误加入到检查清单当中,你可以确保不论什么时候,只要这些错误发生了,你就能发现它们,并且可以帮助你杜绝这些错误。为了帮助你开始创建一个清单,这里列出了一些典型的内容:代码审查清单。常规项代码能够工作么?它有没有实现预期
2021-09-30 11:00:20 1471
原创 访问github慢如蜗牛,9种方法加速github访问
经常有不少粉丝问我,github 访问超级慢,有没有办法加快,我当初推荐的第 9 种方法。这种方法太过麻烦,直到最近我在网上看到有牛人总结的 GitHub 的 9 种加速方式,感觉还不错,小伙伴们可以试试!1. GitHub 镜像访问这里提供两个最常用的镜像地址:https://github.com.cnpmjs.orghttps://hub.fastgit.org也就是说上面的镜像就是一个克隆版的 GitHub,你可以访问上面的镜像网站,网站的内容跟 GitHub 是完整同步的镜像,然后
2021-09-30 10:30:24 5719
原创 【如何有效做Code Review】8行代码提出的21个问题
简介:- 很多同学都有这个疑问,如何结构化体系化的做CR?如何综合应用各种手段尽快及早的发现代码问题和缺陷? - 下面围绕这个实例,抛砖引玉,大家可以一起探讨; - 实例如下 ,短短8行代码,通过CR可以发现多少问题呢?21处;这段代码谁写的不重要,探讨的重点是如何全面发现其中的问题和隐患; 8行代码的21问题1. 如何有效的做CR?很多同学都有这个疑问,如何结构化体系化的做CR?如何综合应用各种手段尽快及早的发现代码问题和缺陷?下面围绕这个实例,抛砖引玉,大家可以一起探讨;...
2021-07-19 11:48:14 597
原创 ThreadLocal使用及原理
什么是ThreadLocalThreadLocal类顾名思义可以理解为线程本地变量。也就是说如果定义了一个ThreadLocal,每个线程往这个ThreadLocal中读写是线程隔离,互相之间不会影响的。它提供了一种将可变数据通过每个线程有自己的独立副本从而实现线程封闭的机制。实际应用实际开发中我们真正使用ThreadLocal的场景还是比较少的,大多数使用都是在框架里面。最常见的使用场景的话就是用它来解决数据库连接、Session管理等保证每一个线程中使用的数据库连接是同一个。还有一个用的比
2021-07-19 11:45:39 422
转载 Redis 的八大数据类型
来源 |https://blog.itzhouq.cn/redis2NoSQL 开发中或多或少都会用到,也是面试必问知识点。最近这几天的面试每一场都问到了,但是感觉回答的并不好,还有很多需要梳理的知识点,这里通过几篇 Redis 笔记整个梳理一遍。关注公众号Java技术栈回复面试也可以刷我整理的系列面试题。Redis 的八大数据类型官网可查看命令:http://www.redis.cn/commands.htmlRedis-key127.0.0.1:6379>keys*...
2020-12-15 09:20:18 171
转载 spring-boot 接口放刷及反爬虫
kk-anti-reptile 是适用于基于 spring-boot 开发的分布式系统的反爬虫组件。系统要求 基于 spring-boot 开发(spring-boot1.x, spring-boot2.x均可) 需要使用 redis 工作流程kk-anti-reptile 使用基于 Servlet 规范的的 Filter 对请求进行过滤,在其内部通过 spring-boot 的扩展点机制,实例化一个 Filter,并注入到 Spring 容器 FilterRegistratio
2020-12-15 09:05:34 238 1
转载 如何做压测?
简介:压测的一般流程和方法是什么?需要关注哪些数据指标?如何推算后端需要支持的qps?本文分享总结压测过程中需要注意的问题,希望对同学们有所启发,欢迎讨论~一 压测目标在开始做压测计划之前,一定要先明确压测的目标是什么,虽然最终的目标肯定都是优化系统的性能,但是不同的出发点,可能需要采取不同的方法。一般来说,可能有以下一些目的:1 挖掘系统瓶颈点,优化系统性能尤其对新系统上线,缺乏性能基线数据,此时压测一般没有明确的qps/rt等指标,而是通过不断施压,不断逼近系统的极限,从而暴
2020-12-14 10:38:40 817 1
原创 不会生成随机数?我们来看看java生成随机数的10种方法
1.引言本文将探讨用 Java 生成随机数的不同方法。2.Java APIJava API 提供了几种随机数生成方法。让我们一起来了解一下。2.1.java.lang.MathMath 类中的 random 方法返回一个 [0.0, 1.0) 区间的 double 值。下面这段代码能得到一个 min 和 max 之间的随机数:int randomWithMathRandom = (int) ((Math.random() * (max - min)) + min);2.2.ja
2020-10-26 11:05:53 931
原创 Idea 可以正常运行,但是显示类找不到,报红问题解决
如果出现这样的问题,这个类明明存在,运行也是正常的,但是就是报红可以这样解决,在file里 Invalidate Caches / Restart 然后 选择Invalidate And Restart 这样就可以解决了
2020-06-29 11:41:32 8615 6
原创 Nginx是如何支持并运转高并发的
说Nginx,那首先我们说一下Nginx是什么?下面是来自官方的一段翻译: NGINX是一个免费的,开源的高性能HTTP服务器和反向代理,以及IMAP / POP3代理服务器。NGINX以其高性能,稳定性,丰富的功能集,简单的配置和低资源消耗而闻名。NGINX是为解决C10K问题而编写的少数服务器之一。与传统服务器不同,NGINX不依赖线程来处理请求。相反,它使用更...
2019-12-19 18:03:18 845
原创 Idea 设置代码自动换行及格式化的时候自动换行
1.设置代码编写的时候超过120 columns自动换行2.设置代码格式化的时候自动换行
2019-12-18 10:36:38 12677 1
原创 阿里云Centos7.5下docker中安装MariaDB
关于Centos7.5下docker的安装请参考https://blog.csdn.net/guohuan126/article/details/103584895一、安装mariadb1、拉取mariadb镜像docker pull mariadb2、创建存储文件夹mkdir -p /data/mysql3、运行容器docker run -v /data/m...
2019-12-18 09:52:09 435
原创 阿里云centos7.5 阿里云安装docker
一、安装docker1、判断系统内核版本,docker 系统的内核版本高于 3.10[root@localhost ~]# uname -r3.10.0-1062.el7.x86_642、更新centos系统,一直选y执行完[root@localhost ~]# sudo yum update3、 安装需要的软件包, yum-util 提供yum-config-ma...
2019-12-17 17:50:51 205
原创 配置Centos7 SSH密钥登陆及密码密钥双重验证
配置Centos7 SSH密钥登陆及密码密钥双重验证一、首先登陆centos,切换用户,切换到你要免密码登陆的用户,进入到家目录,以下我以root为例,命令:su rootcd ~二、创建钥匙,命令:ssh-keygen -t rsa,一路按Y搞定三、按照流程走完后会在 ~/.ssh目录下(用户所在家目录下的.ssh目录)看到id_rsa, id_rsa.pub文件 第...
2019-12-17 17:28:29 1255
原创 Mac下使用终端登陆远程服务器
前提:已有公钥、秘钥,已拥有访问远程主机的权限配置1.进入cd~/.ssh/2.创建config文件 echo config3.编辑config文件 vi configHost 别名(随便起名)HostName 远程ip地址User 登陆的用户名IdentityFile 秘钥所在的路径5.保存并推出 :wq6.连接ssh 别名 ...
2019-06-26 11:56:14 726
原创 Docker 的应用场景在哪里?
1. 简化配置这是Docker公司宣传的Docker的主要使用场景。虚拟机的最大好处是能在你的硬件设施上运行各种配置不一样的平台(软件、系统),Docker在降低额外开销的情况下提供了同样的功能。它能让你将运行环境和配置放在代码中然后部署,同一个Docker的配置可以在不同的环境中使用,这样就降低了硬件要求和应用环境之间耦合度。2. 代码流水线(Code Pipeline)管理前一个场景对于管...
2019-06-26 11:20:05 304
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人