自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 收藏
  • 关注

原创 说话沟通的策略

在草原上生活着两家猎人,生活方式是大兔子养活全家人,但是兔子越来越少,这天早晨,两个猎人来到草原上,草原上只有一个兔子。猎人都在思考一个问题,是先打人还是先打兔子,如果先打人那么那个人有可能把你打死,两个猎人拿着枪互相瞄准,斗争和对立就发生了。但是生活中大部分的问题是不需要斗争的,更多的是需要折中,你说800,我说1000,最后900成交。这种合作方式是不对的,正确的应该是两个猎人合作,去山里打鹿,一个人分一半,这半个月都有饭吃,而且不用互相伤害。第一种,考虑自己的感受不考虑对方的感受,这种方法叫竞争。

2024-04-24 09:13:44 354

原创 自我解释的方法

狐狸的第三种解释方式是交换。狐狸坐在葡萄架下,觉得葡萄架太高了,如果它是小灌木没有那么高它就能吃到了,于是狐狸发表了一篇论文,《论葡萄的灌木型改良技术》最后狐狸成了农业学家,拿了诺贝尔学奖,有很多人送给他它葡萄。狐狸在葡萄架下,想那么好的葡萄,我一口都吃不到,这活着还有什么意思,今天吃不到葡萄的人是我,他日吃不到葡萄的人又是谁,不如我和葡萄一起去了。上述几种方式在现实生活中使用的人很多,既然跟头一定会摔的,坎坷一定会有的,暴风雨一定会来的,所以我们要找到更健康的方式,来面对人生中的失败和坎坷。

2024-04-24 09:13:06 229

原创 自我悦纳的方法

在年少时期,我们以为所谓的进步就是跟有毛病的自己做斗争,把身上所有的缺点都消灭,这个想法给我们带来了巨大的痛苦。随着年龄增长逐渐发现,真正的进步是发挥自己的优势,做更多自己擅长的事情,同时跟自己的缺点和不足和谐相处,接纳自我更真实和坦然地面对自己。人们总会用这种挑剔的眼光看自己,因为有这种自我挑剔的存在才会不断的改进,所以自我挑剔是人类的一种进化特征。像一件旧衣服,充满了漏洞褶子,但如果你阳光自信的把衣服穿上,这本身就是一种风格,你只要关注核心并呈现就可以了,没必要在意那些小细节,过度的纠结和焦虑。

2024-04-23 09:19:18 536

原创 时间管理的方法

禅师说:“我给您解释一下,这石头啊,代表的是重要的事,沙子是例行的事,水则是琐碎的小事,如果刚开始您把这些琐碎的小事都排满了,那么重要的事就没办法安排,一天就会混乱。琐碎的事,能做就做,不能做就让别人做,实在没人做也可以不做”。现实生活中有些人计划非常详细,甚至连吃饭上厕所,穿衣服都规划好了,但是如果先做那些琐碎不重要的事情,即使这些事做的再精彩,重要的事情意见没完成。禅师乐了,又从旁边抓来一堆沙子,一点一点的装进了杯子,因为石头中间有缝隙,沙子又装进去了一些,禅师又问:“这次满了么?

2024-04-23 09:08:28 363

原创 提高心智模式的方法

在我们的认知中,成功的人往往都是聪明睿智的人,成功是和智商高划等号的,但事实并非如此。智商之父,推孟发起过一项研究,结果表明很多智商高的人并没有成功而且栽了大跟头,相反一些智商平平的人,成绩排不了班级前三的普通人后来却成功了。所以他们得到一个结论,非智力因素比智力因素更重要。智力因素只能带来一时的辉煌,但并不能一直的优势,非智力因素才是成功的关键。童年和少年时期的上进心。上进心推动一个孩子持续的去探索、竞争、追求。青年时期的自信心。

2024-04-23 09:06:00 567

原创 情绪管理的方法

