- 博客(128)
- 收藏
- 关注
原创 踩坑日记 | 记一次流程图问题排查
这是一个画流程图的坑画流程图时需要注意:如果一个节点之后有多个分支,需要先试用 action 做好分流,再用path做进一步的分流。
2024-07-12 12:15:38
660
原创 MySQL与Oracle 执行计划对比
执行计划(Execution Plan)是数据库管理系统在执行SQL查询时生成的一个详细步骤列表。它描述了数据库如何访问数据以及查询的具体执行方式。执行计划对于数据库性能优化至关重要,因为它可以帮助开发人员和DBA识别并优化低效的查询。MySQL和Oracle在执行计划的生成和显示上有着显著的差异。理解这些差异可以帮助我们更好地优化SQL查询,提高数据库性能。通过合理使用索引、分析执行计划和保持统计信息的更新,可以显著提高查询的效率。希望这篇文章能够帮助您更好地理解和使用MySQL与Oracle的执行计划。
2024-07-05 15:57:03
777
原创 如何使用 AI 提高程序猿的工作效率
我们程序猿其实是距离AI最近的一批人也是别人眼中最有可能被AI代替的人但是光恐惧或者排斥是没用的有一句话说得好:与其想办法跑的AI跑的快不如考一张AI驾照- 鲁迅下面就分享3个我在日常工作中使用的AI来提高效率的场景。
2024-07-05 15:37:02
404
原创 将军赶路不追小兔—看完纪录片《百万富豪谷底翻身》
将军有剑,不斩苍蝇;猛虎赶路,不追小兔。朝着目标做功。每一件事情都是服务于目标的。昨晚看的小卒烧烤创业纪录片,主人公作为一个已经获得商业上成功的,从零开始90天时间创办一个价值百万的企业。飞机落地后他只有100元的启动资金,他思路非常清晰:解决温饱问题,确定创业项目,组建一支团队。(非常值得学习的几点:确定创业项目时借助创业基金会的力量,做分析和市场调研;找到合适的团队后,激发团队活力,让团队中的关键人物自主推动各自的模块。当然这都是后话)第一个目标,解决温饱问题。人这一生只有两个问题:一个是温
2022-02-14 11:41:02
902
3
原创 读完《绿毛水怪》我最喜欢最后一个故事
读完这本书的最后一个故事之后,坐在那里发了很久的呆。我和刘老师说我最喜欢最后一个故事《地久天长》。刘老师说,我也是。第一个挺好的,他补充道。他又说,豆瓣上的书友也都说喜欢最后一个故事。我喜欢最后一个故事的原因是小红,我喜欢小红的活力。那种活力让我时常检视自己的嘴角是否是上扬的?当然,小红的那种真、那种敢、同活力一样,令人从心里生出羡慕、欢喜、且愿意向她靠齐。我想这也应该是其他书友喜欢这个故事的一个原因吧。另一个让我喜欢的点便是小王的真实感受,当小王的身体和小红靠近时,我的内心也想小王一
2022-02-13 23:35:44
361
原创 塑造者思考法-自顶向下的思考方法
当我们给自己的人生做规划的时候,通常有两种选择,一种是根据自己的实际情况,看自己会什么技能,然后去什么方向发展;另一种是看自己想成为什么,然后向着目标前进。这两种选择对应的两种思考方法分别是,自底向上的思考方法和自顶向下的思考方法(塑造者思考法)。二、自底向上思考法有什么弊端?从自身角度出发是一种思路,但并不是最好的思路。在之前的层级思考法中我们认识到,自底向上的的思考方法
2022-02-12 23:07:39
505
原创 《本质思考》关注变化中的不变
文章目录引言个人能力修炼底层能力中层能力上层能力小结引言「这个世界唯一不变的东西就是变化。」这句话大家都听说过,但是大家都真正的理解这句话吗?面对变化我们就真的无能为力了吗?这里不变的「变化」指的到底是什么呢?正向思维关注变化,思考的是如何才能跟上变化的脚步;逆向思维聚焦于不变,帮助我们看到周围变化的同时,关注到究竟什么什么才是隐藏在诸多变化背后的那些不变的东西,什么是支配着千变万化背后的那双无形的大手。追随前者会让我们疲惫不堪,迷失在变化中,而找到后者让我们笃定自己的方向,拥有坚定的、长期主义的
2022-02-12 23:02:18
359
原创 故事的魅力—读王小波的《绿毛水怪》
最近很想写故事,想通过看一些讲故事的书来模仿、来找一些灵感。之前写的文章更多的都是单纯的论述或经验之谈,只讲理论,没有故事和例子,朋友说读起来有一种被人说教的感觉,我也觉得这样的文章不会有太多人喜欢。
2022-02-12 14:28:32
411
7
原创 Spring service本类中方法调用另一个方法事务不生效问题
Spring事务传播机制生效条件文章目录Spring事务传播机制生效条件为何不生效?如何解决?实践一下为何不生效?因为 spring 是使用 aop 来代理事务控制 ,是针对于接口或类的,所以在同一个 service 类中两个方法的调用,传播机制是不生效的。上面这段话说了原因,好像又没说。可以说的具体一点吗?OK,具体一点讲:我们使用spring容器构建出来的对象是一个代理对象,使用AOP对其方法增强也是返回的一个代理方法,目标对象内部的自我调用无法实施切面中的增强// todo 画图如何解
2022-02-08 21:05:27
1140
原创 Java内置锁的核心原理(一)
引言:线程安全问题什么是线程安全问题?当多个线程并发的访问一个Java对象时,无论系统如何调度这些线程,这个对象都能表现出一致的、正确的行为,那么我们就说对这个对象的操作是线程安全的。反之,对这个线程的操作不是线程安全的,发生了线程安全问题。本文将回答如下几个问题:synchronize是如何保证线程安全的? synchronize加锁到底是怎么加的? 锁信息放在Object对象的什么位置? 如何查看锁升级的具体过程?等等。关于synchronize的使用场景、synchronize与ReentryL
2022-01-25 20:56:26
553
1
原创 抽象类与模板模式
引言最近在看JUC的源码,Lock接口的实现类ReentrantLock中的AQS(AbstractQueuedSynchronizer)使用抽象类构建的模板模式很有意思。介绍模板模式前我们先回顾一下抽象类。抽象类什么是抽象类?《Java编程思想》(Think in Java)第九章对抽象类的说明,我们简单总结下:首先Java提供了一个叫抽象方法的机制,抽象方法只有声明,没有实现。抽象方法使用abstract关键字修饰:abstract void f();抽象类包含抽象方法的类叫做抽象类
2022-01-25 20:52:25
729
原创 2021年立下的Flag完成情况
引言:这篇文章来源于上厕所看手机,翻到备忘录中2021年自己制定的目标,转眼已是2022年,还有十几天就是农历新年,便回顾了下目标的完成情况,稍写了一点文字直到腿麻,中午午睡时间又补充了一些。# 2021年度目标1.主要目标:工作技能提升、涨薪50%。2.健康、爱好培养:跳舞。3.次要目标:副业赚钱,见世界,写作,说话有趣。# 完成情况1.主要目标:读完《Java高并发核心编程》《架构真意》,分享给朋友,并输出文章;组织公司读书/技术分享会,我分享的主题:《如何跨越知道与做到的鸿沟?》
2022-01-20 13:29:26
5004
2
原创 2022年的四个专题
前言什么是专题?有什么用?开设专题的目的:通过看书、看视频、交流、写作、讨论、分享等方式,想法设法让自己搞明白一件事情,搞明白自己想搞明白的事情。四个专题与行动计划第一、教员研究专题。教员为什么会有这么强的使命感?他的使命感从何而来?第二、使命专题。在实践中找我的使命、身份、价值观。第三、写作专题。至少每周一篇文章的产出。工作中用到的技术、管理知识、读到的书、生活中的元认知等。题材不限,尊重表达欲;文体不限,但要做到让别人看懂,语言最好是有趣味性、篇幅不限,不嫌短也不嫌长。最重要的是写。
2022-01-17 08:56:10
118
原创 番茄工作法-我是如何用使用番茄钟写文章与技术博客的
引言最近偶然看的一本书里讲了番茄工作法,刚好我最近写的文章和技术博客也在用他,于是写一个随笔记录分享一下。使用番茄钟写文章的工作流比如说要写一篇技术博客,那么先设置一个40分钟的番茄钟,然后开始专心的搭框架、写内容。40分钟一到将这篇博客发布出去,然后休息20分钟。20分钟后开始新一轮的番茄钟:重读这篇博客,修改废话,补充没写完的地方,添加重点信息,有时甚至会重新架构这篇文章。1. 第一个番茄钟我个人感觉这是非常有有效率的写文章的方法。在第一个番茄钟的时间里搭一个简易的框架,把自己想说的话一股脑的
2021-12-12 22:42:08
361
3
原创 Linux的内核态与用户态
引言:最近在看Java内置锁的实现时看到重量级锁的性能开销较大,主要因为使用重量级锁需要用到一个pthread_mutex_lock系统调用,导致Java程序需要在用户态和内核态之间切换,由于不太了解用户态和内核态到底是什么,所有今天来研究一下。是什么?Linux体系中内核态与用户态是什么?在Linux操作系统体系中,进程被分为2种类型,一种是操作系统自身运行的内核类进程,也被称为操作系统进程;另一种非操作系统进程运行在操作系统提供的能力之上的一种用户自定义的程序,我们将其称为用户类进程。如上图所
2021-12-12 22:37:34
1703
原创 线程池-两种提交任务的方法execute()与submit()详解
引言线程池中有两个提交任务的方法向线程池提交任务的两种方式大致如下:方式一:调用execute()方法// todo 源码方式二:调用submit()方法// todo 源码一、区别以上的submit()和execute()两类方法的区别在哪里呢?大致有以下三点:1.二者所接收的参数不一样Execute()方法只能接收Runnable类型的参数,而submit()方法可以接收Callable、Runnable两种类型的参数。Callable类型的任务是可以返回执行结果的,而Runnabl
2021-12-10 23:56:57
13083
3
原创 生产问题定位-MySQL慢查询与索引优化
@auther 张念磊@date 2021-10-01文章目录一、现象二、定位慢查询三、解决问题四、总结与思考今天闲来无事,写篇文章记录下本周遇到的一个生产问题。一、现象有一个服务每三十秒跑批一次来统计数据,按理说数据应该是每30秒刷新一次,但用户反馈数据10多分钟才能改变一次。登录到生产的服务器,数据库服务单个线程的CPU占用率为 400%左右,这肯定是不健康的。且该线程为mysql,基本可以断定:出现了慢查询。二、定位慢查询找来我们的运维工程师,打开数据库的慢查询打开数据库慢查询三
2021-10-01 16:52:49
208
原创 在线诊断工具Arthas实践分享-在线debug&不停服更新
Arthas 是一款阿里巴巴的开源在线 Java 诊断工具,采用命令行交互模式,支持 web 端在线诊断,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和分析诊断问题
2021-04-15 18:38:33
1388
原创 后端开发 - Java反射获取类的所有的属性和父类的所有属性
后端开发 - Java反射获取类的所有的属性和父类的所有属性文章目录问题getDeclaredFieldsgetFields思路编码官方文档:getDeclaredFieldsgetFields问题想获取一个类的所有属性和父类的所有属性看一下官方文档中关于获取类的属性的两个方法:getDeclaredFields返回一个字段对象数组,反映由这个类对象表示的类或接口声明的所有字段。这包括公共、受保护、默认(包)访问和私有字段,但不包括继承字段。getFields返回一个包含“字
2020-09-03 13:49:16
1553
1
原创 生产问题定位-Java线程死锁排查
后端开发 - 记一次生产问题定位@auther 张念磊@date 2020/7/25文章目录后端开发 - 记一次生产问题定位问题描述可能的原因尝试解决定位到问题最后补充查看系统总线程数查看进程下的所有线程数解压jar包 (可查看源码)后续问题描述一个服务上线生产之后两天出现了三次问题详细征兆如下:刚出现此问题时,浏览器的一个请求发过去,开发者工具network一栏显示该请求状态一直是padding,会持续几分钟。网关服务打印了对应的请求。后台服务只打印了controller中的日志,没有
2020-09-03 13:47:09
490
原创 设计模式-责任链模式的用法和使用场景分析
什么是链?1、链是一系列节点的集合。2.、链的各节点可灵活拆分再重组。责任链模式(职责链)使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系,将这个对象连成一条链,并沿着这条链传递该请求,直到处理完成。角色抽象处理者角色(Handler):定义出一个处理请求的接口。如果需要,接口可以定义 出一个方法以设定和返回对下家的引用。这个角色通常由一个Java抽象类或者Java接口实现。具体处理者角色(ConcreteHandler):具体处理者接到请求后,可以选择将请求处理掉,或
2020-09-01 13:04:30
773
原创 后端技能-使用jstack命令定位JVM异常
文章目录Jstack命令官方解释使用jstack定位运行时异常 ⭐️⭐️⭐️Arthas工具(todo)补充1. 如果服务是docker部署的方式2. jstack统计线程数Jstack命令官方解释jstack prints Java stack traces of Java threads for a given Java process or core file or a remote debug server. For each Java frame, the full class name,
2020-09-01 12:59:47
469
原创 折腾了半下午搞定了github.io主页,记录一下
阅读本文需要大约3分钟为什么要使用GitHub Page搭建博客?对于我的个人博客,我一直没有停下折腾的脚步,最早的博客是大二时搭在腾讯云学生服务器上,后面也尝试了CSDN,cnblog,简书,掘金等博客平台,下面是我做的一个简单地分析对比:博客平台简分析对比几大平台中CSDN的SEO做的最好,访问量最多的能有7000+ https://blog.csdn.net/Mr_Zhang…...
2020-04-19 14:43:35
2975
2
原创 后端 - Git学习分享
后端 - Git学习分享文章目录后端 - Git学习分享一个学习git的网站通关截图配置别名@auther 张念磊@date 2020/2/17一个学习git的网站https://learngitbranching.js.org/# 基础git checkout -b hotfix # 新建一个分支git checkout C2 # 分离headgit branch -f ma...
2020-04-05 23:12:43
271
原创 Linux - firewall防火墙使用指南
目录 firewall使用指南 firewall是什么? 如何安装? 如何使用? 示例开启80端口 重新启动防火墙 参数说明: 在指定区域开启某个范围的端口号 参数 其他命令...
2020-02-09 12:05:00
194
原创 Linux - firewall防火墙使用指南
firewall使用指南@auther 张念磊@date 2020/2/9文章目录firewall使用指南firewall是什么?如何安装?如何使用?示例开启80端口重新启动防火墙参数说明:在指定区域开启某个范围的端口号参数其他命令参考firewall是什么?Centos7 默认的防火墙是 firewall,替代了以前的 iptables2、firewall 使用更加方便、功能也更加强...
2020-02-09 12:03:46
494
原创 重学Linux - 链接文件
目录 重学Linux - 链接文件 重学Linux - 链接文件@@auther 张念磊@date 2020/1/30ln命令命令英文:link功能:创建一个链接语法:ln [源文件] [生产的链接文件]参数: -s 生成软连接示例:ln -s /etc/issue /tmp/is...
2020-01-30 11:25:00
160
原创 重学Linux - 链接文件
重学Linux - 链接文件@auther 张念磊@date 2020/1/30ln命令英文:link功能:创建一个链接语法:ln [源文件] [生产的链接文件]参数: -s 生成软连接示例:ln -s /etc/issue /tmp/issue.softln /etc/issur /tmp/issue.hard 软连接文件的特点:权限文件大小箭头...
2020-01-30 11:19:18
197
原创 重学Linux - 文件处理命令
文件处理命令@auther 张念磊@date 2020/1/29touch命令所在路径:/bin/touch执行权限:所有用户语法:touch [filename]功能描述:创建空文件范例:touch Japanlove.listcat语法:cat [filename]功能描述:打印文件内容范例:cat /tmp/boduo带有行号的显示:cat -n /tmp...
2020-01-29 16:53:26
113
原创 重学Linux - 文件处理命令
文件处理命令@auther 张念磊@date 2020/1/29touch命令所在路径:/bin/touch执行权限:所有用户语法:touch [filename]功能描述:创建空文件范例:touch Japanlove.listcat语法:cat [filename]功能描述:打印文件内容范例:cat /tmp/boduo带有行号的显示:cat -n /...
2020-01-29 14:21:00
105
原创 重学Linux - 文件处理命令
文件处理命令@auther 张念磊@date 2020/1/29touch命令所在路径:/bin/touch执行权限:所有用户语法:touch [filename]功能描述:创建空文件范例:touch Japanlove.listcat语法:cat [filename]功能描述:打印文件内容范例:cat /tmp/boduo带有行号的显示:cat -n /tmp...
2020-01-29 14:16:06
165
原创 Linux起源
Linux起源操作系统出现时间线:Unix1970年诞生 ,71年用C语言重写Apple II 诞生于1976年window诞生于1985年Linux诞生于1991年,由大学生Linus Torvalds和后来的众多爱好者共同开发完成。想必大家看了这个时间线应该能想明白为啥Linux要出现并且开源吧。因为前面三个都贼贵。为什么是企鹅logo因为企鹅是极地动物,极地(南极...
2020-01-28 22:54:00
299
原创 MySQL问题汇总
目录 MySQL问题汇总 1. 处理问题的思路 2. 具体步骤 3. 可能的问题 4. 参考 MySQL问题汇总1. 处理问题的思路出问题,看日志分析具体有什么错误针对错误解决问题2. 具体步骤查看日志ca...
2020-01-28 22:51:00
179
原创 重学Linux - Linux命令之目录处理命令
目录处理命令mkdir英文名称:make directories命令所在的路径:/bin/mkdir执行的权限:所有用户语法:mkdir -p [目录名]功能描述:创建新的目录 -p递归的创建范例:mkdir -p /tmp/japan/boduocd英文原意:change directory命令所在路径:shell内置命令执行权限:所有用户功能:功能切换目录范例...
2020-01-28 22:42:29
152
原创 重学Linux - Linux命令学习方法
Linux常用命令本文主要以学习ls命令为例讲解Linux命令的学习方法命令格式命令格式:命令 【-选项】【参数】例如:ls -la /etc说明: 1)个别命令不使用此格式 2)当有多个选项时,可以写在一起 3)简化选项和完整选项 -a 等于 --all如何学习一个命令:从以下几个方面:命令名称:ls命令英文原意:list命令所在路径:/bin/ls...
2020-01-28 22:41:06
204
原创 重学Linux - Linux使用的注意事项
注意事项Linux是区分大小写的Linux 中的东西都是文件形式保存,包括硬件Linux没有扩展名这个概念Windows早起的8.3规则 文件名不超过8位,点后的格式不超过3位,现已废弃改规则Linux不考扩展名区分文件类型压缩包:.gz/.tar/.bz/.tar.bz2/.tgz二进制软件包:.rpm网页文件:.html/.php脚本文件:.sh配置文件:.conf...
2020-01-28 22:39:15
150
原创 重学Linux - Linux起源
Linux起源操作系统出现时间线:Unix1970年诞生 ,71年用C语言重写Apple II 诞生于1976年window诞生于1985年Linux诞生于1991年,由大学生Linus Torvalds和后来的众多爱好者共同开发完成。想必大家看了这个时间线应该能想明白为啥Linux要出现并且开源吧。因为前面三个都贼贵。为什么是企鹅logo因为企鹅是极地动物,极地(南极北极)又不...
2020-01-28 22:37:51
212
原创 MySQL问题汇总
MySQL问题汇总处理问题的思路出问题,看日志分析具体有什么错误针对错误解决问题具体步骤查看日志cat /var/log/mysqld.log或者使用less,tail 命令,根据具体场景选择。warning和note不用管,直接看error2018-08-21T12:41:21.480445Z 0 [ERROR] Can’t start server: Bi...
2020-01-21 10:02:19
200
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人