自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JavaBoy的博客

为了实现财务自由,一直从事后端coding的程序员一枚。

  • 博客(150)
  • 资源 (7)
  • 收藏
  • 关注

原创 IntelliJ IDEA设置JVM运行参数

IDEA 编辑器相关设置IDEA系统区分32 位:idea.exe.vmoptions64 位:idea64.exe.vmoptions64位为例:-Xms512m -Xmx1024m -XX:MaxPermSize=512m -XX:ReservedCodeCacheSize=225m -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyM...

2021-07-19 17:17:04 227

原创 WebMagic爬虫框架简单使用

背景:纯属自我爱好和学习,目前只是简单使用,在日常工作中并没有实际应用场景。官网地址: 点我去WebMagic官网官方文档地址:点我去官方文档直接上代码:import us.codecraft.webmagic.Page;import us.codecraft.webmagic.Request;import us.codecraft.webmagic.Site;import us.codecraft.webmagic.Spider;import us.codecraft.webmagic

2021-01-27 17:51:33 71

原创 数据结构简单总结

数据结构什么是数组?数组是由有限个相同类型的变量所组成有序集合,它的物理存储方式是顺序存储,访问方式是随机访问。利用下表查找数据元素的时间复杂度是O(1),中间插入、删除数组元素的时间复杂度是O(n)。什么是链表?链表是一种链式数据结构,由若干节点组成,每个节点包含指向下一节点的指针。链表的物理存储方式是随机存储,访问方式是顺序访问。查找链表的时间复杂度是O(n),中间插入、删除节点的时间复杂度是O(1)。什么是栈?栈是一种线性逻辑结构,可以用数组实现,也可以用链表实现。栈包含入栈和出栈

2020-09-02 09:50:12 54

原创 SpringBoot下DataSource连接配置

基本设置spring.datasource.secondary.url=jdbc:mysql://localhost:3306/test2?useUnicode=true&characterEncoding=utf-8spring.datasource.secondary.username=testspring.datasource.secondary.password=123456spring.datasource.secondary.driver-class-name=com.mysql

2020-07-06 17:06:13 3153

原创 Netty入门代码