欲取天下先治己身,做大事先提高修养,而自我修养最开始就是情绪管理。不能着急,不能上火,不能拍桌子乱发脾气,事到临头能忍得住,能化解的了。才能体现一个人真正的水平。情绪是一种联合反应,是心里体验跟身体外在反应行为的一种相结合。一般来讲,情绪包括,喜怒哀愁,又有七情说,喜怒忧思悲恐惊,又叫七情六欲。情绪是一种联合反应,内部有体验,外部有行为,这两个个合在一起叫情绪。如果内部有体验,外部没有行为,这就不叫情绪,换句话说你只要没有生气的行为,你的情绪就被管住了。我们控制不住内部体验,但是可以控制外部行为。

2024-04-23 09:05:04 785

原创 处理复杂人际关系的策略

周围人热烈鼓掌,说真有武德,然后就轮到a了,a朝着b开枪把b打死了,然后你就有了第二次开枪的机会,你不光有机会而且还有理由,理由就是a把b打死了。如果你是b你抓到了,让你开第一枪,那么b还是会打a,因为c活下来对你最有利。发现b已经死了,然后抹把眼泪跟a说,“本来都是一家人,没想到你丧心病狂,为了荣华富贵打死了b,为了匡扶正义,给b报仇,对不起了”,这时候开枪就把a打死了。a的命中率是95%,b的命中率是85%,c的命中率是75%,三个人拿着枪相互射击,在乱打的情况下,看谁能活到最后。强者如山,弱者似水。

2024-04-22 18:43:45 637

原创 做事要留有余地

看宫门的是一个姓岳的老头,他打开宫门,看到夷射腰间的酒葫芦,便说道:“夷大人,你已经酒醉至此,你这葫芦里酒肯定是喝不下去了,小人从未尝过御酒,能不能把这御酒赏我一些呢?齐王知道后,大怒:“给我彻查,严惩不贷!”看门老岳头三步并作两步,跪倒在地报告:“君上,我知道冰是哪儿来的,是你的好朋友夷射,昨晚酒后出宫门,乘我开门之时,他站在墙角撒了一泡尿,还边撒尿边吹口哨!春秋战国年间,齐国国君有一个好朋友叫夷射,一年冬天,齐王叫夷射到宫里喝酒,二人对饮,你一杯我一杯,一杯又一杯,喝的是前仰后合,畅快淋漓。

2024-04-22 18:42:59 395

原创 整合支付功能

Slf4j@Override// 前置处理log.debug("开始执行前置处理.");if (!throw new PayException("支付前置处理失败,不能继续执行");log.debug("前置处理执行完毕");// 执行log.info("开始执行,请求参数 {}", JSON.toJSONString(orderInfo));log.info("执行完毕,响应参数 {}", JSON.toJSONString(result));// 后置处理。

2024-04-19 14:52:54 921

原创 管道流设计模式结合业务

Override@Override@Override// 执行// 是否继续执行调用链/*** 执行器* @param context 上下文对象*/

2024-04-18 11:18:50 841

原创 简要概述如何做好程序设计功能

有状态服务: 即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,典型的设计如 tomcat 中的 session。从DDD角度界限上下文、ER图、评审表结构设计是否合理,表的关联关系是否合理、是否创建索引、是否大数据量表考虑放到分片库以及分片字段设计。无状态服务:客户端的每次请求必须具备自描述信息,通过这些信息识别客户端身份。服务端不保存任何客户端请求者信息。与外部系统交互、本系统模块之间流程,比较好用的画圈软件draw .io或在线的process on。

2024-04-18 11:05:07 446

原创 解决内存泄漏问题

HashMap、LinkedList 等集合类,如果这些集合是静态的并且向集合中添加了对象,这些对象就算不再使用,也不会被GC主动回收的,它们的生命周期与JVM程序一致,容器中的对象在程序结束之前将不能被释放,从而造成内存泄漏。因为改变了对象属性的值相当于改变了改对象的hash值,删除的时候是根据对象的hash值来删除的,删除对象的时候找不到对应的hash值,所以不能删除,最终导致内存泄露。非静态内部类,自动生成的构造方法,默认的参数是外部类的类型,因此使用非内部内部类的时候会保留一个外部类的引用。

