自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

没故事的码农的博客

不积跬步,无以至千里...

  • 博客(57)
  • 资源 (11)
  • 收藏
  • 关注

原创 docker 安装 mysql

第一步,安装docker ,确保centos环境符合要求,有网。首先可以先查询支持的mysql: search。# 以上两个命令是一致的,默认拉取的就是 latest 版本的。docker rmi 镜像id。docker stop 容器id。docker rm 容器id。第二步:拉取mysql。

2023-06-19 11:07:50 471

原创 mysql 5.7.32安装及主从安装信息

最方便的 就是 直接使用docker容器 搭建一个比较方便或者 直接使用yum源安装,说白了就是少踩坑。或者 是直接使用 宝塔等工具帮忙,直接脚本跑以下是内网两台机器安装的方法。

2023-05-10 14:30:43 849

原创 seata前置环境

官网:https://github.com/seata/seata中文网:Seataseata mysql 语句https://github.com/seata/seata/blob/develop/script/server/db/mysql.sql-- -------------------------------- The script used when storeMode is 'db' ---------------------------------- the...

2022-04-06 12:18:12 1138

原创 使用aop,基于注解记录日志

背景:最近项目有个需求就是需要记录访问指定方法(可能是CRUD中任意一个方法)的日志思路: 我最先想到的是 基于mybatis 的拦截执行器 来实现,参考上篇文章。但是我需要传递各个方法的一些信息,这个貌似不容易做到于是基于 aop aspectj ,可以完成对日志操作的记录步骤一: 导入依赖这里碰到了一个坑,就是 aspectware版本不能太低, 不然启动会报以下错误invalid byte tag in constant pool: 18我是1.8的j.

2021-12-30 10:25:06 285

原创 mybatis针对各种CRUD 操作拦截处理,方便日志处理

核心思路就是添加一个mybatis的拦截器,由Invocation invocation 拿到需要的参数信息注意导入的包import org.apache.ibatis.executor.Executor;import org.apache.ibatis.mapping.MappedStatement;import org.apache.ibatis.plugin.*;import org.springframework.stereotype.Component;import..

2021-12-29 14:34:24 535

原创 swagger 后端错误信息展示

swagger bug 修复

2021-12-29 11:08:25 1041

原创 MySQL8版本安装教程

背景 对比一下,就冲这速度 都要支持一波下载这里可以快速下载8版本https://dev.mysql.com/downloads/file/?id=496745安装1: 下载完的压缩包,解压放在D盘 2:新加入data目录,和一个my.ini 文件注意配置安装目录和数据存放目录[mysqld]# 设置 3306 端口port=3306# 设置 mysql 的安装目录basedir=D:\\soft\\develop\\mysql\..

2021-07-19 15:37:21 296

原创 JVM调优技巧

jvm调优技巧前言:学习JVM调优前,你需要了解到jvm内存结构,目前大部分企业都是使用jdk8. 大家可以好好去看看jdk8内存结构的知识。如果你还知道 JMM内存模型,那 ----- 你比较优秀!工具目前常用的工具 有JConsole 和 VisualVmidea 直接在命令行使用:jconsole或者:jvisualVm附上几张效果图有了上面的信息,就可以分析了步骤1.监控GC的状态使用上面的JVM工具,查看当前日志,分析当前JVM参数设置,并且分析当前堆内存快照和g

2021-07-06 15:22:41 330 1

原创 日志集中处理及查看服务构建

目前可以利用一个finder服务,实现日志监控集中处理。还可以创建只读用户等操作。

2021-07-06 10:28:05 171

原创 linux centos7 安装oracle11g xe版本

https://www.oracle.com/database/technologies/xe-prior-releases.html下载地址

2021-06-16 15:43:53 472 1

原创 类加载过程

当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现这个类进行初始化。1.加载加载,是指Java虚拟机查找字节流(查找.class文件),并且根据字节流创建java.lang.Class对象的过程。这个过程,将类的.class文件中的二进制数据读入内存,放在运行时区域的方法区内。然后在堆中创建java.lang.Class对象,用来封装类在方法区的数据结构。类加载阶段:(1)Java虚拟机将.class文件读入内存,并为之创建一个Class对象。...

2021-05-31 09:40:30 96

原创 程序员一直在慢慢内卷,而且越来越严重