Netty入门代码public void start(int port) throws Exception { EventLoopGroup bossGroup = new NioEventLoopGroup(); EventLoopGroup workerGroup = new NioEventLoopGroup(); try { ServerBootstrap b = new ServerBootstrap(); b.channel(NioServerSock

2020-05-19 19:10:01 139

转载 28个Java开发常用规范技巧总结

常用的规范技巧总结(参考自:华山版《Java开发手册》)1、类的命名使用驼峰式命名的规范。例如:UserService,但是以下情景例外:DO / BO / PO / DTO / VO。例如说:UserPO,StudentPO(PO,VO,DTO,等这类名词需要全大写)@Data@Builderpublic class CustomBodyDTO { private S...

2020-03-02 10:29:49 216

原创 开会法则

在日常工作中,为了达成一定共识,共同理解一件事情,开会是不可避免的事情,但是我极度讨厌又臭又长的无用会,那不像是开会,反而像私底下聚会,天南海北的乱吹牛逼,会议结束后什么都没有留下,该谈的事情一句也没整明白,一脸懵逼的进来,一脸懵逼的出去,与其这样,我还不如多撸点代码来得实际。今天又看了一遍道哥的黑板报,觉得深得我意,所以把里面的内容摘抄下来当做记录,便于以后自己管理团队所需,当然这不是最好的方...

2020-02-08 10:08:30 328

转载 CQRS架构

CQRS架构简介前不久,看到博客园一位园友写了一篇文章,其中的观点是,要想高性能,需要尽量:避开网络开销(IO),避开海量数据,避开资源争夺。对于这3点,我觉得很有道理。所以也想谈一下,CQRS架构下是如何实现高性能的。关于CQRS(Command Query Responsibility Segregation)架构,大家应该不会陌生了。简单的说,就是一个系统,从架构上把它拆分为两部分:命令...

2019-12-26 16:38:49 619

原创 Nginx与多域名配置规范及样例

一、配置文件目录层级结构- conf/ - nginx.conf - vhost/ - domain1 - domain2 - ci.sisyphe.win- logs/- sbin/- html/二、配置文件模板1、nginx.confuser www;worker_processes 4; error_l...

2019-11-29 10:32:13 187

原创 Nginx安装

一、Nginx安装1、安装依赖包yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel2、安装pcrecd /usr/local/src#下载最新版本的,注意不要用pcre2wget https://jaist.dl.sourceforge.net/project/pcre/pcre/8.4...

2019-11-29 10:29:27 69

原创 Spring接入Prometheus

一、Spring Java端接入1、2.x版本接入Prometheua. pom依赖<dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-registry-prometheus</artifactId> <version...

2019-11-29 10:25:52 1422

原创 RabbitMQ程序中建议配置

MQ常规配置# RabbitMq集群配置 程序将自动连接其中的节点,自动切换节点spring.rabbitmq.addresses=host1:5672,host2:5672,host3:5672# 指定心跳超时,0为不指定spring.rabbitmq.requested-heartbeat=3000# 消息接收确认,可选模式:NONE(不确认)、AUTO(自动确认)、MANUAL...

2019-11-29 10:21:49 97

原创 MQ管理端配置

在MQ管理端配置配置全镜像,在policiess中增加配置 ha-mode:all,此参数表示所有节点全复制配置节点恢复后自动同步消息 ha-sync-mode: automatic在命令名配置开启管理端消息迁移:rabbitmq-plugins enable rabbitmq_shovel rabbitmq_shovel_management安装延时队列插件:rabbitmq_de...

2019-11-29 10:20:57 95

原创 413 Request Entity Too Large

解决413 Request Entity Too Large问题产生这种原因是因为服务器限制了返回数据大小nginx服务器的解决办法进入服务器,找到nginx下面的conf文件夹,vi nginx.confclient_max_body_size 50M;可以选择在http{ }中设置:client_max_body_size 50m;也可以选择在server{ }中设置:cli...

2019-11-19 14:10:06 71

原创 Long数据传递到前端精度丢失问题解决

后端把Long类型的数据传给前端,前端可能会出现精度丢失的情况。例如:201511200001722239这样一个Long类型的整数,传给前端后会变成201511200001722340。其实解决方案有两种:第一种:将Long类型更改为String类型,但是不建议。第二种:自定义解析方法/** * 解决Jackson导致Long型数据精度丢失问题 * * @...

2019-10-30 19:54:55 970

原创 查询Linux重启时间

date -d "$(awk -F. '{print $1}' /proc/uptime) second ago" +"%Y-%m-%d %H:%M:%S"

2019-09-19 10:49:09 294

转载 RabbitMQ延迟消息的极限是多少?

之前在写Spring Cloud Stream专题内容的时候,特地介绍了一下如何使用RabbitMQ的延迟消息来实现定时任务。最近正好因为开发碰到了使用过程中发现,延迟消息没有效果,消息直接就被消费了的情况。因此就继续深入研究了一下问题原因,在此记录下来,给碰到类似问题的童鞋们参考。问题定位因为不是所有的消息都出现了没有延迟消息效果的因素,通过有问题的消息特征,大致猜测可能是延迟时间过长导致了...

2019-08-29 11:34:35 108

转载 了解什么是 redis 的雪崩、穿透和击穿?redis 崩溃之后会怎么样?系统该如何应对这种情况?如何处理 redis 的穿透?

面试题了解什么是 redis 的雪崩、穿透和击穿?redis 崩溃之后会怎么样?系统该如何应对这种情况?如何处理 redis 的穿透?面试官心理分析其实这是问到缓存必问的,因为缓存雪崩和穿透,是缓存最大的两个问题,要么不出现,一旦出现就是致命性的问题,所以面试官一定会问你。面试题剖析缓存雪崩对于系统 A,假设每天高峰期每秒 5000 个请求,本来缓存在高峰期可以扛住每秒 4000 个请...

2019-08-17 10:14:02 106

转载 redis 的持久化有哪几种方式?不同的持久化机制都有什么优缺点?持久化机制具体底层是如何实现的?

面试题redis 的持久化有哪几种方式?不同的持久化机制都有什么优缺点?持久化机制具体底层是如何实现的?面试官心理分析redis 如果仅仅只是将数据缓存在内存里面,如果 redis 宕机了再重启,内存里的数据就全部都弄丢了啊。你必须得用 redis 的持久化机制,将数据写入内存的同时,异步的慢慢的将数据写入磁盘文件里,进行持久化。如果 redis 宕机重启,自动从磁盘上加载之前持久化的一些...

2019-08-15 14:57:51 55

转载 redis 的过期策略都有哪些?内存淘汰机制都有哪些?手写一下 LRU 代码实现?

面试题redis 的过期策略都有哪些?内存淘汰机制都有哪些?手写一下 LRU 代码实现?面试官心理分析如果你连这个问题都不知道,上来就懵了,回答不出来,那线上你写代码的时候,想当然的认为写进 redis 的数据就一定会存在,后面导致系统各种 bug,谁来负责?常见的有两个问题:往 redis 写入的数据怎么没了?可能有同学会遇到,在生产环境的 redis 经常会丢掉一些数据,写进去...

2019-08-14 11:12:06 65

转载 redis 都有哪些数据类型?

面试题redis 都有哪些数据类型?分别在哪些场景下使用比较合适?面试官心理分析除非是面试官感觉看你简历,是工作 3 年以内的比较初级的同学,可能对技术没有很深入的研究,面试官才会问这类问题。否则,在宝贵的面试时间里,面试官实在不想多问。其实问这个问题,主要有两个原因:看看你到底有没有全面的了解 redis 有哪些功能,一般怎么来用,啥场景用什么,就怕你别就会最简单的 KV 操作;看...

2019-08-12 09:55:20 422 1

转载 redis 和 memcached 有什么区别?redis 的线程模型是什么?为什么 redis 单线程却能支撑高并发?

面试题redis 和 memcached 有什么区别?redis 的线程模型是什么?为什么 redis 单线程却能支撑高并发?面试官心理分析这个是问 redis 的时候,最基本的问题吧,redis 最基本的一个内部原理和特点,就是 redis 实际上是个单线程工作模型,你要是这个都不知道,那后面玩儿 redis 的时候,出了问题岂不是什么都不知道?还有可能面试官会问问你 redis 和 m...

2019-08-12 09:41:53 48

转载 缓存并发竞争问题是什么?

面试题redis 的并发竞争问题是什么?如何解决这个问题?了解 redis 事务的 CAS 方案吗?面试官心理分析这个也是线上非常常见的一个问题,就是多客户端同时并发写一个 key,可能本来应该先到的数据后到了,导致数据版本错了;或者是多客户端同时获取一个 key,修改值之后再写回去,只要顺序错了,数据就错了。而且 redis 自己就有天然解决这个问题的 CAS 类的乐观锁方案。面试题剖...

2019-08-07 21:32:41 1321

转载 如何保证缓存与数据库的双写一致性?

面试题如何保证缓存与数据库的双写一致性?面试官心理分析你只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题?面试题剖析一般来说,如果允许缓存可以稍微的跟数据库偶尔有不一致的情况,也就是说如果你的系统不是严格要求 “缓存+数据库” 必须保持一致性的话,最好不要做这个方案,即:读请求和写请求串行化,串到一个内存队列里去。串行...

2019-08-07 21:24:55 152 1

转载 项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果?

面试题项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果?面试官心理分析这个问题,互联网公司必问,要是一个人连缓存都不太清楚,那确实比较尴尬。只要问到缓存,上来第一个问题,肯定是先问问你项目哪里用了缓存?为啥要用?不用行不行?如果用了以后可能会有什么不良的后果?这就是看看你对缓存这个东西背后有没有思考,如果你就是傻乎乎的瞎用,没法给面试官一个合理的解答,那面试官对你印象肯...

2019-08-07 21:17:07 728

转载 如果让你写一个消息队列,该如何进行架构设计?说一下你的思路。

面试题如果让你写一个消息队列,该如何进行架构设计?说一下你的思路。面试官心理分析其实聊到这个问题,一般面试官要考察两块:你有没有对某一个消息队列做过较为深入的原理的了解,或者从整体了解把握住一个消息队列的架构原理。看看你的设计能力,给你一个常见的系统,就是消息队列系统,看看你能不能从全局把握一下整体架构设计,给出一些关键点出来。说实话,问类似问题的时候,大部分人基本都会蒙,因为平时...

2019-08-02 22:32:44 358

转载 如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决?

面试题如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决?面试官心理分析你看这问法,其实本质针对的场景,都是说,可能你的消费端出了问题,不消费了;或者消费的速度极其慢。接着就坑爹了,可能你的消息队列集群的磁盘都快写满了,都没人消费,这个时候怎么办?或者是这整个就积压了几个小时,你这个时候怎么办?或者是你积压的时间太长了,导致比如 Ra...

2019-08-02 22:28:53 139

转载 如何保证消息的顺序性?

面试题如何保证消息的顺序性?面试官心理分析其实这个也是用 MQ 的时候必问的话题,第一看看你了不了解顺序这个事儿?第二看看你有没有办法保证消息是有顺序的?这是生产系统中常见的问题。面试题剖析我举个例子,我们以前做过一个 mysql binlog 同步的系统,压力还是非常大的,日同步数据要达到上亿,就是说数据从一个 mysql 库原封不动地同步到另一个 mysql 库里面去(mysql -...

2019-07-31 22:37:49 418

转载 如何保证消息的可靠性传输?或者说,如何处理消息丢失的问题?

面试题如何保证消息的可靠性传输?或者说,如何处理消息丢失的问题?面试官心理分析这个是肯定的,用 MQ 有个基本原则,就是数据不能多一条,也不能少一条,不能多,就是前面说的重复消费和幂等性问题。不能少,就是说这数据别搞丢了。那这个问题你必须得考虑一下。如果说你这个是用 MQ 来传递非常核心的消息,比如说计费、扣费的一些消息,那必须确保这个 MQ 传递过程中绝对不会把计费消息给弄丢。面试题剖...

2019-07-31 22:31:57 108

转载 如何保证消息不被重复消费?(如何保证消息消费的幂等性)

面试题如何保证消息不被重复消费?或者说,如何保证消息消费的幂等性?面试官心理分析其实这是很常见的一个问题,这俩问题基本可以连起来问。既然是消费消息,那肯定要考虑会不会重复消费?能不能避免重复消费?或者重复消费了也别造成系统异常可以吗?这个是 MQ 领域的基本问题,其实本质上还是问你使用消息队列如何保证幂等性,这个是你架构里要考虑的一个问题。面试题剖析回答这个问题,首先你别听到重复消息这个...

2019-07-29 17:54:59 213

转载 如何保证消息队列的高可用?

面试题如何保证消息队列的高可用?面试官心理分析如果有人问到你 MQ 的知识,高可用是必问的。上一讲提到,MQ 会导致系统可用性降低。所以只要你用了 MQ,接下来问的一些要点肯定就是围绕着 MQ 的那些缺点怎么来解决了。要是你傻乎乎的就干用了一个 MQ,各种问题从来没考虑过,那你就杯具了,面试官对你的感觉就是,只会简单使用一些技术,没任何思考,马上对你的印象就不太好了。这样的同学招进来要是做...

2019-07-29 17:46:16 54

转载 为什么使用消息队列?消息队列有什么优点和缺点?Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么优点和缺点?

面试题为什么使用消息队列?消息队列有什么优点和缺点?Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景?面试官心理分析其实面试官主要是想看看:第一,你知不知道你们系统里为什么要用消息队列这个东西? 不少候选人,说自己项目里用了Redis、MQ,但是其实他并不知道自己为什么要用这个东西。其实说白了,就是为了用而用,或者是别人设计的架...

2019-07-29 17:39:12 149

原创 Spring Boot中Multipartfile遇到的坑

场景还原:根据业务部分的需求,需要前端上传Excel文件,后端读取其中数据,存入数据库中。需求其实挺简单的,感觉也没啥难度,然后就一顿撸码,本地测试ok,测试人员测试也ok,然后就交付上线使用。上线一段时间后,问题发生了,报错代码如下:Caused by: java.io.IOException: The temporary upload location [/tmp/tomcat.290...

2019-07-25 10:56:14 3929

转载 Java 11 新特性概述

Java 11 已于 2018 年 9 月 25 日正式发布,之前在 Java 10 新特性介绍中介绍过,为了加快的版本迭代、跟进社区反馈,Java 的版本发布周期调整为每六个月一次——即每半年发布一个大版本,每个季度发布一个中间特性版本,并且做出不会跳票的承诺。通过这样的方式,Java 开发团队能够将一些重要特性尽早的合并到 Java Release 版本中,以便快速得到开发者的反馈,避免出现类...

2019-07-16 14:33:09 896

转载 Java 10 新特性概述

作为当今使用最广泛的编程语言之一的 Java 在 2018 年 3 月 21 日发布了第十个大版本。为了更快地迭代、更好地跟进社区反馈,Java 语言版本发布周期调整为每隔 6 个月发布一次。Java 10 是这一新规则之后,采用新发布周期的第一个大版本。Java 10 版本带来了很多新特性,其中最备受广大开发者关注的莫过于局部变量类型推断。除此之外,还有其他包括垃圾收集器改善、GC 改进、性能提...

2019-07-16 14:21:23 85

转载 Java 9 新特性概述

Java 9 正式发布于 2017 年 9 月 21 日 。作为 Java8 之后 3 年半才发布的新版本,Java 9 带 来了很多重大的变化。其中最重要的改动是 Java 平台模块系统的引入。除此之外,还有一些新的特性。 本文对 Java9 中包含的新特性做了概括性的介绍,可以帮助你快速了解 Java 9。Java 平台 模块系统Java 平台模块系统,也就是 Project Jigsaw...

2019-07-16 14:14:20 78

原创 base64图片截图

需求:接收到其他服务发送过来的base64的图片,然后给了个截图的4个点的坐标,现在需要根据4个点的坐标,进行截图之后返回到前端去显示出来;主要使用BufferedImage的getSubimage方法;如下所示1>构造个对象封装下这几个参数,从其他服务中接受到数据格式为图片的四个点坐标的一个二维数组,需要转换为截图的点x坐标,y坐标,截图的宽度和高度;所以先封装个对象;通过一个二维数组...

2019-07-14 11:14:27 666

原创 bas64图片加密解密

在项目中,我们会经常遇到图片的一些处理,比如说保存图片,下载图片,而我遇到的需求经常的做法是将图片经过base64加密后存入数据库,前端需要的时候,就将加密后的字符串传递给前端,前端自行解密即可。以下代码就是常规的加密解密代码:public class Base64Utils { /** * 图片转化成base64字符串 * * @param imgPat...

2019-07-14 11:01:16 1704

转载 Java程序员必备的一些流程图

1.spring的生命周期Spring作为当前Java最流行、最强大的轻量级容器框架,了解熟悉spring的生命周期非常有必要;首先容器启动后,对bean进行初始化按照bean的定义,注入属性检测该对象是否实现了xxxAware接口,并将相关的xxxAware实例注入给bean,如BeanNameAware等以上步骤,bean对象已正确构造,通过实现BeanPostProcessor...

2019-07-12 09:40:29 770

转载 JPA高级分析

1.JPA的实体生命周期:JPA的实体有以下4中生命周期状态:(1).New:瞬时对象,尚未有id,还未和Persistence Context建立关联的对象。(2).Managed:持久化受管对象,有id值,已经和Persistence Context建立了关联的对象。(3).Datached:游离态离线对象,有id值,但没有和Persistence Context建立关联的对象。(4...

2019-07-10 17:22:21 151

信息系统项目管理师--运作框架.xmind

信息系统项目管理师--运作框架

2021-10-18

信息系统项目管理师知识架构图.xmind

信息系统项目管理师知识架构图

2021-10-18

数据结构读书笔记.xmind

数据结构Xmind总结图

2021-10-18

git发布流程和规范

git通用的团队开发规范和管理规范,常见的一些命令都在该文档里面。

2019-01-08

maven思维导图

maven思维导图,整张图贯穿maven整个结构的详细说明。

2019-02-15

常用设计模式脑图

软件开发中常用的设计模式结构图,结构清晰简单,按照结构学习更快!

2019-02-15

项目管理流程

项目从立项、需求分析、系统分析、代码编写、功能测试、压力测试、项目验收、项目发布、等一些流程的管控都在这里面

2019-01-08

空空如也

空空如也

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

TA关注的人 TA的粉丝

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