- 博客(143)
- 资源 (7)
- 收藏
- 关注
原创 K8s常用命令
namespace#创建namespacekubectl apply -f ns-test.yamlapiVersion: v1kind: Namespacemetadata: name: ns-test#查看kubectl get ns#删除namespacekubectl delete namespace ns-test #k8s中几乎所有的资源都可以通这YAML编排来创建可以使用kubectl edit 资源类型 资源名编辑资源的YAML语法kubectl edit na
2022-05-06 00:27:18
876
原创 15个常用的sql优化技巧
原文:https://www.cnblogs.com/12lisu/p/15535940.html作者:苏三说技术前言sql优化是一个大家都比较关注的热门话题,无论你在面试,还是工作中,都很有可能会遇到。如果某天你负责的某个线上接口,出现了性能问题,需要做优化。那么你首先想到的很有可能是优化sql语句,因为它的改造成本相对于代码来说也要小得多。那么,如何优化sql语句呢?这篇文章从15个方面,分享了sql优化的一些小技巧,希望对你有所帮助。1. 避免使用select很多时候,我们写sql语
2022-03-15 01:00:50
39772
12
原创 阿里巴巴编码规范认证
休息日去考了一个阿里巴巴编码规范认证证书,题目还是偏难的,50个题,差不多44个多选题。如果平时编码注意规范,那么在看上1-2遍还是好考过的。
2022-02-26 22:21:27
1410
原创 Git原理及应用(学习笔记)
Git概述git概述git的原理是存储元数据(key-value形式)每次提交代码以后,git就会将当前内容存储到类似hashmap的数据结构中存储命令:git hash-object -w “文件名”查看hamp值:git cat-ile -p “key”git提交文件流程图:git关联多个仓库一个项目可以关联多个远程仓库,可以用来做备份功能Git 命令初始化一个项目git init '项目名字' ->example: git init 'study-git-bak'关联远
2022-01-10 02:31:59
860
原创 判断一个数是否为整数、正整数、小数通用算法
思路用它本身减去它保留0位小数(建议不要四舍五入,直接舍去小数部分)的值和0去比较如果大于0,说明这个数是小数如果等于0,说明这个数是整数不会出现小于0的情况。如果还要判断是否是正整数,那么在加一个条件,这个数是否大于0public class TestMain { public static void main(String[] args) { BigDecimal a = BigDecimal.valueOf(12.00); BigDecimal b
2022-01-07 15:35:20
7366
原创 Linux学习笔记(四)
上一期讲到Linux的安装,这次介绍一些很关键的基础命令和使用!下达指令指令下达的方式很简单,记得几个重要的概念就可以了。举例来说,你可以这样下达指令的:[dmtsai@study ~]$ command [-options] parameter1 parameter2 …也就是:命令名称 -参数名称 参数值的形式,例如:ls -l /etc(列表展示etc目录下的文件)终端机接口(terminal)在默认的情况下, 无法支持以中文编码输出数据的。这个时候,我们就得将支持语系改为英文,才能够以英文
2021-11-30 01:07:30
268
原创 问题:Feign调用的服务配置了server.servlet.context-path时,调用出现404
问题:Feign调用的服务配置了server.servlet.context-path时,调用出现404先说明一下情况:我现在有两个服务:order服务和聚合服务oms,order服务配置了server.servlet.context-path为/order。提供了一个接口:/token/timestamp,访问这个接口的完整路劲是:order/token/timestampFeignClient配置:有的人可能觉得我这个路劲有问题,应该写成这样子:/order/token/timestamp但是
2021-11-04 11:35:14
2253
原创 Java中的偏向锁,轻量级锁, 重量级锁解析
原文链接:https://blog.youkuaiyun.com/lengxiao1993/article/details/81568130作者:萧萧九宸 文章目录 参考文章Java 中的锁一些先修知识synchronized 关键字之锁的升级(偏向锁->轻量级锁->重量级锁)无锁 -> 偏向锁偏向锁的撤销(Revok
2021-10-23 11:05:12
407
原创 Linux学习笔记(三)
安装LinuxCentOS的下载点国家高速网络中心:http://ftp.twaren.net/Linux/CentOS/7/isos/昆山科技大学:http://ftp.ksu.edu.tw/FTP/Linux/CentOS/7/isos/CentOS官方网站:http://mirror.centos.org/centos/7/isos/FTP用户端程序来下载,例如Filezilla:http://filezilla-project.org/download.php 等。这样比较不需要担心断线的
2021-10-21 01:50:54
506
原创 MySQL查询时报错(utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_general_ci,IMPLICIT)
在MySQL中做嵌套查询的时候经常遇到错误1267,这就是因为查询出的数据和做筛选的列的字符集编码不同造成的!
2021-09-09 16:45:56
3706
1
原创 大白话说三次握手、四次挥手
作者:三分恶链接:https://juejin.cn/post/6965544021833809928我们都知道 TCP 是面向连接的,三次握手就是用来建立连接的,四次握手就是用来断开连接的。三次握手先上图:我们来看一下三次握手的过程:一开始,客户端和服务端都处于 CLOSED 状态。客户端主动打开连接,服务端被动打卡连接,结束 CLOSED 状态,开始监听,进入 LISTEN 状态。一次握手客户端会随机初始化序号(client_isn),将此序号置于 TCP 首部的「序号」字段中
2021-08-11 17:03:24
678
原创 创建类模式总结篇
原文链接:https://blog.youkuaiyun.com/zhengzhb/article/details/7393557作者:割韭韭原文博主总结得很好,所以搬过来存档,方便日后查询创建类模式主要关注对象的创建过程,将对象的创建过程进行封装,使客户端可以直接得到对象,而不用去关心如何创建对象。创建类模式有5种,分别是:单例模式:用于得到内存中的唯一对象。工厂方法模式:用于创建复杂对象。抽象工厂模式:用于创建一组相关或相互依赖的复杂对象。建造者模式:用于创建模块化的更加复杂的对象。原型模式:用于
2021-08-05 19:39:22
230
原创 Controller 默认的是单例还是多例
前言看spring容器依赖注入的时候,说的spring容器默认注入的都是单例对象,也就是spring容器里面存的都是单例对象,即一个对象只会存在一个。然后就突然想到一个常见的面试题:平时用的Controller是单例还是多例?相信很多人都知道是单例,所以我们就来证明一下!测试代码:直接正常写一个接口,多调用几次打印自己的地址,看一不一样:import org.springframework.context.annotation.Scope;import org.springframework.w
2021-08-04 15:42:58
3016
2
原创 Mybatis/Mybatis-Plus 使用流式查询优化大量数据导出
前言相信小伙伴们工作当中肯定会经常遇到导出数据的需求,做这个导出需求的话相信大家肯定很多人用easypoi工具包,这个工具包用起来是真的方便,爽。但是如果数据量大,产品又要你导出很多数据,这时候就不爽了,因为如果数据量大的话,服务器配置又不是很高,那么很容易就把服务器导挂了。今天就教大家一招(有能力的小伙伴也可以自行研究使用其它方式优化导出),使用mybatis/mybatis-plus中的流式查询结合阿里的easyexcel做到一边查询一边写入流的方式优化大量数据导出,这样做写入流后的数据内存就可
2021-08-03 00:50:41
10737
11
原创 Linux学习笔记(一)
学习Linux之前,先介绍下计算机基础知识:CPU 的架构目前世界上常见到的两种主要 CPU 架构, 分别是:精简指令集 (RISC) 与复杂指令集 (CISC)精简指令集 (Reduced Instruction Set Computer, RISC)这种 CPU 的设计中,微指令集较为精简,每个指令的执行时间都很短,完成的动作也很单纯,指令的执行性能较佳; 但是若要做复杂的事情,就要由多个指令来完成。常见的 RISC微指令集 CPU 主要例如甲骨文 (Oracle) 公司的 SPARC 系列、
2021-07-09 00:52:31
337
1
原创 JVM线上CPU 100%、内存泄露问题排查
原文链接:https://www.toutiao.com/i6881508437667086856/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1×tamp=1620435813&app=news_article&utm_source=weixin&utm_medium=toutiao_ios&use_new_style=1&req_id=20210508090333
2021-06-15 01:55:11
2112
5
原创 Linux生产环境上,最常用的一套“vim“技巧
原文连接:https://mp.weixin.qq.com/s/--bKVw-z67xQi4ggfJeesQ
2021-06-15 01:44:33
427
原创 利用Java8 stream 求对象两个属性计算后的和,利用Java8 stream 求BigDecimal的和
今天工作遇到一个问题,花了不少时间,业务是统计一个List 中对象的两个属性计算之后的总和,解决代码如下:public class SingleThreadTest{ public static void main(String[] args) { Apple a1 = new Apple(10, 5); Apple a2 = new Apple(10, 5); Apple a3 = new Apple(10, 5); Apple
2021-04-14 09:40:22
4120
原创 Linux常用命令总结,带你实现Linux命令自由
原文链接:https://juejin.cn/post/6938385978004340744作者:Lion哈喽,各位小伙伴,最近我在学习Linux,做了挺多笔记,本来准备整理成博文分享出来的。正好无意看到这篇文章,总结得很好,而且都是常用的,几乎已经把我最近学习的Linux知识都总结完了,所以我就分享这篇文章给大家看吧。字有点多,好文一定要有耐心看哦,欢迎大家去看原文支持原创作者。前言Linux的学习对于一个程序员的重要性是不言而喻的。前端开发相比后端开发,接触 Linux机会相对较少..
2021-04-06 01:55:23
684
原创 Linux 三剑客之 awk 实战详解教程
原文链接:https://mp.weixin.qq.com/s/4o2raIt1xsNVxGuhh3fXAA作者:编程修养我们知道 Linux 三剑客,它们是grep、sed、awk。在前边已经讲过 grep 和 sed,没看过的同学可以直接点击阅读,今天要分享的是更为强大的awk。sed 可以实现非交互式的字符串替换,grep 能够实现有效的过滤功能。与两者相比,awk 是一款强大的文本分析工具,在对数据分析并生成报告时,显得尤为强悍。awk 强大的功能,是一般 Linux 命令...
2021-03-26 01:44:51
361
原创 一文搞懂双亲委派原则
原文链接:https://mp.weixin.qq.com/s/6nJ-6cDLW6TfysWV5ZB3Iw作者:三太子敖丙大家在开发过程中经常碰到一些类加载的问题,比如:ClassNotFoundExceptionCause:java.lang.ClassNotFoundException:Cannotfindclass:com.cc.ANoClassDefFoundErrorCause:java.lang.NoClassDefFoundError:Cannot...
2021-03-21 15:26:37
789
原创 Linux 中 ; && &执行多条命令的区别
对linux熟悉的人都知道,多条命令可以使用“;”“&&” “&”隔开,一直执行,但是你们知道他们的区别吗?命令1 & 命令2 & 命令3(三条命令同时执行,没有先后顺序,也没有成功失败,如下图)可以看到,先显示命令2的内容,然后是命令1,最后是命令3的内容命令1 && 命令2 && 命令3 (有先后顺序,并且要前面的命令执行成功后才继续执行后面的,如下图)命令1 ;命令2 ;命令3 (有先后顺序,但...
2021-03-13 14:39:36
1880
原创 过滤器与拦截器的区别
原文链接: 地址太长,点我作者: Java高级架构师前言Spring的拦截器与Servlet的Filter有相似之处,比如二者都是AOP编程思想的体现,都能实现权限检查、日志记录等。但它们之间又有不少区别,很多朋友工作多年,可能还没有深刻的了解它们的具体使用以及它们之间的区别。本文带大家全面了解一下它们的使用、实现机制以及区别。过滤器(Filter)的详解及使用过滤器(filter)属于Servlet的范畴,可以认为是Servlet的一种“加强版”,通过实现javax.servlet.Filter
2021-01-27 00:38:40
230
原创 RocketMQ快速入门,RocketMQ单机版搭建
概述RocketMQ 是阿里巴巴在2012年开源的分布式消息中间件,目前已经捐赠给 Apache 软件基金会,并于2017年9月25日成为 Apache 的顶级项目。作为经历过多次阿里巴巴双十一这种“超级工程”的洗礼并有稳定出色表现的国产中间件,以其高性能、低延时和高可靠等特性近年来已经也被越来越多的国内企业使用。为什么用mq?不用mq,程序间直接通信,耦合度高。而使用mq可以实现应用解耦、流量削峰、内容分发(发布订阅)应用解耦:系统的耦合性越高,容错性就越低。以电商应用为例,用户创建订
2021-01-17 18:04:21
403
原创 设计模式之——命令模式
相关知识:通常设计模式有23种,主要分为三大类:创建型模式(5种):单例模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式。 结构型模式(7种):适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式(11种):模板方法模式、中介者模式、策略模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、解释器模式。前言:命令(Command)模式属于设计模式中的行为模式。软件开发系统中,“方法的请求者”与“方法的实现者”之间经常存.
2021-01-11 02:07:11
191
原创 Linux修改ip为固定ip地址,虚拟机修改Ip为固定地址
1.查看本地ip网段和网关,子网掩码(linux要根据这些来配,不然配置好了没有网络)cmd-> ipconfig 查看2.修改虚拟机的网络连接模式为桥接模式。3.进入linux 先查看一下网卡名称和现在的ip4.编辑 /etc/sysconfig/network-scripts/目录下的ifcfg-ens33 文件将dhcp改为static,新增三条配置:IPADDR=192.168.3.109 这里的配置范围是:网段.2~网段.254,也就是:192..
2020-11-14 17:10:33
1971
原创 RocketMQ报错:rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout
学习rocketmq发送同步消息的时候,报了一个这样的错:rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout以上测试代码启动后报错如下图。不想看原因的直接看解决方案:设置生产者发送消息的超时时间长一点。报错分析及解决方法:看了网上说法很多:有说是因为ip不是外网ip,还有一些其他的。说ip不是公网ip的我就纳闷了。学习的时候,看资料人家用的就是虚拟机,局
2020-11-08 05:29:11
9706
6
原创 缓存双写一致性问题:先操作数据库还是先操作缓存?
原文连接:https://mp.weixin.qq.com/s/2ZvPScfbpl85ZGCDbifY1w作者:捡田螺的小男孩前言在分布式系统中,缓存和数据库同时存在时,如果有写操作,先操作数据库还是先操作缓存呢?本文将分5种方案展开阐述对比,谢谢阅读~github地址,衷心感谢每一颗star❝https://github.com/whx123/JavaHome❞缓存维护方案一如果是一读(线程B)一写(线程A)操作,「先操作缓存,再操作数据库」。流程图如下所示:
2020-11-04 00:21:56
397
原创 白话讲线程池原理
原文连接:https://mp.weixin.qq.com/s/2dlWmcE3YZkPtU7mzTk8wQ作者:捡田螺的小男孩本文以程序员做需求的例子,比喻线程池的工作过程。以故事白话的方式展开,跟大家阐述线程池工作原理,以方便大家更好理解线程池,谢谢阅读哈~ 什么是线程池? 什么是核心线程? 什么是阻塞队列? 什么是非核心线程? 什么是空闲存活时间? 什么是饱和策略? 线程池工作原理流程图&源码概览 github地址,
2020-11-03 23:37:54
211
原创 深入分析ReentrantLock理解AQS同步队列的细节和设计模式
参考文章:https://www.jianshu.com/p/baeb74654df8https://blog.youkuaiyun.com/l18848956739/article/details/98037356ReentrantLock介绍ReentrantLock 叫互斥锁也叫可重入锁,ReentrantLock采用内部自己定义的一个抽象静态类Sync 来管理锁,ReentrantLock 内部通过继承Sync抽象静态类,实现了两种锁一种是公平锁,一种是非公平锁,Sync是如何来管理锁,这里就会涉及
2020-09-27 01:39:28
881
原创 设计模式之——中介者模式
相关知识:通常设计模式有23种,主要分为三大类:创建型模式(5种):单例模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式。 结构型模式(7种):适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式(11种):模板方法模式、中介者模式、策略模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、解释器模式。前言:中介者模式(Mediator Pattern)属于设计模式中的行为模式。用一个中介对象来封装一系列的对象交互,中介
2020-09-20 05:10:24
238
原创 别在最好的位置上睡觉
一位外国作家的小说讲了一则故事:有个小镇上来了一个马戏团。他们在当地临时招工做杂物,并提出做三个小时工作可以给一张外场的票,做六个小时就可以进到内场,要是干一整天,就可以得到一张最前排最中间位置的票。有一对穷人家的小兄弟愿意干一整天,换一张最前排的票。于是,他们开始了辛苦的工作。从太阳升起到落下,他们一刻不停地干活,中间只分吃了一个馒头。到下午的时候,兄弟俩都十分疲惫,但是看马戏的信念支撑着他们——还是最前排最中间的位置。到了晚上,兄弟俩终于在艰辛的劳动后迎来了演出。他们筋疲力尽地坐在第一排
2020-09-05 14:23:50
195
原创 配置spring-boot-admin监控出现org.springframework.beans.factory.BeanCreationException: Error creating bean
最近重构项目的时候,用到了spring-boot-admin来搭建一个应用监控服务,但是启动的时候报了一个错:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'adminHandlerMapping' defined in class path resource [de/codecentric/boot/admin/server/config/AdminServerWebCon
2020-09-04 01:05:58
1851
1
原创 再有人问你什么是ThreadLocal,就把这篇文章甩给他!
原文链接:https://blog.youkuaiyun.com/Lammonpeter/article/details/105175187作者:itlemon前言ThreadLocal是JDK1.2提供的一个工具,它为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序,解决共享参数的频繁传递与线程安全等问题。如果开发者掌握了ThreadLocal用法与原理,那么使用起来将得心应手,那么请跟随本文的节奏,拨开迷雾,探究本质吧!本文将带领读者深入理解Threa
2020-08-10 01:24:53
244
原创 分布式id生成策略,我和面试官扯了一个半小时
原文链接:https://mp.weixin.qq.com/s/yIE5NOj7nqCu2AnWCte1Rg作者:非科班的科班面试官:小伙子,你还记得我吗?我是上次面试你的那个面试官。我心想:我去,怎么会不记得,我又不是青年痴呆,上次害我画了那么多图,还使劲敲了一个多钟的电脑,满脑子都是你的阴影。我:记得记得,您好,很高兴能通过二面,能够继续和您交流技术问题。我违背良心说这话真的好吗,姑且就那么一次吧,面个试都那么难?面试官又快速的扫了一下的简历,可能上次看过一次,都快过了一个多星.
2020-07-18 17:36:21
294
原创 全网最全 | MySQL EXPLAIN 完全解读
原文链接:https://mp.weixin.qq.com/s/dy6zLFpPrOCyp4yBcM2DZg作者:IT牧场EXPLAIN作为MySQL的性能分析神器,读懂其结果是很有必要的,然而我在各种搜索引擎上竟然找不到特别完整的解读。都是只有重点,没有细节(例如type的取值不全、Extra缺乏完整的介绍等)。所以,我肝了将近一个星期,整理了一下。这应该是全网最全面、最细致的EXPLAIN解读文章了,下面是全文。文章比较长,建议收藏。TIPS本文基于MySQL 8.0编写,理论
2020-07-18 17:01:39
524
原创 Docker搭建YApi环境 及使用
1.YApi介绍YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。(引用官方)2.特点基于 Json5 和 Mockjs 定义接口返回数据的结构和文档,效率提升多倍 扁平化权限设计,即保证了大型企业级项目的管理,又保证了易用性 类似 postman 的接口调试 自动化测试
2020-06-27 19:59:26
1886
6
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人