如果打工人不觉醒、不抗争,管理者不制定有效措施防止内卷,而任由内卷的发生,我们每一个人都将是受害者,每个人的幸福感都会降低。版权问题,尊重原创,附上链接地址:https://baike.baidu.com/tashuo/browse/content?id=5208853312a7bfec3ac55b3f...

2021-05-17 14:58:26 440

原创 线程池详解

思维导图前言在实际开发场景中,我们经常要使用多线程开发应用,比如实现异步操作,或者为了提高程序的效率等等。但是以前我见过有实习生在使用的时候是直接new Runable(),然后start()。没有使用线程池,可能很多初学者对线程池在多线程开发中没有足够的认识,所以我写一篇文章讲讲线程池,希望对大家有所启发。一、什么是线程池线程池借鉴了"池化"技术的思想,线程池能够对线程的生命周期进行管理,对线程重复利用,并且能够以一种简单的方式将任务的提交与执行相解耦。举个例子来说,线程就像是某个

2021-04-28 15:42:40 222

原创 Explain在mysql使用技巧

前言在MySQL中,我们知道加索引能提高查询效率,这基本上算是常识了。但是有时候,我们加了索引还是觉得SQL查询效率低下,我想看看有没有使用到索引,扫描了多少行,表的加载顺序等等,怎么查看呢?其实MySQL自带的SQL分析神器Explain执行计划就能完成以上的事情!Explain有哪些信息先确认一下试验的MySQL版本,这里使用的是5.7.31版本。只需要在SQL语句前加上explain关键字就可以查看执行计划,执行计划包括以下信息:id、select_type、table、parti

2021-04-15 15:11:00 160

原创 LIST遇到的坑

