自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

撸起袖子加油干

尽管道路曲折,彼岸只有一个,专研、布道,做一个快乐的程序猿

  • 博客(314)
  • 资源 (1)
  • 问答 (2)
  • 收藏
  • 关注

原创 RabbitMQ死信队列在实际业务场景中的运用

一、先来了解一下啥是死信队列: 这篇博客,是基于大家有消息队列使用经验的同学,如果没有使用经验的,可以学习一下消息队列,主流的AMQ,RMQ,KAFKA等等 死信队列:没有被及时消费的消息存放的队列,消息没有被及时消费有以下几点原因: a.消息被拒绝(basic.reject/ basic.nack)并且不再重新投递 requeue=false b.TTL(time-to-live) 消息超时未消费 c.达到最大队列长度...

2021-05-25 20:26:17 3799 4

原创 探索线程安全性背后的可见性、伪共享、缓存一致性协议MESI

一、前言有没有很多同学在学习多线程并发环节的时候,针对synchronized,volatile关键的学习,感觉很枯燥,很多时候纯粹为了应付面试,当面试问底层原理的时候,依旧比较懵逼,立马可以识别出来初级成员和高级程序员;当然博主本人当时也这么困惑过,好在自己没有放弃,坚持学习,希望今天的分享,能够给大家打开一扇窗。二、计算机架构...

2021-05-24 18:09:15 311

原创 OLAP框架实践:FileBeat+Kafka+Logstash+ElasticSearch 搭建高性能的日志分析框架

一、整体的技术架构:二、数据分析可以使用kibana,同时也可以使用prestodbprestodb本身不存储数据,但是可以将数据源的数据拉取过来,做一些关联分析,对常用的SQL有很好的支持,感兴趣的可以尝试一下。...

2021-05-14 11:46:33 212

原创 阿里中台再起波澜,中台适合做“组合式创新”,没法做“颠覆式创新”

1、概述:最近社交圈,隔三差五的有新贴评论"阿里拆中台",在很多人没有深刻理解中台理念的时候,逍遥子已经提出拆中台的思路,真是一步跟不上,步步跟不上。 先给大家脑补一下阿里中台迭代演进历程:在传统的烟囱架构下,各个业务线像烟囱,独立发展,重复造轮子现象很多。阿里从最初的几百兆的war包,逐渐孵化淘宝、天猫、1688(B2B分销业务)等核心业务板块;其中淘宝、天猫两套B2C系统都包含商品、交易、评价、支付、物流等功能;这期间共享事业部门应运而生,寄希望能够把两套系统中公用的...

2021-02-01 20:15:33 2807 8

原创 技术人的2020,有苦涩,有收获,饱满热情迎接2021

技术人的2020,有苦涩,有收获,饱满热情迎接20212020注定是不平凡的一年,在这一年,咱们拿了奋斗团、优秀团队等等大奖,依旧记得在年会舞台上,青春阳光的你们;2020注定是不平凡的一年,在这一年,春节应该是跟家人举杯欢庆的日子,疫情来临,面对百倍的退票率对系统的冲击,团队的你们丝毫没有退缩,把网络办公、敏捷开发演绎到了极致,以对客快速退票、退款为目标,客服、运营、产品、研发、测试、中心大boss,大家分工明确,视频会议随时随地开展,大家24小时随时候命;春节七天几乎每天一个版本,最多的时候两天

2020-12-31 13:01:24 1788 7

原创 为什么说架构师都应该了解“康威定律”(Conway‘s law)

一、首先了解什么是康威定律 康威定律其实是一句格言,指出组织设计系统来反映他们自己的沟通结构。它以计算机程序员梅尔文·康威的名字命名,他于1967年提出了这个想法。他最初的措辞是:organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations. — M. Con...

2020-07-02 16:22:08 4490 1

原创 马云战略的三板斧:上三斧(使命、愿景、价值观),下三斧(组织、人才、KPI)

