代码量不够
码龄9年
关注
提问 私信
  • 博客:101,329
    问答:963
    102,292
    总访问量
  • 131
    原创
  • 285,889
    排名
  • 69
    粉丝
  • 0
    铁粉
  • 学习成就

个人简介:词汇量不多

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:湖北省
  • 加入CSDN时间: 2016-01-14
博客简介:

Fireworks

博客描述:
相信日积月累的力量
查看详细资料
  • 原力等级
    成就
    当前等级
    1
    当前总分
    72
    当月
    0
个人成就
  • 获得39次点赞
  • 内容获得9次评论
  • 获得93次收藏
  • 代码片获得126次分享
创作历程
  • 1篇
    2024年
  • 43篇
    2019年
  • 87篇
    2018年
成就勋章
TA的专栏
  • Maven
    1篇
  • MySQL
  • 规约
    1篇
  • Java设计模式
    22篇
  • JVM
    12篇
  • IO
    1篇
  • SpringCloud入门
    9篇
  • ElasticSearch最佳入门实践
    73篇
  • ElasticSearch进阶
    4篇
  • JVM
    12篇
  • 设计模式
    22篇
  • 概要
    8篇
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

349人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

maven 漏洞扫描

基于Maven的漏洞扫描
原创
发布博客 2024.02.21 ·
1224 阅读 ·
9 点赞 ·
1 评论 ·
6 收藏

Navicat Premium.7z

发布资源 2020.06.28 ·
7z

性能优化的 50 个细节

在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身。养成良好的编码习惯非常重要,能够显著地提升程序性能。尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例简单来说,单例主要适用于以下三个方面:控制资源的使用,通过线程同步来控制资源的并发访问;控制实例的产生,以达到节约资源的目的;控制数据共享,在不建...
原创
发布博客 2019.10.24 ·
387 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

分布式篇:分布式事物

分布式系统核心的问题,服务框架、注册中心、网关系统、部署架构、超时重试、幂等防重,生产相关的问题分布式事务TCC可靠消息最终一致性类似TCC事务的,开源框架,ByteTCC,Himly,阿里开源的分布式事务框架,类似TCC事务,seata来做,这个框架是经历过阿里生产环境大量的考验的一个框架支持dubbo、spring cloud两种服务框架,都是可以的可靠消息最终一致性方案,Act...
原创
发布博客 2019.08.16 ·
356 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

分布式篇:防幂等性设计

业内常用方案(1)数据库唯一索引(2)基于Redis实现一套幂等性防重框架对于插入类的操作,一般都是建议大家要在数据库表中设计一些唯一索引对于扣减库存、累加积分,更新,很难通过数据库唯一索引来保证基于Redis实现一套接口的防重框架你得做一个类似spring mvc里的拦截器这样的东西,在这个拦截器里,他会拦截所有的请求,对所有的请求都会提取请求对应的参数,GET请求、POST请求、...
原创
发布博客 2019.08.15 ·
487 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

分布式篇:生产环境的服务是怎么配置超时和重试参数的

分布式系统,拆分为很多个服务之后,他们互相之间要进行调用,平时服务内要优化的一些参数其实不多,网关 ->(卡住) 订单服务 ->(卡住) wms服务网关收到的一个http响应,可能就是一个500,internal errorSpring Cloud生产优化,系统第一次启动的时候,人家调用你经常会出现timeout每个服务第一次被请求的时候,他会去初始化一个Ribbon的组件,初...
原创
发布博客 2019.08.15 ·
550 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

JVM - 12:年轻代ParNew和老年代CMS垃圾回收器

