自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 收藏
  • 关注

原创 nacos源码下载导入idea和maven编译

源码下载本章节主要讲源码如何下载,如何导入为idea识别的maven模块。只是为了编译源代码为可执行程序的话,是不需要导入idea项目模块儿那些操作的,可忽略本章节直接看nacos编译章节。代码地址虽然nacos官网提供了编译好的nacos包,但本人更喜欢编译源码,项目github地址:https://github.com/alibaba/nacos如果有懒得不想打开github的话,也可以直接用这个git地址去下载:https://github.com/alibaba/nacos.git

2022-05-03 02:35:08 2889

原创 jdk动态代理原理源码深度分析

这里写自定义目录标题简单实例运行原理分析动态代理精华分析类Proxy-创建动态代理对象简单实例接口:package com.example.demo0423.proxy;public interface ProxyTest { void send(String msg);}实现类:package com.example.demo0423.proxy;public class ProxyTestImpl implements ProxyTest{ @Override

2022-05-01 21:32:05 1002 3

原创 idea开启多线程调试模式

在一些开发场景中,需要开启多线程调试模式,基于idea,代码如下​package com.example.demo0423.singleton;public class Task1 implements Runnable { @Override public void run() { System.out.println("1"); System.out.println("1"); System.out.println(...

2022-04-23 22:38:46 6266 1

原创 kafka笔记

现在时间2019年12月27日晚上19点28分,终于搞定了搭建工作,可以松口气了。特么的。用了多年maven,本没把maven项目搭建放在眼里,今天却栽了一次。 ...

2021-07-25 12:50:00 163

转载 一文讲懂什么是vlan、三层交换机、网关、DNS、子网掩码、MAC地址

很多朋友多次问到什么是网关、dns、子网掩码,三层交换机,它们定位的用途;确实,因为网络技术在弱电中确实应用非常广泛,我们平时在vip技术群中也是不断的讨论到网关、vlan、三层交换机或子网掩码等问题,今天我们就一起用通俗方式一次性了解清楚。一、什么是vlan?VLAN中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也就是广播域。听上面的概念,肯定有不少朋友是一头雾水的,什么是虚拟局域.

2021-01-08 10:22:44 339

转载 一文读懂Redis常见对象类型的底层数据结构

Redis是一个基于内存中的数据结构存储系统,可以用作数据库、缓存和消息中间件。Redis支持五种常见对象类型:字符串(String)、哈希(Hash)、列表(List)、集合(Set)以及有序集合(Zset),我们在日常工作中也会经常使用它们。知其然,更要知其所以然,本文将会带你读懂这五种常见对象类型的底层数据结构。本文主要内容参考自《Redis设计与实现》对象类型和编码Redis使用对象来存储键和值的,在Redis中,每个对象都由redisObject结构表示。redisObject结构

2020-11-08 10:15:23 150

原创 2020-11-08

在了解JRebel之前,大家可以先看看之前分享的文章《一款被大家低估的微服务场景下性能问题排查神器!》,这篇文章中的XReble与本文的JReble出自同一家公司,都是神器。在 Java Web 开发中, 一般更新了 Java 文件后要手动重启 Tomcat 服务器, 才能生效, 浪费不少生命啊, 自从有了 JRebel 这神器的出现, 不论是更新 class 类还是更新 Spring 配置文件都能做到立马生效,大大提高开发效率。JRebel 安装JRebel 的安装方法有两种,..

2020-11-08 10:11:10 125

转载 要想代码写的好,这几款IDEA插件你离不了!

在写代码的时候,有几个 IDEA 插件对于我规范代码以及更高效地完成编码工作有奇效。01 Codota:代码智能提示我一直在用的一个插件,可以说非常好用了(我身边的很多大佬平时写代码也会用这个插件)。Codota 这个插件用于智能代码补全,它基于数百万Java程序,能够根据程序上下文提示补全代码。相比于IDEA自带的智能提示来说,Codota 的提示更加全面一些。如果你觉得 IDEA 插件安装的太多比较卡顿的话,不用担心!Codota 插件还有一个对应的在线网站(https://www.co

2020-11-08 10:00:50 165

转载 微信扫码支付实时通知用户订单支付状态

前言个人支付上线有一段时间了,也产生了几百条订单,不少热心的同志一分、一毛的在支付,都是满满的热情啊!为了更好的服务大家,小编决定接入实时通知用户订单支付状态的小功能。实现思路市面上一般有两种实现思路: 轮询,就是前端定时向后端发送请求,查询订单是否支付 WebSocket实现,服务器收到回调信息后主动推送消息到前端 优缺点: 轮询,服务端浪费CPU、内存和带宽资源,客户端占用较多的内存资源与请求数,非实时,延迟取决于请求间隔。 WebSocket,实时,CP

2020-11-08 09:58:29 1734 1

转载 Centos7搭建k8s环境教程,一次性成功!

一. 为什么是k8s v1.16.0?最新版的v1.16.2试过了,一直无法安装完成,安装到kubeadm init那一步执行后,报了很多错,如:node xxx not found等。centos7都重装了几次,还是无法解决。用了一天都没安装完,差点放弃。后来在网上搜到的安装教程基本都是v1.16.0的,我不太相信是v1.16.2的坑所以先前没打算降级到v1.16.0。没办法了就试着安装v1.16.0版本,竟然成功了。记录在此,避免后来者踩坑。本篇文章,安装大步骤如下: ...

2020-11-08 09:56:31 203

原创 大厂之巅

一位华为内部HR表示,面了很多程序员,确实是奔着高薪来的,有个二本程序员面后端岗位,两年时间见过9次,结果像Seata、Nacos,Sentinel,Eureka等这些在工作中都有涉及过的技术,面试官会问的这么深入——  1、微服务注册中心的注册表如何更好的防止读写并发冲突?  2、Eureka注册表多级缓存架构有了解过吗?  3、Nacos如何支撑阿里巴巴内部上百万服务实例的访问?  4、Nacos高并发异步注册架构知道如何设计的吗?  5、Sentinel底层滑动时间窗限流算法怎么实

2020-10-17 10:59:39 132 1

转载 RESTful API 设计规范

RESTful 是目前最流行的 API 设计规范,用于 Web 数据接口的设计。它的大原则容易把握,但是细节不容易做对。本文总结 RESTful 的设计细节,介绍如何设计出易于理解和使用的 API。一 URL设计动词+宾语RESTful的核心思想就是,客户端发出的数据+操作指令都是“动词+宾语”的结构,比如GET /articles这个命令,GET是动词,/articles是宾语,动词通常就有5种HTTP请求方法,对应CRUD操作,根据 HTTP 规范,动词一律大写。# GET:读取(

2020-07-21 09:57:20 126

原创 面试题分享

一朋友整理的面试真题,看看你能拿下几个?调用其他厂商的接口,如果由于网络原因一直没有返回,会对系统产生什么影响?如何规避这种风险?如何在hystrix的降级方法中捕获异常?Hystrix的降级方法,返回值可以与业务方法不一样吗?Hystrix如何配置服务熔断?是否可以用本地缓存(比如guava cache)替代redis?当一个项目从单体架构转换为微服务架构之后,有哪些技术点需要考虑?你是否做过单体工程改造为微服务架构工程的工作?说说改造的要点,你是怎么做的?现在有一个查询接

2020-05-15 14:25:02 194

原创 sychronized锁优化

了解锁优化相关的知识,需要大致了解一以下概念:内核态和用户态 对象结构 cas自旋 1内核态和用户态 这两个概念是针对操作系统而言的,其实作为开人人员,可以不了解这些概念其实也可以敲出牛逼的程序。但是为了敲的更好还是了解下吧。操作系统是我们人类和冷冰冰的机器交互的中介,其实也可以把操作系统理解为一个软件,不过是这个软件上运行着许多其它软件,我们通过操作系统来操作硬...

2020-05-04 21:18:41 194

原创 nginx配置代理多个上游服务

项目有开发环境和测试环境,两个环境都用nginx代理静态网页,用nginx代理端口转发请求道真正的后端服务。并且这是两套完全不同的环境。只是nginx软件部署到了一个机器上,所以要用nginx代理开发请求到一个端口,代理测试环境请求到另一个端口。那这就需要nginx监听两个端口了。没配置之前,我做过如下配置测试:http { include mime.types; ...

2020-03-23 10:54:53 913

原创 不敢相信?System.currentTimeMillis()存在性能问题

System.currentTimeMillis()是极其常用的基础Java API,广泛地用来获取时间戳或测量代码执行时长等,在我们的印象中应该快如闪电。但实际上在并发调用或者特别频繁调用它的情况下(比如一个业务繁忙的接口,或者吞吐量大的需要取得时间戳的流式程序),其性能表现会令人大跌眼镜。直接看代码 public class CurrentTimeMillisPerfDem...

2019-12-22 23:54:22 131

原创 亿级用户分布式存储,这些方案你都会了吗?

分布式数据库和分布式存储是分布式系统中难度最大、挑战最大,也是最容易出问题的地方。互联网公司只有解决分布式数据存储的问题,才能支撑更多次亿级用户的涌入。接下来,你将花费十分钟掌握以下三方面内容:1、MySQL复制:包括主从复制和主主复制;2、数据分片:数据分片的原理、分片的方案、分片数据库的扩容;3、数据库分布式部署的几种方案。一、MySQL复制1.1、MySQL的...

2019-12-22 23:54:18 224

转载 深入理解分布式锁

为什么需要分布式锁如上图,在分布式系统中,订单模块为了迎战高并发,订单服务被横向拆分,拆分成了不同的进程,就像上图,两个人同时访问订单服务,然后订单系统1和订单系统2共用一个Mysql当成数据库,经过他们查询发现仅有一件商品,所以他们自个认为都可以下单如果不加锁限制,可能会出现库存减为负数的情况怎么办呢?如上图mysql自带行级锁,可以考虑使用它的行级锁,可以保证数据的安全...

2019-12-22 23:53:15 108

原创 Redis 经典 必问21问,BAT面试都会问,你会回答吗?

1.什么是redis?Redis 是一个基于内存的高性能key-value数据库。2.Reids的特点Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Val...

2019-12-22 23:52:41 99

原创 Intellij idea+springboot+maven项目配置mybatis自动生成dao层代码

眼下ssm项目基于springboot开发已是大势所趋,使用ssm框架,当然大多数人都会想到用mybatis-generator工具生成dao层接口和xml配置文件。目前我就是自己公司项目转springboot,我把开发工具也从eclipse换成了idea,但是原来eclipse里装了插件能正产生成mybatis代码的配置,到idea就不管用了,报错如下:[ERROR] No plugin f...

2019-12-07 13:14:29 419

原创 分布式缓存竟这样把注册中心搞垮

上个月,我们的系统因注册中心崩塌而引发的一场事故,本是一件稀松平常的事件,可我们猜中了开始却没料到原因,始作俑者竟是已在产线运行多年的某分布式缓存系统。回顾一下故障过程这到底是怎么一回事呢?先来回顾一下故障过程。11 月,某交易日的上午 10 点左右。在中间件监控系统没有触发任何报警的情况下,某应用团队负责人突然跑过来说:“怎么缓存响应这么慢?你们在干什么事吗?”...

2019-11-12 07:16:26 74

原创 八大常见排序算法-算法面试

概述排序分为内部排序和外部排序,内部排序是待排序的元素全部放在内存,并在内存中调整它们的顺序。外部排序是部分元素放到内存中,在内外存间调整元素的顺序。我们通常说的八大排序直接插入排序、希尔排序、简单选择排序、冒泡排序、快速排序、堆排序、归并排序、基数排序都是内部排序,下面来具体介绍这八种排序的如何用Java实现,以及它们所需的时间复杂度和空间复杂度。直接插入排序基本思想:将一个待...

2019-11-12 07:16:05 89

原创 教你设计一个通用分布式事务框架!

一个TCC事务框架需要解决的当然是分布式事务的管理。关于TCC事务机制的介绍,可以参考TCC事务机制简介。TCC事务模型虽然说起来简单,然而要基于TCC实现一个通用的分布式事务框架,却比它看上去要复杂的多,不只是简单的调用一下Confirm/Cancel业务就可以了的。本文将以Spring容器为例,试图分析一下,实现一个通用的TCC分布式事务框架需要注意的一些问题。一、T...

2019-11-12 07:15:41 116

转载 实战 | 单点登录系统原理与实现(全套流程图+源码)

一、单系统登录机制1、http无状态协议web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系。但这也同时意味着,任何用户都能通过浏览器访问服务器资源,如果想保护服务器的某些资源,必须限制浏览器请求;要限制浏览器请求,必须鉴别...

2019-11-06 07:02:26 1939

转载 每秒100W请求,12306秒杀业务,架构如何优化?

如《同样是高并发,QQ/微博/12306的架构难度一样吗?》一文所述,同样是高并发场景,三类业务的架构挑战不一样: QQ类业务,用户主要读写自己的数据,访问基本带有uid属性,数据访问锁冲突较小 微博类业务,用户的feed主页由别人发布的消息构成,数据读写有一定锁冲突 12306类业务,并发量很高,几乎所有的读写锁冲突都集中在少量数据上,难度最大 那么对于秒杀类业务,...

2019-11-06 07:02:06 110

转载 面试官:如果公司要自研一套分布式注册中心,说说你的设计思路?

1. 注册中心是个啥?服务注册中心,它是微服务实例及该服务元数据的数据库。服务实例在启动时注册到服务注册表,并在关闭时注销。服务和路由器的客户端查询服务注册表以查找服务的可用实例。服务注册中心可能会调用服务实例的健康检查 API 来验证它是否能够处理请求。2. 何为CAP设计原则,及BASE理论?一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有...

2019-11-06 07:01:54 359

转载 最深刻最通俗的HTTPS 原理详解,图文并茂

摘要:本文尝试一步步还原HTTPS的设计过程,以理解为什么HTTPS最终会是这副模样。但是这并不代表HTTPS的真实设计过程。在阅读本文时,你可以尝试放下已有的对HTTPS的理解,这样更利于“还原”过程。我们先不了聊HTTP,HTTPS,我们先从一个聊天软件说起,我们要实现A能发一个hello消息给B:如果我们要实现这个聊天软件,本文只考虑安全性问题,要实现A发给B的hello...

2019-11-06 07:01:39 112

转载 MySQL主从复制虽好,能完美解决数据库单点问题吗?

点击上方“朱小厮的博客”,选择“设为星标”回复”1024“获取独家整理的学习资料一、单个数据库服务器的缺点 数据库服务器存在单点问题; 数据库服务器资源无法满足增长的读写请求; 高峰时数据库连接数经常超过上限。 二、如何解决单点问题 增加额外的数据库服务器,组建数据库集群; 同一集群中的数据库服务器需要具有相同的数据...

2019-11-06 07:01:16 195

转载 一个牛逼的多级缓存实现方案

为什么要做 TMC 多级缓存解决方案的痛点 TMC 整体架构 TMC 本地缓存 如何透明 整体结构 热点发现 整体流程 数据收集 热度滑窗 热度汇聚 热点探测 特性总结 实战效果 快手商家某次商品营销活...

2019-11-03 22:12:47 481

转载 Redis内存回收机制

从一次不可描述的故障说起问题描述:一个依赖于定时器任务的生成的接口列表数据,时而有,时而没有。怀疑是 Redis过期删除策略排查过程长,因为手动执行定时器,Set 数据没有报错,但是 Set 数据之后不生效。Set 没报错,但是 Set 完再查的情况下没数据,开始怀疑 Redis 的过期删除策略(准确来说应该是 Redis 的内存回收机制中的数据淘汰策略触...

2019-11-03 22:08:01 69

转载 滴滴业务中台构建实践

何修峰,就职于滴滴业务中台,任高级技术专家一职,致力于微服务治理、提高系统工程效率、构建底层基础组件或服务,在大型分布式系统构建、微服务治理、复杂系统重构方面有丰富的经验,现负责滴滴支付中台基础工作,构建支付的底层基础设施,以打造稳定、高效、可扩展的支付底层能力为己任,提高工程效率,助力集团各业务线快速发展。滴滴是一家以出行为核心、辐射单车、代驾、车服、金融、国际化等领域的高速发展的科技...

2019-11-03 21:56:17 165

转载 详解淘宝大秒杀系统设计,首次公开

目录1. 一些数据2. 热点隔离3. 动静分离4. 基于时间分片削峰5. 数据分层校验6. 实时热点发现7. 关键技术优化点7.1 Java处理大并发动态请求优化7.2 同一商品大并发读问题7.3 同一数据大并发更新问题8. 大促热点问题思考1. 一些数据大家还记得2013年的小米秒杀吗?三款小米手机各11万台开卖,走的都是大秒系统,3分钟...

2019-11-03 21:54:04 184

转载 深入理解分布式锁

为什么需要分布式锁如上图,在分布式系统中,订单模块为了迎战高并发,订单服务被横向拆分,拆分成了不同的进程,就像上图,两个人同时访问订单服务,然后订单系统1和订单系统2共用一个Mysql当成数据库,经过他们查询发现仅有一件商品,所以他们自个认为都可以下单如果不加锁限制,可能会出现库存减为负数的情况怎么办呢?如上图mysql自带行级锁,可以考虑使用它的行级锁,可以保证数据的安全...

2019-11-03 21:49:34 59

转载 动画讲解TCP

前言TCP 三次握手过程对于面试是必考的一个,所以不但要掌握 TCP 整个握手的过程,其中有些小细节也更受到面试官的青睐。对于这部分掌握以及 TCP 的四次挥手,小鹿将会以动画的形式呈现给每个人,这样将复杂的知识简单化,理解起来也容易了很多,尤其对于一个初学者来说。思维导图TCP是什么TCP(Transmission Control Protocol...

2019-11-03 21:45:33 86

原创 JDK 13 的 12 个新特性,真心厉害和好用 互联网架构师 5天前

1、switch优化更新JDK11以及之前的版本:switch (day) { case MONDAY: case FRIDAY: case SUNDAY: System.out.println(6); break; case TUESDAY: System.out.println(7); ...

2019-11-03 21:39:36 101

转载 秒杀系统的艺术

12306抢票,极限并发带来的思考?每到节假日期间,一二线城市返乡、外出游玩的人们几乎都面临着一个问题:抢火车票!虽然现在大多数情况下都能订到票,但是放票瞬间即无票的场景,相信大家都深有体会。尤其是春节期间,大家不仅使用12306,还会考虑“智行”和其他的抢票软件,全国上下几亿人在这段时间都在抢票。“12306服务”承受着这个世界上任何秒杀系统都无法超越的QPS,上百万的并发再正常不过了!笔者...

2019-11-03 21:36:08 101

原创 Properties文件解析工具类

最近在研究quartz源码,发现源码里面封装了一个properties文件解析的工具类,感觉封装的蛮好的,贴出来,大家看看,开发的时候能用上不,可以直接拿去复制到自己的项目工程里当工具类用,quartz1988年就发布的开源项目,到现在也有些年头了,它的代码也是有很好的地方的,话不多说,直接上源码:/** Copyright 2001-2009 Terracotta, In...

2019-11-03 21:28:26 189

原创 好用的日志输出工具类,java编写的

最近在做数据的转换处理,过程需要查看处理过程,所以要记录日志,就闲着来写了个日志工具类练练手,觉得用着还可以,贴出来,有需要的小朋友,可以直接拿去用:package com.project.handlesapdata.material.syncMaterial;import java.io.BufferedWriter;import java.io.File;import java.i...

2019-10-31 17:57:54 680

原创 Gper社区文章推送-02

【早读故事分享】五年外包,我沦为过期甩卖的商品,工作选择需谨慎文章精彩内容点击链接:https://gper.club/articles/7e7e7f7ff7g59gc0g6a【Spring的各种注解...】文章精彩内容点击链接:https://gper.club/articles/7e7e7f7ff7g59gc0g67【咕泡内推,美团岗位来袭,缺额数百,年薪50w+】文章精彩内容点...

2019-10-24 14:35:04 267

原创 Gper社区文章推送-01

Gper社区文章推送【早读分享】感觉自己不会的东西太多了,不知道如何下手?文章精彩内容点击链接:https://gper.club/articles/7e7e7f7ff7g59gc6g6b【使用SpringBootActuator监控应用】文章精彩内容点击链接:https://gper.club/articles/7e7e7f7ff7g59gc7g68【使用spring-...

2019-10-24 14:34:19 258

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除