初级程序员进阶
文章平均质量分 81
Jayden
自信源于努力!
展开
-
企业中订单超时关闭是怎么做的?我说用延迟消息,面试官让我回去等消息?
以上方案算是比较常见的方案,还有其他方案比如JDK自带的内存队列,Redis过期监听等大家可以去看看。以上方案个人推荐方案二定时任务,具体采用那种方案还是要根据业务情况来,毕竟技术是为了赋能业务,能解决问题就行,做完比完美更重要。原创 2024-06-23 22:09:15 · 861 阅读 · 0 评论 -
编程最佳实践-卫函数
卫函数是在函数或方法的开头检查输入参数或对象的状态是否满足函数的预期。如果不满足,函数将立即返回,避免进一步的处理。这样可以提高代码的可读性,减少代码的嵌套层次,并提前处理错误。大白话就是及时return。原创 2024-05-14 08:40:40 · 704 阅读 · 0 评论 -
编程最佳实践-转换器模式
如果转换逻辑比较简单,且不需要状态,可以选择定义为接口,并提供默认方法。如果转换逻辑复杂,或者需要维护状态,可以选择定义为类。这里的状态通常指的是转换器中是否需要维护一些信息。原创 2024-05-05 10:32:24 · 457 阅读 · 1 评论 -
Spring事务同步器
它可以在事务提交之前,事务完成之前,事务完成之后,事务挂起,事务恢复的时候执行一些写好的逻辑。**其中最常用的方法应该是事务完成之后执行一些特定的逻辑。**将远程调用放到事务提交完成之后执行,下面讲讲Spring事件同步器在SpringBoot项目中的应用。原创 2024-05-05 10:27:58 · 764 阅读 · 1 评论 -
Lombok常用注解
Lombok是一个Java库,它可以通过注解的方式,帮助我们生成代码。。大多数人并不会关心这些注解到底是干嘛的,同样是打日志,@Slf4j与@CustomLog有什么不同吗?原创 2024-05-04 14:53:17 · 456 阅读 · 0 评论 -
面试官问我Java异步编程用过吗?我直接说了6种方式!
在实际开发中有些耗时操作,或者对主流程不是那么重要的逻辑,可以通过异步的方式去执行,从而提高主逻辑的效率。常见的场景比如下单成功后短信或者小程序内通知用户,这个过程其实可以走异步,最坏的情况是没通知到用户,这个情况是可以接受的,只要下单成功了就行。原创 2024-03-18 22:28:29 · 875 阅读 · 0 评论 -
面试官让我讲讲Mybatis-Plus有哪些牛逼功能
Mybatis-Plus是一款插件,用于增强Mybais框架,logo类似于魂斗罗中的两兄弟。所以在。Mybatis-Plus中的每个Mapper都继承了BaseMapper,BaseMapper给我们提供了单表的CRUD操作。除了这个牛逼功能外,还有以下功能可以按需引入。原创 2024-03-12 22:15:15 · 379 阅读 · 0 评论 -
【想忘都难】我总结的记忆线程池的方法
当你说出374这几个数字后,面试官就知道你懂线程池了!原创 2024-03-11 23:15:19 · 306 阅读 · 0 评论 -
刚参加工作的表弟问我长连接有什么使用场景?与轮询有什么区别?
一文了解长连接,短连接,长轮询,短轮询的使用场景!原创 2023-10-16 23:29:25 · 60 阅读 · 0 评论 -
刚参加工作的表弟问我如何设计一个表
先说说为什么设计表很重要,抽象这两个字经常出现在招聘的JD里,比如具备抽象能力,实际开发中我们也会听到领导说要设计要抽象,要不以后开发成本很高。吃惊是年纪轻轻的小伙子竟然知道设计表的重要性,还知道来问表哥,欣慰的是表弟一直在思考,一直在进步!原创 2023-10-15 22:33:29 · 459 阅读 · 0 评论 -
刚参加工作的表弟问我枚举跟常量的使用场景
表弟在实际开发中不知道什么时候用枚举,什么时候用常量。作为贴心的表哥当然是选择原谅他啊。对了,是原谅他的不懂,不是那个原谅哦。假设此时通过线上观察发现上传图片重试5次大面积不成功,此时要把重试次数提高到10,此时修改就会影响获取商品信息的逻辑了。这里的1就称作魔法值,我们无法知道1代表的是什么含义,会大大提高理解成本。正确的方式是声明枚举或者常量来。上传图片与获取图片信息是两个不同的业务,给不同的业务创建其常量类,分别在常量类中定义最大重试次数。自从上次教表弟一些开发规范,其中有一个规范是。原创 2023-10-15 22:03:44 · 274 阅读 · 0 评论 -
我说我精通MySQL索引,面试官问我:你心里有B树(数)吗?
我说我精通MySQL索引,面试官问我:你心里有B树(数)吗?原创 2022-04-16 15:52:39 · 717 阅读 · 2 评论 -
图解接口和抽象类的区别,透过表象看本质
Java是面向对象的语言,它的三大特性是封装,继承,多态。多态有接口多态和类多态,由于抽象类与接口中都有抽象方法,经常被拿来对比,所以接口和抽象类的区别成了面试中的高频问题。常规性的区别不做讨论,只从使用的角度出发去挖掘区别。抽象类 下图中我们把方块当成类,把圆形当成属性或者方法。如图所示三个类拥有共同的属性跟方法(粉色圆圈与红色圆圈),这个时候为了代码复用,通常的做法是将公共的部分提取出来。这个时候问题就来了,父类中的方法实现,是实现成蓝色,紫色还是灰色? 答案是实现成啥颜色都不合适!解决原创 2021-08-28 11:09:42 · 210 阅读 · 0 评论 -
线程实战入门【硬核慎入!】
进程 进程指的是一段程序的执行过程,我们先来看一张图片: 暴力摩托小时候大家都玩过吧,这款游戏的声音非常的激情,在比赛的同时还加入踹人等一系列操作,一款游戏呢就是一个进程,不单单如此,微信,抖音,美团等常用软件运行后都是一个独立进程。线程 线程是比线程小一级的单元,比如上面说到暴力摩托中的声音是暴力摩托进程中的一个线程,**暴力摩托中的踹人等动作也是暴力摩托进程中的一个线程。**随着游戏的迭代,赛道也越来越宽了,妈妈再也不用担心我被踹了。在Java中线程类是Thread类。线程的状态(6种)原创 2021-07-09 23:28:08 · 193 阅读 · 1 评论 -
JVM基础概念入门
JVM是什么 JVM又名Java 虚拟机,是Java程序的运行时环境。它是用C编写的一个软件,与其他软件一样它是运行在操作系统(LInux,win,mac等)的。那么操作系统又是运行在哪里的呢? 在计算机软件还未诞生之前,我们的计算机只能执行特定的程序,通过电路的拼接来运行程序。如果需要运行第二种程序就需要重新拼接一套新的电路然后运行,这就是早期的计算机硬件。后来冯诺依曼引出了计算机软件的浪潮,它想将程序**‘保存’**起来,这就是计算机软件的开端。所以操作系统是运行在硬件之上的。JVM,操作系统,原创 2021-07-05 19:28:33 · 117 阅读 · 1 评论 -
企业开发如何写出优雅的二级分类【美团小案例】
需求本文通过一个案例讲解组装树形结构的思路需求是返回该页面数据供前端展示,可以看到左侧一列是美团的一级分类,点击对应的一级分类右侧会展示对应的二级分类。但是图中除了分类名称还多了数量,这个会是这个案例最难解决的点。如果解决好了是一层循环,如果解决不好就是两层循环。表结构及数据案例我建了两张表,分别是shop(商店表)跟type(分类表)。在type中有个字段shop_type_id对应的是分类表中分类id。分析通过对需求图与表结构的分析,第一反应返回的数据是一个树形结构。所谓树形结构在Ja原创 2021-06-28 20:37:10 · 738 阅读 · 2 评论 -
刚参加工作的表弟问我,公司里开发的接口为什么统一接口返回值?
还没参加工作的表弟问我公司里开发为什么要统一返回值?原创 2021-03-05 08:11:31 · 4211 阅读 · 3 评论