2024-04-17 16:35:32 748

原创 如何优雅规范编写Java代码

else并不会降低代码的复杂度,相反比较少见的写法可能会增加认知负荷,从而进一步增加了复杂度。else是为了对代码进行解耦合,方便扩展代码,最终方便对代码的维护。思路:定义一个注解,将需要校验的参数对象都标注该注解,利用SpringAOP,拦截该注解,将其中标注的参数取出,最后通过BeanValidator进行校验。是因为通常在编码过程中我们不只自己进行开发,通常需要一个团队来进行,开发好之后还需要维护,所以编码规范就显的尤为重要。代码维护时间比较长,那么保证代码可读性就显得很重要。

2024-04-17 16:30:58 906

原创 Hystrix熔断及工作流程

当微服务系统的一个服务出现故障时,故障会沿着服务的调用链路在系统中疯狂蔓延,最终导致整个微服务系统的瘫痪,这就是“雪崩效应”。为了防止此类事件的发生,微服务架构引入了“断路器”的一系列服务容错和保护机制。

2024-04-17 10:26:56 1049

原创 使用Validator框架进行参数校验

String message() default "请输入中文";Class

2024-04-17 09:49:35 586

原创 使用Hugo、Github Pages搭建自己的博客

需要注意的是,Github Pages需要在跟路径下创建一个docs文件夹,这个文件夹就是你的网站页面,我的是这样,docs里面保证根目录有一个index.html文件即可。除此之外,Hugo内置web服务器,可以在修改MarkDown文章之后切换到浏览器,页面会检测到更新并且自动刷新,呈现出最终效果,能极大的提高博客书写效率。它的极速和简约风格符合我的需求,让我能够专注于内容的创作。最初希望能将自己学习的知识记录下来,梳理自己的思想,于是开始搭建博客。就可以访问得到你的博客了,这就完成了博客的部署。

2024-04-15 11:21:38 896

原创 MQ概览及Kafka详解

为保证 producer 发送的数据,能可靠的发送到指定的 topic,topic 的每个 partition 收到 producer 发送的数据后,都需要向 producer 发送 ack(acknowledgement 确认收到),如果 producer 收到 ack,就会进行下一轮的发送,否则重新发送数据。这个问题怎么解决呢?由于index文件中的每条对应log文件中存储内容大小都相同,所以想要找到指定的消息,只需要用index文件中的该条的大小加上该条的偏移量即可得出log文件中指定消息的位置。

2024-04-13 13:26:12 1164

原创 SpringBoot整合Nacos

大致原理为: 监听nacos配置改动,通过nacos改动确定改动的配置,进而缩小更新范围,通过反射更新变量.有时候一些老项目或者一些写法会遇到静态的配置,这时候可以利用Java的反射特性来刷新静态变量.一键傻瓜试安装即可,官网写的很清楚这里不在赘述。整合nacos配置中心,注册中心,完整项目地址。

2024-04-13 13:03:22 922

原创 程序员如何提高收入

甚至有一些外包的员工就是找这种兼职的员工的。通过面试,你展示自己的能力,对方是对你有欣赏的地方,就可以通过加微信好友,扩大自己的社交圈子,将来有什么单子就有可能找到你,因为你便宜成本低。可以发一些你的作品,发一些你对行业的一些认知,甚至可以分享你服务一个客户的整个过程,这些都是能给你带来更多的客户的。不知道怎么发可以先去看看别人怎么做的,网络上一搜就有,这些内容他只要持续的在发,就证明是有效的。你如果不跟人家社交人家都不知道你,不知道你到底行不行,说到底就是人家不信任你,你要建立起这份信任,人家才会带你。

2024-04-13 11:30:53 122

原创 Spring启动流程和循环依赖