年轻代垃圾回收器ParNew新生代的辣鸡回收器ParNew,主打的就是多线程回收另外一种Serial垃圾回收器,主打的是单线程回收回收算法一样当ParNew垃圾回收器,在合适的时机进行垃圾回收的时候会暂停当前的工作线程让自己的垃圾线程去回收垃圾如何为系统指定ParNew垃圾回收器使用“-XX:+UseParNewGC”只要加入这个选项,JVM启动之后对新生代进行垃圾回收的,就是P...
原创
发布博客 2019.08.09 ·
2772 阅读 ·
1 点赞 ·
1 评论 ·
1 收藏

JVM - 11:JVM最让人无奈的痛点 Stop the World

新生代垃圾回收场景我们新生代有三块区域 Eden 、s0、s1此时系统不停运行就会把Eden占满这个时候就会触发Minor GC触发垃圾回收会有专门的线程来处理的而对不同的区域会有不同的垃圾回收器相当于垃圾回收线程配合垃圾回收器使用垃圾回收算法对指定的区域进行回收针对新生代的垃圾回收器Serial单线程,会直接暂停系统工作线程。通常不用ParNew支持多个线程回收GC的时...
原创
发布博客 2019.08.09 ·
421 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

JVM - 10:JVM中有哪些垃圾回收算法,每个算法的场景和优劣

回顾上一篇说了垃圾回收时机,强引用、软引用、弱引用、虚引用新生代的垃圾回收算法新生代使用的是复制算法新生代分为3块区域默认比例为8:1:1eden:s1:s2平时可以使用的,就是Eden区和其中一块Survivor区但是刚开始创建的对象分配在 eden 区的如果eden区垃圾对象越来越多此时会触发垃圾回收机制具体做法复制算法会先标记存活的对象然后把存活的对象复制到另外一...
原创
发布博客 2019.08.08 ·
572 阅读 ·
0 点赞 ·
1 评论 ·
1 收藏

JVM - 9:什么情况下JVM内存中的一个对象会被垃圾回收

什么时候会触发垃圾回收在之前说到,当对象没人引用导致新生代的内存占用越来越多,都快满了这个时候,就会触发垃圾回收被那些变量的引用的不能被回收只要你的对象被方法的局部变量,类的静态变量给引用了就不会回收他们JVM使用了一种可达性分析算法用来分析对象被谁引用了在JVM规范中,局部变量就是一个GC RootsJava中不同的引用类型强引用只要是强引用,引用的类型,垃圾回收器,是不会...
原创
发布博客 2019.08.08 ·
1006 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

分布式篇:灰度发布

说明所谓的灰度发布假如现在有个服务A服务A部署在两台机器上现在对服务A更改了某些功能但是部署的时候,不会一次把服务A都部署在两台机器上只会把新代码部署在其中某一台两台机器,一台是新代码,一台是老代码灰度发布就是说,按某些权重,请求分发给 不同的机器比如 新代码 接收 10%的请求,其余 90%给 老代码验证成功之后,再把另外一台弄成新代码二次开发可以针对灰度发布进行二次开发...
原创
发布博客 2019.08.07 ·
980 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

分布式篇:网关

网关的核心功能动态路由灰度发布授权认证性能监控系统日志数据缓存限流熔断目前业内的技术方案Zuul基于Java开发,核心网关功能都比较简单,但是比如灰度发布、限流、动态路由之类的,很多都要自己做二次开发高并发能力不强,部署到一些机器上去,还要基于Tomcat来部署,Spring Boot用Tomcat把网关系统跑起来;Java语言开发,可以直接把控源码,可以做二次开发封装各种需...
原创
发布博客 2019.08.05 ·
5332 阅读 ·
0 点赞 ·
0 评论 ·
7 收藏

JVM - 8:如何根据自己的系统合理的设置JVM参数

支付系统案例如果有一个电商系统支付系统所处的位置用户 >>> 下单用户 >>> 支付支付 >>> 调用第三方支付通道只要网购过,这个流程都很清楚就是对一个商品加入购物车然后下个订单接着对订单结算大致如此核心流程如下...
原创
发布博客 2019.08.04 ·
1092 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

JVM - 7:系统部署时如何设置JVM内存大小