总体涉及6个观点:使命、愿景、价值观、组织、人才、KPI从虚实的角度做以下划分:上三路(虚-口号):使命、愿景、价值观 使命是大家做一件的最终目标,是企业努力的方向 愿景是企业的长远规划,相比目标,更虚,有可能是遥不可及,需要实现,有可能需要很多志同道合的人,在漫长的艰苦奋斗的过程赋予实现,有种愚公移山的精神和斗志。 价值观是共同做事的方法和标准,价值观可以把志同道合的人聚在一起,大伙的性格,背景可以不一样,但是做事的方法需要一致。下三路(实-......

2020-07-01 13:46:50 7525 2

原创 多线程并发-线程池-思维脑图

源码对照:/** * Creates a new {@code ThreadPoolExecutor} with the given initial * parameters. * * @param corePoolSize the number of threads to keep in the pool, even * if they are idle, unless {@code allowCoreThreadTimeOu...

2020-06-10 20:33:11 2367 2

原创 深入分析ConcurrentHashMap的源码设计(中)-hash冲突

深入分析ConcurrentHashMap的源码设计(上) 深入分析ConcurrentHashMap的源码设计(中) 深入分析ConcurrentHashMap的源码设计(下)一、前言: 本章节,我们聊一下数据存储过程中,多个不同的 key 根据hash函数求出来的hash值相同的问题,即hash冲突,解决hash冲突有以下四种办法:线性探索(开放寻址法):例如求出来的索引位置是i,如果当前节点有值,则尝试索引位置+1,看看节点是否为空,为空则返回当前位置,例如存入Key=A,...

2020-06-04 23:59:33 1694

原创 多线程并发-线程状态切换-后宫狗血剧情版,看完彻底掌握线程状态切换流程

2020-05-27 18:01:36 302

原创 多线程并发编程-死锁问题和对应的解决方案汇总-面试常考

一、首先死锁需要满足以下几个条件: 多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放,而该资源又被其他线程锁定,从而导致每一个线程都得等其它线程释放其锁定的资源,造成了所有线程都无法正常结束。这是从网上其他文档看到的死锁产生的四个必要条件:1、互斥使用,即当资源被一个线程使用(占有)时,别的线程不能使用 2、不可抢占,资源请求者不能强制从资源占有者手中夺取资源,资源只能由资源占有者主动释放。 3、请求和保持,即当资源请求者在请求其他的资源的同时保持对原有资源的占有。 4...

2020-05-24 00:33:51 463

原创 手撕Spring----Spring源码解读-IOC、DI

一、框架解读:二、源码:#web.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:java...

2020-04-11 13:17:11 750 2

原创 redis学习-redis支持的数据类型

redis支持以下五种数据类型:数据类型 指令 指令用法 备注 String SET (1)将字符串值Value关联到Key (2)Key已关联则覆盖,无视类型 (3)原本Key带有生存时间TTL,那么TTL被清除 SET key value [EX seconds] [PX milliseconds] [NX|XX] GET (1...

2019-10-16 13:25:21 207 2

原创 JVM原理-类加载机制

一、概要: 本次主要认知类加载的机制、详细介绍类加载器、类加载的过程以及类加载过程中的双亲委托原则;二、首先我们来一起认识一下类加载的机制: 在介绍类的加载机制之前,我们先看一下类加载机制在java程序运行期间处于一个什么样的环节: 从上图可以看出,java文件通过Java编译器,编译成了字节码文件,接下来类加载器将这些字节码文件加载到虚...

2019-09-21 18:09:08 736 2

原创 JVM原理-内存结构

2019-09-18 09:30:20 288 1

原创 SSM框架搭建详解

1、后台系统所用的技术: 框架:Spring + SpringMVC + Mybatis 数据库:mysql2、创建数据库: 1)安装mysql数据库 2)在mysql中创建一个数据库 3)导入数据库脚本。3、Mybatis逆向工程: 参考https://blog.csdn.net/jason_jiahongfei/...

2019-09-05 11:01:18 355 1

原创 Mybatis-dao层代码自动生成工具

1、代码结构:2、配置文件解析:generatorConfig.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC " -//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" ...

2019-09-02 09:20:24 780

原创 23种java设计模式详解-观察者模式

1、创建被观察者:package org.jason.Observer;import java.util.Observable;//被观察者public class Writer extends Observable { private String authorName; private Article article; public String get...

2019-08-27 09:08:57 248

原创 分布式锁实现方式&应用

1、分布式锁使用场景首先我们回顾使用线程锁的原因,当多线程并发工作时,我们需要保证对共享变量正确的操作,以i++为例,假设有两个线程A、B,分别对共享i做++操作,使用锁的我们实际期望的是,假设当前i值为5,则A和B不会同时对i=5这个值进行++操作然后再重新赋给i;其次在电商应用中,类似秒杀,涉及库存交易处理等问题,我们可以采用以下分布式锁来实现复杂的业务需求。2、分布式锁实现...

2019-08-21 08:56:25 761 1

原创 23种java设计模式详解-代理模式

什么是代理模式:Proxy模式又叫做代理模式,是构造型的设计模式之一,它可以为其他对象提供一种代理(Proxy)以控制对这个对象的访问。所谓代理,是指具有与代理元(被代理的对象)具有相同的接口的类,客户端必须通过代理与被代理的目标类交互,而代理一般在交互的过程中(交互前后),进行某些特别的处理。代理模式的原型: 代理模式的角色和职责:subject(抽象主题角色):真...

2019-07-23 23:24:01 306

原创 【干货】mariadb txt类型的表字段not null引发的生产事故

初步分析是mariadb的BUG,执行索引删除操作后,当前表对txt 空值插入,判断逻辑发生了变更,有提示warnings信息,dao层的底层代码捕获到warnings信息,做了事务回滚,如何在dao层加配置,过滤数据库返回的warnings日志,笔者暂时还没有分析出来,待更新......2、数据库表字段: `Content` text NOT NULL COMMENT '扩展信息'

2023-05-17 19:53:11 354

原创 IDE工程启动报错“Error:java: 无效的源发行版: 14”

日常开发调错问题分析

2022-10-26 17:48:06 1346

原创 抖音华仔直播间如何支撑3.5亿人次的直播量

系统架构

2022-09-04 12:25:05 778

原创 如何看待职场的越级汇报问题

管理岗心得

2022-07-28 11:33:00 1217

原创 Apache架构师都遵循的30条设计原则

Srinath 通过不懈的努力最终总结出了 30 条架构原则,他主张架构师的角色应该由开发团队本身去扮演,而不是专门有个架构师团队或部门。Srinath 认为架构师应该扮演的角色是一个引导者,讨论发起者,花草修建者,而不是定义者和构建者。Srinath 为了解决团队内部的架构纷争和抉择,制定了以下 30 条原则,这些原则被成员们广泛认可,也成为了新手架构师的学习途径。作者:Srinath,科学家,软件架构师。Apache Axis2 项目的联合创始人,Apache Software 基金会的成员

2022-04-25 09:01:36 160

原创 TreeSet自定义排序规则

package com.jason.springsentinel;import java.util.Comparator;import java.util.Iterator;import java.util.TreeSet;public class Test { //根据person的 ID排序 public static TreeSet<Person> personTreeSet=new TreeSet<>(new MyCompartor()); .

2022-04-22 15:20:33 488

原创 几张架构图阐述微服务架构治理相关知识点

微服务架构的技术点:超时时间设置 接口重试机制 流量QPS限流 请求熔断处理 请求降级处理今天给大家分享一下以上相关的知识点,通过微服务系统之间RPC通信的方式,以架构图的形式给大家展开介绍:1、超时时间设置:假设:应用访问业务系统A,业务系统A调用业务系统B,整个链路都没有设置超时时间timeout,此刻如果业务系统B某个pod响应特别慢,会产生一个啥现象呢?如下图所示,业务系统A会因为线程耗完而僵死,导致整个业务系统A不可用。通过抓包或者使用jvm分析工具,可以分.

2022-04-20 21:30:40 660

原创 微服务治理springcloud+nacos+sentinel框架整合

一、前言:近期在设计企业级服务网关时,有流控、熔断相关的需求,在查找相关资料时,很多资料都写的一点,很难运行跑起来,导致浪费了太多的时间,近期功能设计完了,写篇文章,毫无吝啬的分享给大家,希望对大家的学习有所帮助。二、环境准备工作: 1、nacos部署: 下载地址:https://github.com/alibaba/nacos/releases 修改bin/startup.bat ,修改内容如下: set MODE="stan...

2022-04-14 23:03:43 1872

原创 Git fatal: Authentication failed的问题解决

一、可能问题一:git设置的密码不对: 排查办法:vim ~/.gitconfig 查看用户名密码是否正确: git config --global --list #也可以查看当前配置的用户名和密码设置用户名、密码: git config --global user.name "jason" #用户名 git config --global user.email "123456" #密码二、可能情况二,手欠+傻缺的操作...

2022-03-30 20:01:37 12719 2

原创 Spring 框架更新了一条可能造成 RCE(远程命令执行漏洞)

今天 Spring 框架更新了一条可能造成 RCE(远程命令执行漏洞)的问题代码,如图:随即在国内安全圈炸开了锅,大家纷纷转发一张图:上次因为核弹级漏洞 log4j2 的 POC 公开,大批企业为了解决那个漏洞,纷纷升级 JDK 的版本,然而这次的漏洞恰好是在 jdk 9+ 版本存在,客户就很郁闷了,降级?log4j2 还没修完,再升级也没用,该怎么办?已经有很多大厂的安全研究员对该漏洞进行了研究,并复现漏洞,下图是国内超级巨佬的复现截图:弹计算机是验证命令执行漏洞存在的最常用的

2022-03-30 11:03:23 736

原创 2022架构师~配置组件封装

一、前言:日常配置spring工程的配置文件:application.properties时,我们在输入配置项时,IDEA可以自动提示配置项,对开发者特别友好,最近在封装组件,刚好写个范例给大家,虽然网上有很多类似的文章,本着自我学习的心态,自己撸一遍!二、准备工作:大家可以使用IDEA搭建一套spring工程,这是基础,就不多赘述了;假设咱们工程需要增加以以下配置:当我们在配置文件中输入spring.db时,如何将我们约定的配置,自动提示给出来:IDEA设置:打开ID.

2022-02-17 14:49:13 383

原创 从甲方转变为乙方,工作心态的转变

1.从要求\调配心态,转为服务心态,放低自己;可以心里吐槽,但是必须微笑面对,这也是生活;2.加强应变与适应能力,客户的要求并不会因你而变;3.服务不但要质量\更要形式,甚至形式重于质量,因服务首先就是形式;4.沟通重于命令\等待,也许一个项目上线完了,彼此还是网友;5.要自我加压、自我驱动;无论身处甲方还是乙方,职业操守不能丢;...

2022-01-26 08:55:56 2265

原创 面试大咖说:如何保证 redis 中的数据都是热点数据?

案例:MySQL 里有 2000w 数据,redis 中只存 20w 的数据,redis如何保障缓存中存放的是热点数据;另外再给大家普及一下redis使用场景。TODO:1、如何保证 redis中的数据都是热点数据? redis有数据过期时间时间,以及数据容量达到阈值时,根据置换策略,淘汰指定的数据。2、Redis 有哪些适合的场景? 1)会话缓存(Session Cache)最常用的一种使用 Redis 的情景是会话缓存(session cache)。用 Red...

2022-01-20 08:42:42 3679

原创 面试大咖说:说说对spring事务的理解

spring的事务开启方式有两种:第一种:声明式事务,声明式事务是通过添加Transaction注解的方式开启事务,一般加在类或者方法上,事务控制粒度比较大,但使用上比较方便;第二种:编程式事务,编程式事务通过TransactionTemplate,控制事务的粒度小,但是代码侵入性比较强。使用spring aop实现。spring事务提供了7中传播机制:1. REQUIRED(必须的):是默认的传播机制,如果B方法中调用A,如果B中有事务,则A无论是否开启事务都会用B的事务,任何地方出

2022-01-06 18:13:53 530

原创 面试大咖说:Dubbo SPI 和 Java SPI 区别

JDK SPIJDK 标准的 SPI 会一次性加载所有的扩展实现,如果有的扩展吃实话很耗时,但也没用 上, 很浪费资源。 所以只希望加载某个的实现, 就不现实了ServiceLoader<ISayHello> serviceLoader=ServiceLoader.load(ISayHello.class); System.out.println("Java SPI"); serviceLoader.forEach(ISayHello::say)

2022-01-05 19:19:56 502

原创 中间件:定时调度框架-XXL-JOB-源码分析

一、XXL-JOB 版本: <dependency> <groupId>com.xuxueli</groupId> <artifactId>xxl-job-core</artifactId> <version>2.2.0</version> </dependency> 每个版本差异比较大,大家可以尝试下载几个版本,阅读一下源码,看别人的写法也是一种享受.

2021-12-29 23:48:20 2131

原创 面试大咖说:Spring bean是如何创建的?

在spring中,万物都是bean对象,每一个对象都可以封装成BeanDefinition,然后去生成bean对象。第一步,spring要找到哪些bean需要实例化: 第一种是xml的方式,如果需要实例化bean就在xml中配置bean标签,找到所有需要创建的bean 第二种注解方式,扫描所有添加了spring注解的bean,把所有的bean封装成一个BeanDefinition放入一个list.第二步,循环list,通过BeanDefinition中的类全名称,通过反射进行实例...

2021-12-29 19:14:53 380

原创 面试大咖说:说说spring ioc的理解和使用?

先谈谈以前没有spring的时候,我们需要得到一个对象,都是自己主动去new一个对象,然后通过set方法给对象注入属性,这是枯燥的机械劳作。时代在进步,程序猿自我革命,解放程序猿的双手时刻到了,spring提供了IOC的容器解决方案,根据自定义注解,例如@Service @Component @RestComponent 等等注解,指定扫描路径,spring会扫描路径下所有标记了指定注解的class,将这些class通过反射,创建类的实例放入IOC容器中。IOC实现有两种使用方式,一种是xml的方式

2021-12-29 09:24:42 130

原创 面试大咖说:zk 节点宕机如何处理?

在高可用框架中,咱们在系统架构设计时,会尽量避免单点问题,引入冗余的副本机制,分布式CAP理论中,无论AP还是CP,Partition Tolerance分区容错的特征必须得到保障;Zookeeper也提供集群部署方式,同时提供leader选举机制,集群部署推荐配置不少于 3 个服务器。Zookeeper 自身也要保证当一 个节点宕机时, 其他节点会继续提供服务。如果是一个 Follower 宕机, 还有 2 台服务器提供访问, 因为 Zookeeper 上的数据是 有多个副本的, 数据并不会.

2021-12-28 11:11:32 3849

原创 程序员被辞退 写代码给自己账户转账553笔

程序员离职后仍然掌握原公司账号信息,利用技术专长盗取公司资金。11月15日,由浙江省杭州市临平区检察院依法起诉的被告人马某盗窃、妨害公务案一审判决,马某被判处有期徒刑四年二个月,并处罚金。2018年8月,马某入职了杭州一家网络科技有限公司,担任软件技术专家,负责平台系统的开发和维护。2020年1月,马某被公司辞退。没了工作,对公司的赔偿金额不满意,马某萌生了报复公司的念头:“用写代码的方式把公司的钱转到自己账户,一般人发现不了,我心里有成就感。”任职期间,出于项目测试需要,马某曾模拟运费理赔流程,.

2021-12-28 10:13:49 208

springcloud-demo-archetype-1.0-SNAPSHOT.jar

springcloud代码工程骨架,集成druid等相关功能

2021-12-11

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

TA关注的人

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