经过几年的工作经验,我发现List有很多坑,之前公司有些实习生一不小心就踩到了,所以我打算写一篇文章总结一下,希望看到这篇文章的人能不再踩到坑,代码没bug。做个快乐的程序员。迭代时删除元素使用for-each迭代遍历时,删除集合中的元素,会报错。 private static List<String> list = new ArrayList<>(); static { //初始化集合 for (int i = 1; i &l

2021-04-14 15:18:52 150

原创 about shiro 在springboot中集成

Shiro 是一个强大、简单易用的 Java 安全框架,主要用来更便捷的认证,授权,加密,会话管等等,可 为任何应用提供安全保障。本课程主要来介绍 Shiro 的认证和授权功能。1. Shiro 三大核心组件Shiro 有三大核心的组件: Subject 、 SecurityManager 和 Realm 。先来看一下它们之间的关系。1. Subject:认证主体。它包含两个信息:Principals 和 Credentials。看一下这两个信息具体是什 么。Principals:身份

2021-03-29 16:36:26 145

原创 springboot-aop详解

1. 什么是AOPAOP:Aspect Oriented Programming 的缩写,意为:面向切面编程。面向切面编程的目标就是分离 关注点。什么是关注点呢?就是关注点,就是你要做的事情。假如你是一位公子哥,没啥人生目标,每 天衣来伸手,饭来张口,整天只知道一件事:玩(这就是你的关注点,你只要做这一件事)!但是有个 问题,你在玩之前,你还需要起床、穿衣服、穿鞋子、叠被子、做早饭等等等等,但是这些事情你不想 关注,也不用关注,你只想想玩,那么怎么办呢? 对!这些事情通通交给下人去干。你有一个专门的仆人

2021-03-25 17:25:38 909

原创 后端响应值及异常拦截规范

1:定义返回的统一 json 结构前端或者其他服务请求本服务的接口时,该接口需要返回对应的 json 数据,一般该服务只需要返回请 求着需要的参数即可,但是在实际项目中,我们需要封装更多的信息,比如状态码 code、相关信息 msg 等等,这一方面是在项目中可以有个统一的返回结构,整个项目组都适用,另一方面是方便结合全 局异常处理信息,因为异常处理信息中一般我们需要把状态码和异常内容反馈给调用方。编写java beanpublic class JsonResult {/...

2021-03-25 12:27:50 797

原创 ThreadLocal比较详细的讲解

ThreadLocalthreadlocal使用方法很简单static final ThreadLocal<T> sThreadLocal = new ThreadLocal<T>();sThreadLocal.set()sThreadLocal.get()threadlocal而是一个线程内部的存储类,可以在指定线程内存储数据,数据存储以后,只有指定线程可以得到存储数据,官方解释如下。/** * This class provides thr..

2021-03-11 17:42:51 159 2

原创 分布式缓存十大灵魂点

“今天无聊来撩一下分布式缓存,希望你们喜欢~目录前言目前工作中用到的分布式缓存技术有redis和memcached两种,缓存的目的是为了在高并发系统中有效降低DB的压力,但是在使用的时候可能会因为缓存结构设计不当造成一些问题,这里会把可能遇到的坑整理出来,方便日后查找。一. 常用的两种缓存技术的服务端特点1. Memcache服务端Memcache(下面简称mc)服务端是没有集群概念的,所有的存储分发全部交由mc client去做,我这里使用的是xmemcached,这.

2021-03-09 09:57:41 109

原创 分布式事务的多种解决方案

什么是分布式事务分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器「分别位于不同的分布式系统的不同节点之上」。一个大的操作由N多的小的操作共同完成。而这些小的操作又分布在不同的服务上。针对于这些操作,「要么全部成功执行,要么全部不执行」。为什么会有分布式事务?举个例子:转账是最经典的分布式事务场景,假设用户 A 使用银行 app 发起一笔跨行转账给用户 B,银行系统首先扣掉用户 A 的钱,然后增加用户 B 账户中的余额。如果其中某个步骤失败,此时就有可能会出现

2021-03-03 17:20:16 291 3

原创 SpringBoot 中实现跨域的5种方式

一、为什么会出现跨域问题出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port)二、什么是跨域当一个请求url的协议、域

2021-02-23 08:53:32 179

原创 如何保障消息100%投递成功、消息幂等性?

一、前言我们小伙伴应该都听说够消息中间件MQ,如:RabbitMQ,RocketMQ,Kafka等。引入中间件的好处可以起到抗高并发,削峰,业务解耦的作用。如上图:(1)订单服务投递消息给MQ中间件(2)物流服务监听MQ中间件消息,从而进行消费我们这篇文章讨论一下,如何保障订单服务把消息成功投递给MQ中间件,以RabbitMQ举例。二、分析问题小伙伴们对此会有些疑问,订单服务发起消息服务,返回成功不就成功了吗?如下面的伪代码:上面代码中,一般发送消息就是...

2021-02-22 10:29:22 260

原创 聊一聊 高可用

本文采用“高可用是什么,为什么要高可用,怎么做高可用,为什么这么做,软件风险又在哪里”的逻辑来介绍。一 高可用是一种控制风险的能力高可用是一种面向风险设计,使系统具备控制风险,提供更高的可用性的能力。二 为什么要高可用对于一个公司而言,“为什么要高可用”可以完整理解为“公司为什么要(做系统)高可用”。以公司为对象,从内看包括:人,软件(物),硬件(物);从外看包括:客户,股东,社会;从自身看包括:公司。高可用的大前提:所有事物都不是100%可靠...

2021-02-22 09:06:32 384 2

原创 设计模式 之 单例模式-02

最简单的 设计模式,还是先列出来吧。 写法多样,你知道几种呢???单例模式单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。注意:1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他...

2021-02-09 16:24:06 117

原创 设计模式 之 装饰者模式

背景: 临近放假,手上的活没那么多了, 积累了一些设计模式经验 分享给大家今天说的 是 装饰者模式装饰器模式装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。直接干货 示例demo如下:package com.yzgu.up.disignpattern.deco...

2021-02-09 16:08:37 149

原创 HttpClient 的实现原理

一、背景HTTP是一个传输内容有可读性的公开协议,客户端与服务器端的数据完全通过明文传输。在这个背景之下,整个依赖于Http协议的互联网数据都是透明的,这带来了很大的数据安全隐患。想要解决这个问题有两个思路: C/S端各自负责,即客户端与服务端使用协商好的加密内容在Http上通信 C/S端不负责加解密,加解密交给通信协议本身解决 第一种在现实中的应用范围其实比想象中的要广泛一些。双方线下交换密钥,客户端在发送的数据采用的已经是密文了,这个密文通过透明的Http协议在互联网上.

2021-02-08 11:19:15 1026

原创 github上的图片看不了,教你解决

一个很难受的问题朋友,你们逛全球最大的同性交友网站Github的时候,是否遇到过这个问题?图片都无法显示了。这是什么情况?我已经遇到过好几次了,之前没时间管它,不过一直这样也不是办法啊,太难受了????!今天我来探探究竟。一探究竟猜测:难道是缓存问题?于是我使用组合键ctrl + f5强制刷新了一下网页,发现不起作用。我又打开f12,强制清除缓存:还是不行,图片依旧无法显示。但是我打开f12后注意到一个问题,console里面一片红色:看这样子应该是因为网络问题,加载图片资源

2021-02-08 09:34:39 4714 1

原创 关于5G,一篇讲得很透彻的文章

今天的故事,和通信界的头牌花旦“五姐(5G)”有关。这一切,要从一个“神奇的公式”说起…… 一个神奇的公式!!!就是这个公式:还记得这个公式的童鞋,请骄傲地为自己鼓个掌!!!如果不记得,或是看不懂,也没关系,解释一下。就是这个超简单的公式,蕴含了无线通信技术的博大精深。无论是往事随风的1G、2G、3G,还是意气风发的4G、5G,说来说去,都是在这个数学公式上做文章。且听我慢慢道来...

2021-02-07 09:33:37 28630 5

原创 参数校验,干货小技巧

项目的参数校验,往往是让人头疼的。 今天教大家一个简单的 参数校验技巧。 抛开 那 看着不爽 if 校验, 或者 你们觉得 优雅一点的 拦截(抛出异常,自定义拦截器处理) 校验。直接使用 spring boot 的validation 吧, 优点: 一般的web项目不需要 你单独引入依赖,有 web-starter 依赖就好 如下: <dependency> <groupId>org.s...

2021-02-05 15:43:01 372

原创 写代码的好习惯,减少80%非业务的bug

每一个好习惯都是一笔财富,本文整理了写代码的多个好习惯,每个都很经典,养成这些习惯,可以规避多数非业务的bug!希望对大家有帮助~1. 修改完代码,记得自测一下「改完代码,自测一下」是每位程序员必备的基本素养。尤其不要抱有这种「侥幸心理:我只是改了一个变量或者我只改了一行配置代码,不用自测了」。改完代码,尽量要求自己都去测试一下哈,可以规避很多不必要bug的。2. 方法入参尽量都检验入参校验也是每个程序员必备的基本素养。你的方法处理,「必须先校验参数」。比如入参是否允许为空...

2021-02-04 09:42:58 440

原创 Oracle 优化小技巧01

背景: 项目有个表 数据 目前大概就 五百多万。但是还是在不停的新增,没有分区,没有分库分表解决方案: 同事们,马不停蹄的加索引 ,出现如下我同事问我,怎么有个条件加了索引,永远不走索引呢, 被我一眼识破,如上图,这可是 生产环境哦。 各位老哥们还是要细心点啊。。。干货:查询慢, 先不要慌先看看 当前表的 索引有哪些-- 查询表所有的索引select t.*, i.index_type from user_ind_columns t, u...

2021-02-02 12:16:28 96

原创 rocketmq 安装、集成、使用

安装rocketmq基于Java编写,首先需要jdk环境1:可以下载source,编译。https://mirror.bit.edu.cn/apache/rocketmq/4.7.1/rocketmq-all-4.7.1-source-release.zip// 也可以直接下载bin文件https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.7.1/rocketmq-all-4.7.1-bin-release.zip2:window

2021-01-28 16:14:06 624

原创 拼多多最新消息

前言: 作为一个有良知的少年。 总结了最近某多多的各种事迹。part1:一个让人心寒的事迹,参考链接:https://zhuanlan.zhihu.com/p/342031688part2: 如果上面故事,没有震撼到你,那么窥探人隐私呢??参考链接:http://qingdao.dzwww.com/shangjie/202101/t20210113_7592067.htmpart3: 麻烦,不想点开地址, 直接 上图这是某网友手机被入侵的证据,...

2021-01-20 14:38:01 239 3

原创 拦截器使用技巧

背景: 最近跟一个其他平台接口交互,有个接口鉴权的问题,一个拦截器搞定。我们调用三方多个接口都需要加上token参数,本身就springboot来说, 拿到的request 只能获取 header ,设置header 一般都是属于 客户端操作。比如 使用 postman 可以手动设置请求头 header如果你是使用 httpclient 的话,那么也是很容易解决这个问题的。可以私信我因为我们项目是基于 feign调用。所以我想到的 是统一处理。代码如下新建一个m...

2021-01-18 10:53:08 419 3

原创 新版springboot2.x websocket实现

网上有很多关于WebSocket用法的文章,但是有一些内容错误或者代码不全的,这里来个全的,方便自己记忆。前言:WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补充规范。WebSocketAPI也被W3C定为标准。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直..

2021-01-14 11:47:34 266

原创 双亲委派

来看看你能回答上来多少个:1、什么是双亲委派?2、为什么需要双亲委派,不委派有什么问题?3、"父加载器"和"子加载器"之间的关系是继承的吗?4、双亲委派是怎么实现的?5、我能不能主动破坏这种双亲委派机制?怎么破坏?6、为什么重写loadClass方法可以破坏双亲委派,这个方法和findClass()、defineClass()区别是什么?7、说一说你知道的双亲委派被破坏的例子吧8、为什么JNDI、JDBC等需要破坏双亲委派?9、为什么TOMCAT要破坏双亲...

2021-01-11 12:49:31 287

原创 tomcat 异步使用

对于异步处理来说,主要包括异步的开启,异步的执行,异步的结束,异步的超时以及整个异步处理的状态流转,本文我们主要介绍tomcat 异步的开启。异步的开启:对于异步的使用,我们一般有如下代码:public void testAsync(HttpServletRequest request, HttpServletResponse response) { try{ AsyncContext context = request.startAsync(); co.

2021-01-11 11:09:56 1285

原创 Netty服务添加https支持,jdk 证书

1、使用JDK自带的keytool生成一个keystore,这个keystore是服务端使用的,直接在bin目录下执行keytool -genkey -alias netty -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -keystore D:/test/netty.keystore -storepass 1234562、新建一个安全工具类,用于返回一个SSLEngineimport org.slf4j.Logger;i

2021-01-08 15:52:07 852 1

原创 @Validated和@Valid区别:Spring validation验证框架对入参实体进行嵌套验证必须在相应属性(字段)加上@Valid而不是@Validated

Spring Validation验证框架对参数的验证机制提供了@Validated(Spring's JSR-303规范,是标准JSR-303的一个变种),javax提供了@Valid(标准JSR-303规范),配合BindingResult可以直接提供参数验证结果。其中对于字段的特定验证注解比如@NotNull等网上到处都有,这里不详述在检验Controller的入参是否符合规范时,使用@Validated或者@Valid在基本验证功能上没有太多区别。但是在分组、注解地方、嵌套验证等功能上两个有所不

2021-01-08 08:40:00 555

智能电表解析关联的工具 和资料信息

本人在项目上用到了智能电表的接入的一点处理, 东西在内网,处理都差不多, 后端通过TCP可以实时获取电表数据

2024-05-06

海康视频流地址播放demo

0x01730f00 报错了,说明海康组件包没升级到位, 参考版本 组件版本问题,让对接你们项目的现场海康技术,检查下组件版本,不满足的话,升级: 1)mgc 5.15.103,并打上对应版本补丁 2)vnsc 1.16.101 3)并打上vms最新的基线补丁

2023-12-26

nginx 离线安装资源包

自己安装内网nginx的时候找到的离线安装包,没有yum可用的时候,这个玩意还是很重要的 。

2023-05-11

skywalking+es7+nacos+ik+kibana

skywalking+es7+nacos+ik+kibana

2021-07-11

dbeaver-ce-7.3.1-win32.win32.x86_64.zip

dbserver好用的客户端连接工具

2021-07-07

finalshell_install.exe

好用的ssh 客户端工具

2021-06-29

shell.zip 个人使用的ssh客户端。感谢csdn帮我缓存一下

xshell+xftp 新版自用

2021-06-05

springboot-parent.rar

自己收集的一些技术点代码(当前后端主流技术,包含各个技术点整合,地图api调用示例,文档,集成vue ,代码生成,excel处理,缓存,设计模式等等)。all in one!

2021-04-25

springcloud-oauth2-security.rar

基于oauth2认证的服务示例。附带sql. 可以快速应用到自己的项目中 Greenwich.RELEASE

2021-04-25

yzguweb.rar

一个基于用户,角色的权限管理系统。security+webmvc+mysql+mybatis

2021-04-25

Desktop.rar

全国完整的行政区划,个人建站和企业均可使用。请按规范使用。

2021-01-26

jdk 多个版本,jdk 多个版本,jdk 多个版本,

jdk 多个版本

2020-12-27

CentOS-7-x86_64-Minimal-2003.7z

Linux安装必备镜像

2020-12-26

java整套开发环境,不用一个一个去找了

java整套开发环境,不用一个一个去找了

2020-12-26

空空如也

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

TA关注的人

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