在BeanA中注入BeanB,BeanB中注入BeanA,在BeanA创建的过程中,会先判断容器中A是否存在,如果不存在会先初始化BeanA,然后给BeanA赋值,此时会给BeanA里的BeanB属性赋值,在赋值之前会将创建BeanA的流程放到三级缓存中(三级缓存为Map结构,key为String,value为函数式接口);由于BeanA里面包含BeanB,所以接下来给BeanB执行创建流程,判断容器中是否存在BeanB,给属性B赋值,此时会给BeanB里的BeanA属性赋值。在每一层都提供支持。

2024-04-12 22:35:24 890

原创 常见接口优化方法

如果应用程序没有接入APM,可以在生产环境装一下arthas,利用trace接口方法和火焰图,大概能分析是那一块比较慢,定位能力稍微有点粗糙。线上接口很慢,线上生产问题,我们绝对不能马虎放过抱着侥幸心理,必须要找到根本原因及时处理,防止下次留下更大的坑.大致思路要定位接口问题,然后具体问题具体分析,讨论不同解决方案.要快速定位接口哪一个环节比较慢,性能瓶颈在哪里,可以使用应用性能监控工具(APM)定位问题。常见工具: skywalking、pinpoint、cat、zipkin。

2024-04-12 14:26:10 361

原创 如何快速打开Github

我们在浏览器输入 GitHub 的网址时,会向 DNS 服务器发送一个请求,获取到 GitHub 网站所在的服务器 IP 地址,从而进行访问。为什么我们打开Github速度很慢?很卡,甚至于访问不了,原因是中间有个域名通过DNS解析的过程,将域名解析为对应的ip地址,主要时间都是花在了DNS解析上了。有时候尝试过手动修改host文件来解决网站的访问问题,及更换网络但还是有时候无法如愿的访问GitHub,这里推荐一个备用方案,可以通过修改 hosts 文件,解决: GitHub 访问速度慢的问题,推荐。

2024-04-12 14:23:07 1250 3

原创 怎么重构一个程序

摘自《重构:改善既有代码的设计》重构(名词形式): 对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。重构(动词形式): 使用一些列重构手法,在不改变软件可观察行为的前提下,调整其结构。重构的目的是使软件更容易被理解和修改。可以在软件内部做很多修改,但必须对软件可观察的外部行为只造成很小的变化,甚至不造成变化。与之形成对比的是性能优化,和重构一样,性能优化通常不会改变组件的行为,只会改变其内部结构。

2024-04-12 14:02:23 1055

原创 计算机专业参考指南

比如,学历较高,学习能力比较强尤其数学比较好,又对计算机方向有兴趣而且家里比较富裕不是很着急赚钱,能接受收益慢的情况,就可以选择研发方向,从而提前做好准备。开发方向最终的落地成长方向是工作经验,项目经验,设计能力,统筹协调能力。在我看来各行有各行的难,生化环材的专业肯定也有一肚子苦水要吐,计算机专业只要坐住了去学,不管二本还是双非,找个过的去的工作总归是没问题的。初学者在学习编程的时候,可以尝试用计算机去解决生活中的问题,尝试理解需求,理解业务,理解团队,而不仅仅是盯着技术不放,这会限制你的成长。

2024-04-12 13:42:33 1187

原创 常见程序故障排查及程序配置

导入dump文件:在生成可疑泄漏报告后,会在对应的堆转储文件目录下生成一个zip文件。MAT最主要的功能是分析dump文件,其中比较重要的功能就是histogram(直方图)和dominator tree(支配树)

2024-04-12 13:34:58 850

原创 如何强制复制网站上的文字

一般多数情况会使用开发者工具或者禁用js脚本,来进行规避,但有些时候开发者工具打不开,比如一打开就出现debugger,放行会跳空页面,百度的文心一言就是这样。当在一些网站搜集资料的时候,按右键复制却出现弹窗,无法复制粘贴,必须关注公众号,或者是付费才能复制,这时候也能利用开发这工具进行规避,找到对应的html代码去掉即可。一种简单直接的方法,不用进行任何其他操作,直接选中文字,然后将文字拖动到文档或者社交软件对话窗口,直接就能自动粘贴你选中的文字,简单排版就可以使用了。有两种方法可以禁用网站的js。