上一篇说到了我们创建的对象都是优先分配在新生代的当一个方法执行完毕之后,没人引用的对象,就成为了垃圾对于 通过 static 静态变量引用的 对象会长期存活当新生代的空间满了之后,会触发垃圾回收机制对于躲过垃圾回收的对象,会对它的年龄 +1当年龄达到 15 岁之后会进入老年代老年代也会进行垃圾回收JVM核心参数-Xms:Java堆内存的大小-Xmx:Java堆内存的最大大小...
原创
发布博客 2019.08.02 ·
626 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

JVM - 6:对象在JVM中如何分配,如何扭转的

在之前的文章中提到了JVM是如何运行起来的JVM中的内存区域以及堆内存的分代模型通过之前的文章,知道了大部分的对象是优先分配在堆内存的但是大部分正常的对象都是优先分配在新生代的最典型的就是通过静态变量引用的对象,虽然它是长期存活的对象但是哪怕是这种对象也是优先分配在新生代的什么情况下会触发新生代垃圾回收垃圾回收有它的触发条件必备的条件是没有人引用这些对象了如果,某个时刻新生代...
原创
发布博客 2019.08.02 ·
188 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

分布式篇:对比一下各种服务注册中心

目前业内的微服务解决方案通常分为两块1、以 Dubbo 为主的微服务解决方案2、以 Spring Cloud 为主的微服务解决方案这两块微服务解决方案都采用了不同的 注册中心以 Dubbo 作为服务框架的一般会选择 Zookeeper 为注册中心以ZK作为服务注册和发现的集群模式这种多台机器的情况下 ZK 会有2个角色 Leader / Follower只有 Leader 是可以写...
原创
发布博客 2019.08.01 ·
4254 阅读 ·
1 点赞 ·
2 评论 ·
4 收藏

设计模式之:访问者模式

业务场景(1)组合模式,我们现在想象一下,我们之前做的是说递归删除部门自己本身(2)但是我们现在要对他改造一下,将组合模式和访问者模式结合起来,就是说,我们可以让那颗树执行我们想要他做的任何事情访问者模式,是对目标对象,动态的执行某个功能,而不对目标对象有任何的改动import java.util.ArrayList;import java.util.List;public clas...
原创
发布博客 2019.07.31 ·
227 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

设计模式之:桥接模式

所谓的桥接,就是搭建一个桥,让两个组件之间互相调用,可以通过桥来执行因为有了桥,两个代码组件无论怎么修改,都互相没有影响这个桥,实际上就是一个接口所以说,java中,无处不桥接,只要你是面向接口编程,基本就是在桥接public class BridgePatternDemo { public static void main(String[] args) { Im...
原创
发布博客 2019.07.31 ·
238 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

设计模式之:责任链模式

业务场景(1)现在在某一个地方的业务流程,要执行功能1、功能2、功能3(2)现在在另外一个地方的业务流程,是要先执行功能3,然后执行功能1和功能2责任链模式,那也是经常会使用到的,对于那种复杂的业务流程一种方案是采取面向对象的设计,将不同的业务逻辑封装到不同的类里去,然后通通过方法中的调用来控制业务流向另外一种就是采用责任链模式,将业务逻辑封装到不同的handler里面去,形成链条式调用...
原创
发布博客 2019.07.31 ·
209 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

设计模式之:装饰器模式

业务场景(1)假设我们手头已经有了一个类,可以执行一些功能(2)但是我们还是希望对这个类的功能做一些增强,此时怎么办呢?基于已有的类的功能基础之上,再增强一些功能,可以做装饰装饰器模式有一些非常经典的实现(1)比如java的io体系,可以一层包装一层,一层包装一层,外面的一层,都会对立面的一层进行功能的增强。(2)还有就是spring的aop,aop这块可以基于动态代理的理念,装饰我们的...
原创
发布博客 2019.07.31 ·
161 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多