2024-04-12 13:11:45 333

原创 如何快速写一份简历

在写完工作经验后建议写一个工作业绩小模块,来体现你整体的工作成就,可以将取得的成果量化,尽可能用数字和百分比来描述你的成绩,例如:提高了20%的销售额、管理了10人的团队、由3s降低到30ms,性能提高100倍、项目运行很稳定,很少接到用户投诉。正好,我最近新写了一份其他行业的简历,通过网络搜索和ai的帮助,我很快就完成了,并且对比同行业的简历,我觉得内容还是比较丰富的,所以分享给大家写简历的一些思路和技巧,先看一下效果。简历的专业技能,尽量写一些自己擅长的技能与面试岗位相匹配的,将最匹配的放上边。

2024-04-12 13:03:15 918

原创 职场中如何正确提出辞职

这种情况下建议用一些个人的原因,如:身体不舒服、家里有事,同时把这些事情所需要的时间说的长一点,事情说的严重一些,让老板无法回绝你,让它感觉你是很焦急的样子。当你成功做完上面几个事情之后,请不要删掉某些同事的微信,甚至跟某些同事直接翻脸,发生不愉快的事情,这样做是非常不好的;应该什么时候辞职,取决于你想什么时候辞职,如果你想要离职需要提前打招呼,针对于转正的员工,公司让你交接工作一个月是合情合法合理的,如果你想一个月之内离职,需要你的态度好点。前者是对自己的不负责任,后者是对他人的不负责任。

2024-04-12 12:57:36 916

原创 面试中常见的问题

如果对方能够给到那就愉快的接受,如果不能给到,那个可以基于这个底线,以及offer的其他情况,做一个判断,然后和对方有进一步的沟通。在说离职的原因的时候不要过多的表露自己的负面情绪,即使你有理由也不要把大把的时间花到这个上面,因为面试的时间是非常宝贵的,你不要让面试官抓到它不找你的理由,而是要把握机会,展示自己的闪光点。应该什么时候辞职,取决于你想什么时候辞职,如果你想要离职需要提前打招呼,针对于转正的员工,公司让你交接工作一个月是合情合法合理的,如果你想一个月之内离职,需要你的态度好点。

2023-05-05 10:43:41 941

原创 IDEA常用插件及使用技巧

配置一些常用代码字母缩写,在输入简写时可以出现你预定义的固定模式的代码,使得开发效率大大提高,同时也可以增加个性化。例如: 输入sout会出现。

2023-05-05 10:36:44 1531 1

原创 如何写出整洁的代码

每个人对于整洁的代码理解肯定不同,在我看来,满足业务场景的情况下,可读性强,运行效率高,细节处理好,易扩展的代码就是整洁代码. 抛开业务场景不谈,只谈所谓的"整洁代码"就是所谓的耍流氓。整洁的代码总是看起来总是像是某位特别在意它的人写的.几乎没有改进的余地.代码的作者什么都想到了.如果你想改进它,总会回到原点。

2023-05-05 10:25:46 1172

原创 Nginx介绍

Nginx (“engine x”)是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网页服务器中表现较好.Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负载的考验,有报告表明能支持高达50000个并发连接数。

2023-05-05 10:23:35 2015

原创 Java中的反射详解

在运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制。反射是Java语言的一个特性,它允许程序在运行时来进行自我检查并且对内部的成员进行操作.通过反射,我们可以在运行时获得程序或程序集中每一个类型的成员和成员的信息。程序中一般的对象的类型都是在编译期就确定下来的,而 Java 反射机制可以动态地创建对象并调用其属性,这样的对象的类型在编译期是未知的。

2023-05-05 10:00:12 1413

原创 如何减少bug及解决bug思路

减少bug的出现只能多测多验证,哪怕单元测试通过都不能非常有效减少bug,因为受到写单元测试的人的思维角度限制,导致单元测试的片面性。1945年,一只小飞蛾钻进了计算机电路里,导致系统无法工作,一位名叫格蕾丝·赫柏的人把飞蛾拍死在工作日志上,写道:就是这个 bug(虫子),害我们今天的工作无法完成——于是,bug一词成了电脑系统程序的专业术语,形容那些系统中的缺陷或问题。关于bug的种类,最容易出现的bug是逻辑上的bug,如复杂庞大一点软件如果不是所有地方都熟悉就写代码是比较容易遗漏一些特殊情况的。

2023-05-05 09:31:28 1844

原创 SpringMVC与SpringWebFlux对比使用及使用建议

SpringMVC 的核心思想是将 MVC 设计模式应用于 Spring 框架,实现了请求-响应模式,将业务逻辑、数据、显示分离,提高了部分代码的复用性,降低了各个模块间的耦合性。而 Spring MVC 是同步阻塞的,如果你目前在 Spring MVC 框架中大量使用异步方案,那么,WebFlux 才是你想要的,否则,使用 Spring MVC 才是你的首选。Spring WebFlux 是一个异步非阻塞式的 Web 框架,所以,它特别适合应用在 IO 密集型的服务中,比如微服务网关这样的应用中。

2023-05-04 15:43:47 2613 1

原创 Elasticsearch详解

Elasticsearch,简称为 ES, ES是一个开源的高扩展的分布式全文搜索引擎, 是整个 ElasticStack 技术栈的核心。它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理 PB 级别的数据。Elasticsearch 是面向文档型数据库,一条数据在这里就是一个文档。 Elasticsearch 里存储文档数据和关系型数据库 MySQL 存储数据的概念进行一个类比,如图:ES 里的 Index 可以看做一个库,而 Types 相当于表, Documents 则相当于

2023-05-04 15:37:53 1423

原创 集成SpringSecurity默认登录效果并解决Forbidden 403问题

集成SpringSecurity默认登录,项目里面任何的请求都会先通过security在访问系统的接口。

2023-03-10 19:15:15 1079

原创 Java中的数据结构与算法

java常用数据结构和常见基本算法

2022-09-27 09:13:16 1395

原创 Java中的集合详解

文章目录概述数组优缺点操作数组定义数组遍历数组数组去重数组与集合转换数组排序复制数组ArrayListRandomAccessCloneable浅拷贝与深拷贝ArrayList中clone方法ArrayList扩容ArrayList与LinkedList线程安全问题SetQueueHashMap相关概念结构为什么要使用红黑树为什么不一开始就用红黑树代替链表结构为什么树化阈值为8为什么树化阈值和链表阈值不设置成一样引入红黑树后,如果单链表节点个数超过8个是否一定会树化容量为什么负载因子默认是0.75如果指定容

2021-10-28 19:50:15 970

原创 微服务治理介绍及Spring Cloud

—大意:简而言之,微服务体系结构风格是一种将单个应用程序开发为一套小型服务的方法,每个服务运行在自己的进程中,并与轻量级机制(通常是HTTP资源API)通信。这些服务是围绕业务功能构建的,可以通过全自动部署机制进行独立部署。对这些服务的集中管理是最低限度的,这些服务可能用不同的编程语言编写,并使用不同的数据存储技术。

2021-09-26 14:31:37 1346

前端知识点总结,课程学习路线及学习链接

前端知识点总结,课程学习路线及学习链接。部分内容如下: ## 基础知识 ### 网络知识 1. [HTTP](https://www.bilibili.com/video/BV1js411g7Fw/) 2. [DNS](https://www.bilibili.com/video/BV1GW411j7Ts/) 3. [域名](https://www.bilibili.com/video/BV1zA411x7Pj/) 4. [云服务](https://www.bilibili.com/video/BV1Rt411u7k4/)

2024-04-17

空空如也

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

TA关注的人

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