终码一生

其他

最“赚钱”编程语言出炉,惊到我了.....

名。当然,参与这份问卷调查的开发者很少在中国工作,因此对于咱们程序员同胞来说,这些不同编程语言的薪资收入情况无法直接对比。另外,如果你近期准备面试跳槽,建议在Java面试库小程序在线刷题,涵盖
2023年6月19日
其他

还在用策略模式解决 if-else?Map+函数式接口方法才是YYDS!

个小时,需要的小伙伴可以了解下,一次购买,持续更新,无需2次付费。目录需求策略模式Map+函数式接口总结需求最近写了一个服务:根据优惠券的类型resourceType和编码resourceId来
2023年6月16日
其他

还在用 list.contain 做去重?该换换了!

stopWatch.getTotalTimeMillis());}耗时:评价:知道就行,图个乐,别用,贼慢,而且代码看起来乱stream的distinct去重:/**
2023年6月15日
其他

SpringBoot 四大核心组件,还有人不知道?

boot用来引入thymeleaf引擎和mybatis框架所配置的依赖。引入之后通过简单的约定配置就可以正常使用。比如:Thymeleaf引擎约定配置:##前端引擎配置spring:
2023年6月14日
其他

高逼格的 SQL 写法:行行比较

年制定的规范行行比较不是新特性,而是很早就存在的基础功能!另外,有需要chatGPT和jb授权账号的小伙伴,可以点击「原文阅读」,去我网站购买,24h自动发货。参考《SQL进阶教程》神奇的
2023年6月13日
其他

面试官:大公司为什么禁止在SpringBoot项目中使用@Autowired注解?

不允许声明不可变域基于字段的依赖注入在声明为final/immutable的字段上不起作用,因为这些字段必须在类实例化时实例化。声明不可变依赖项的惟一方法是使用基于构造器的依赖注入。3.2
2023年6月12日
其他

推荐两个腾讯开源的前端框架,好用又好看!

中做到严格的原生隔离功能强大支持子应用保活支持子应用嵌套支持多应用激活支持应用共享支持去中心化通信支持生命周期钩子支持插件系统支持
2023年6月11日
其他

当 Redis 碰上 @Transactional,有大坑,要注意!

最近项目的生产环境遇到一个奇怪的问题:现象:每天早上客服人员在后台创建客服事件时,都会创建失败。当我们重启这个微服务后,后台就可以正常创建了客服事件了。到第二天早上又会创建失败,又得重启这个微服务才行。初步排查:创建一个客服事件时,会用到
2023年6月10日
其他

面试官:MySQL连环炮,你扛得住嘛?

最近后台好多小伙伴发私信咨询阿Q,问马上就是金九银十的面试黄金期了,该如何在三个月内突击一下,以便更好地通过面试呢?阿Q的想法就是需要对自己掌握的知识进行归纳整理,系统的、分类的去复习相关的知识点。这样也能更好的把自己陌生的内容框出来,在暴漏自己短板的同时,更针对性的做准备。为了节省大家的时间,阿Q决定帮大家先将
2023年6月9日
其他

Java + lua = 王炸!!

args,sig)来源:blog.csdn.net/li15225271052/article/details/70148609—END—【福利】2023
2023年6月9日
其他

写代码速度提升200%!吊爆的 IDEA 使用技巧

$END$}==========模板支持变量的定义,使用$$包围的字符表示一个变量。是一个特殊的预定义变量,表示光标最后跳转的位置。每个变量的位置都可以跳转过去。高级用法如果你用过
2023年6月7日
其他

又涨价了!!!这。。。

个小时,需要的小伙伴可以了解下,一次购买,持续更新,无需2次付费。6月5日官方发布:JetBrains中国业务正式落地上海分公司不知道有多少人使用过
2023年6月6日
其他

快速交付神器:阿里巴巴官方低代码引擎开源了!

个小时,需要的小伙伴可以了解下,一次购买,持续更新,无需2次付费。前言LowCodeEngine是由阿里巴巴钉钉团队开源的低代码引擎,
2023年6月5日
其他

新来的CTO规定所有接口都用 post 请求...

请求,这是为什么?看到这个问题的时候其实我也挺有感触的,因为我也曾经这样问过我自己。在上上一家公司的时候接到一个项目是从零开始搭建一个微服务,当时就有了解过接口的一些规范,比如耳熟能详的
2023年6月2日
其他

八大生产故障 排查思路(通用版)

常见的生产故障有哪些?在生产环境中,常见的故障类型包括但不限于以下几种:网络故障:网络故障可能包括网络连接中断、网络延迟过高、路由错误等。这可能导致系统无法正常访问外部资源,或导致应用程序无法与其他系统进行通信。服务器故障:服务器故障可能包括硬件故障、操作系统崩溃、服务崩溃等。这可能导致系统无法提供服务,导致应用程序不可用或性能下降。数据库故障:数据库故障可能包括数据库服务器崩溃、数据库连接错误、数据损坏等。这可能导致应用程序无法读取或写入数据,导致功能异常或数据不一致。软件错误:软件错误可能包括应用程序bug、配置错误、依赖项问题等。这可能导致应用程序崩溃、功能异常或性能下降。安全漏洞或攻击:安全漏洞或攻击可能导致系统遭受恶意行为,如未经授权访问、数据泄露、拒绝服务攻击等。这可能导致系统不稳定、数据损失或服务不可用。存储故障:存储故障可能包括磁盘故障、存储设备故障、数据丢失等。这可能导致数据不可用、文件损坏或无法恢复。配置错误:配置错误可能导致系统以错误的方式运行,例如错误的端口设置、错误的权限设置、错误的网络配置等。这可能导致应用程序无法正常工作或不可访问。第三方服务故障:如果应用程序依赖于第三方服务(如支付网关、短信网关等),当这些服务出现故障时,可能会导致应用程序无法正常工作或功能受限。网络故障如何处理如何发现网络故障连接状态:观察服务器或网络设备的连接状态指示灯,确保网络设备和服务器的物理连接正常。如果连接状态指示灯不亮或闪烁异常,可能表示存在物理连接问题。Ping测试:使用ping命令向其他设备发送网络数据包,检查是否能够与目标设备进行正常的网络通信。如果ping命令超时或返回错误,可能表示存在网络连接问题。流量监控:使用网络流量监控工具,如Wireshark、ntop等,观察网络流量的情况。可以检查是否有异常的数据包、数据包丢失、流量拥塞等现象。网络延迟测试:使用网络延迟测试工具,如ping、traceroute、MTR等,检查网络延迟情况。延迟过高可能表示网络连接存在问题。日志分析:检查服务器和网络设备的日志文件,查找任何与网络连接相关的错误或异常记录。日志文件可以提供有关网络故障的有用信息。如何排查网络故障检查物理连接:确保所有网络设备和服务器的物理连接正确插入,并且连接线缆没有损坏或松动。重启网络设备:尝试重新启动路由器、交换机、调制解调器等网络设备,以解决可能的临时问题。检查网络配置:检查网络设备和服务器的网络配置,包括IP地址、子网掩码、网关等,确保它们正确配置。验证DNS设置:确认DNS设置正确,可以通过ping域名或直接访问IP地址来验证DNS解析是否正常。检查防火墙设置:检查防火墙规则和配置,确保没有阻止正常的网络通信。测试其他设备:通过尝试连接其他设备或访问其他网站,确定是整个网络还是特定设备之间存在问题。如何解决网络故障修复物理连接问题:重新插拔连接线缆,更换损坏的连接线缆,确保物理连接正常。重启网络设备:尝试重新启动路由器、交换机等网络设备,以解决可能的临时问题。检查网络配置:检查网络设备和服务器的网络配置,确保其与网络要求和拓扑相匹配。联系网络服务提供商:如果问题超出您的控制范围,可能需要联系网络服务提供商。服务器故障如何处理?如何发现服务器故障无响应:如果服务器无法响应网络请求,无法访问或无法连接,可能表示存在服务器故障。尝试访问服务器上的服务或网站,观察是否能够正常访问。错误日志:检查服务器上的错误日志文件,如系统日志、应用程序日志等,查找任何与服务器故障相关的错误记录。这些日志可能包含有用的信息,可以帮助确定故障原因。监控工具:使用服务器监控工具来监视服务器的性能指标,如CPU利用率、内存使用率、磁盘空间等。异常的指标可能指示服务器故障。如何排查服务器故障检查服务器状态:检查服务器的电源指示灯、风扇声音、硬盘活动指示灯等物理指示,确保服务器正常供电并工作。远程连接:尝试通过远程连接工具(如SSH)连接到服务器,检查是否能够建立连接。如果连接失败,可能是服务器软件或网络配置的问题。重启服务器:尝试重新启动服务器,这可以帮助解决可能的临时问题。确保在执行重启操作之前,已备份重要数据并通知相关人员。检查硬件:检查服务器硬件部件是否正常工作。这包括检查硬盘状态、内存模块、网卡、电源供应等。检查服务和进程:检查服务器上运行的服务和进程是否正常。确认关键服务是否已启动,并检查是否存在异常的进程或僵尸进程。检查日志:仔细查看服务器上的日志文件,如系统日志、应用程序日志等,查找与故障相关的任何错误或异常记录。联系供应商或技术支持:如果自己无法解决服务器故障,可以联系服务器供应商或技术支持团队,寻求专业的帮助和建议。如何解决服务器故障重启服务器:重启服务器是解决许多临时问题的简单方法。通过重新启动服务器,可以清除临时内存和进程状态,可能恢复正常运行。检查物理连接:检查服务器的物理连接,包括电源、网络连接和数据线缆。确保它们牢固连接且没有松动或损坏。检查硬件状态:检查服务器的硬件部件,如硬盘、内存、CPU、电源等。确保它们正常工作且没有故障。分析日志:仔细分析服务器日志,包括操作系统日志、应用程序日志和其他相关日志。这可以提供有关故障的详细信息,帮助定位问题。检查网络配置:确保服务器的网络配置正确,包括IP地址、子网掩码、网关和DNS设置。如果网络配置错误,可能导致连接问题或无法访问外部资源。恢复备份数据:如果服务器上的数据受损或丢失,可以从备份中恢复数据。确保定期进行数据备份,并测试备份的可恢复性。更新和修复软件:确保服务器上的操作系统、驱动程序和软件都是最新版本,并应用任何可用的补丁或更新。这有助于修复已知的软件漏洞和错误。故障排除工具和诊断:使用故障排除工具和诊断工具来检测和修复故障。例如,硬件诊断工具、网络分析工具和性能监控工具可以帮助定位和解决问题。寻求专业支持:如果无法解决服务器故障,或者需要更高级的技术支持,可以联系服务器供应商或专业的技术支持团队。他们可以提供专业的建议和帮助。数据库故障如何处理如何发现数据库故障连接问题:如果应用程序无法连接到数据库,或者连接被拒绝,可能表示存在数据库故障。观察应用程序的错误日志或错误信息,检查是否存在与数据库连接相关的错误。数据库错误日志:检查数据库的错误日志,如MySQL的错误日志、Oracle的跟踪文件等,查找任何与数据库故障相关的错误记录。这些日志可能包含有用的信息,可以帮助确定故障原因。监控工具:使用数据库监控工具来监视数据库的性能指标,如CPU利用率、内存使用率、磁盘I/O等。异常的指标可能指示数据库故障。如何排查数据库故障检查数据库服务状态:检查数据库服务是否正在运行。确保数据库服务器已启动,并且相关的进程正在运行。远程连接测试:尝试从应用程序服务器或其他客户端机器远程连接到数据库,检查是否能够建立连接。如果连接失败,可能是网络或数据库配置的问题。检查数据库配置:检查数据库的配置文件或管理工具中的配置参数,确保它们与实际要求和最佳实践相匹配。检查数据库的端口、监听器和网络设置。检查数据库空间:检查数据库的磁盘空间使用情况,包括数据文件、日志文件等。确保磁盘空间充足,避免空间不足导致数据库故障。日志分析:仔细分析数据库的日志文件,如事务日志、错误日志等,查找任何与故障相关的异常记录。这可能包括数据库错误、死锁、日志损坏等。数据库健康检查:运行数据库的健康检查工具,如Oracle的DBVERIFY、MySQL的CHECK
2023年6月1日
其他

实战:单点登录的两种实现方式

ObjectMapper().writerWithDefaultPrettyPrinter().writeValueAsString(ssoUserInfoWrapperResult));
2023年5月31日
其他

面试官:MySQL 自增主键一定是连续的吗?大部分人都会答错!

(主键id,唯一索引c,普通字段d)如果你的业务设计依赖于自增主键的连续性,这个设计假设自增主键是连续的。但实际上,这样的假设是错的,因为自增主键不能保证连续递增。一、自增值的属性特征:1.
2023年5月30日
其他

开源一个网页版的 Xshell,支持 FTP 和 SFTP 两种方式!

这样就显示在按钮层了19.显示按钮层20.没有变化?21.不!我们可以点击按钮管理,它将会显示在这22.如图,你可以删除,或者直接进入23.点击路径标签可以输入,该功能类似于cd
2023年5月28日
其他

SpringBoot + minio实现分片上传、秒传、续传

S3云存储服务兼容。使用MinIO构建用于机器学习,分析和应用程序数据工作负载的高性能基础架构。官网地址:https://min.io/文档地址:https://docs.min.io/一.
2023年5月27日
其他

Spring Boot 优雅实现多租户架构,so easy!

租户权限控制在多租户应用中必须为每个租户分别设置对系统资源的访问权限。例如,A租户和B租户不能访问彼此的数据。@EnableGlobalMethodSecurity(prePostEnabled
2023年5月26日
其他

一个注解让你的项目减少30%SQL代码量

翻译为男,可以用枚举翻译。具体可以看示例项目:https://gitee.com/fhs-opensource/easy_trans_springboot_demo小结Easy-Trans
2023年5月25日
其他

项目终于用上了Spring状态机,非常优雅!

获取阿里内部Java性能调优手册!2、状态划分时漏掉一些状态,导致跳转逻辑不完整。所以在设计状态机时,我们需要反复的查看设计的状态图或者状态表,最终达到一种牢不可破的设计方案。3、spring
2023年5月24日
其他

8年开发,连登陆接口都写这么烂...

暴力破解!只要网站是暴露在公网的,那么很大概率上会被人盯上,尝试爆破这种简单且有效的方式:通过各种方式获得了网站的用户名之后,通过编写程序来遍历所有可能的密码,直至找到正确的密码为止伪代码如下:#
2023年5月23日
其他

我有 7种 实现web实时消息推送的方案

我有一个朋友~做了一个小破站,现在要实现一个站内信web消息推送的功能,对,就是下图这个小红点,一个很常用的功能。不过他还没想好用什么方式做,这里我帮他整理了一下几种方案,并简单做了实现。什么是消息推送(push)推送的场景比较多,比如有人关注我的公众号,这时我就会收到一条推送消息,以此来吸引我点击打开应用。消息推送(push)通常是指网站的运营工作等人员,通过某种工具对用户当前网页或移动设备APP进行的主动消息推送。消息推送一般又分为web端消息推送和移动端消息推送。上边的这种属于移动端消息推送,web端消息推送常见的诸如站内信、未读邮件数量、监控报警数量等,应用的也非常广泛。在具体实现之前,咱们再来分析一下前边的需求,其实功能很简单,只要触发某个事件(主动分享了资源或者后台主动推送消息),web页面的通知小红点就会实时的+1就可以了。通常在服务端会有若干张消息推送表,用来记录用户触发不同事件所推送不同类型的消息,前端主动查询(拉)或者被动接收(推)用户所有未读的消息数。消息推送无非是推(push)和拉(pull)两种形式,下边我们逐个了解下。短轮询轮询(polling)应该是实现消息推送方案中最简单的一种,这里我们暂且将轮询分为短轮询和长轮询。短轮询很好理解,指定的时间间隔,由浏览器向服务器发出HTTP请求,服务器实时返回未读消息数据给客户端,浏览器再做渲染显示。一个简单的JS定时器就可以搞定,每秒钟请求一次未读消息数接口,返回的数据展示即可。setInterval(()
2023年5月23日
其他

9 款日志采集&管理工具对比,选型必备!

功能的替代方案。Elasticsearch默认情况下对每个字段进行索引,使搜索速度更快通过API和Kibana实现实时可视化索引前的数据解析和充实4.2
2023年5月21日
其他

分库分表的 21 条法则,hold 住!

(一)好好的系统,为什么要分库分表?本文是《分库分表ShardingSphere5.x原理与实战》系列的第二篇文章,距离上一篇文章已经过去好久了,惭愧惭愧~还是不着急实战,咱们先介绍下在分库分表架构实施过程中,会接触到的一些通用概念,了解这些概念能够帮助理解市面上其他的分库分表工具,尽管它们的实现方法可能存在差异,但整体思路基本一致。因此,在开始实际操作之前,我们有必要先掌握这些通用概念,以便更好地理解和应用分库分表技术。我们结合具体业务场景,以t_order表为例进行架构优化。由于数据量已经达到亿级别,查询性能严重下降,因此我们采用了分库分表技术来处理这个问题。具体而言,我们将原本的单库分成了两个库,分别为DB_1和DB_2,并在每个库中再次进行分表处理,生成t_order_1和t_order_2两张表,实现对订单表的分库分表处理。数据分片通常我们在提到分库分表的时候,大多是以水平切分模式(水平分库、分表)为基础来说的,数据分片它将原本一张数据量较大的表
2023年5月19日
其他

ChatGPT官方APP上线:速度极快且免费、增加语音识别!

高薪课程,全面来袭(视频+笔记+源码)PS:防止找不到本篇文章,可以收藏点赞,方便翻阅查找哦。
2023年5月19日
其他

公司入职一个阿里大佬,把 Spring Boot 系统启动时间从 7 分钟降到了 40 秒!

上有许多注解,重点关注下@Import({CacheConfigurationImportSelector.class}),CacheConfigurationImportSelector实现了
2023年5月18日
其他

3 年开发,不会循环删除 List 中的元素,有这么难么?

System.out.println(platformList);}这种实现方式比较好理解,就是通过数组的下标来删除,不过有个注意事项就是删除元素后,要修正下下标的值:i
2023年5月18日
其他

Java 8 腰斩!Java 17 暴涨 430%!!

应用程序需要推动现代化;其中可能包括升级技术堆栈、采用新框架以及部署到云原生环境。可维护性被列为推动现代化的首要动力,其次则是安全风险。云基础设施和无服务器平台(云原生环境)被视为
2023年5月17日
其他

ChatGPT Plus 首批70个插件最全解读

Bing,JetBrains授权账号,GitHub学生认证账号,若有需要,可点击「原文阅读」,或访问:http://shop.isving.cn!!OpenAI放出大招,向所有ChatGPT
2023年5月17日
其他

本地缓存之王,Caffeine保姆级教程

value)时,如果有另一个线程同时调用本方法进行竞争,则后一线程会被阻塞,直到前一线程更新缓存完成;而若另一线程调用getIfPresent()方法,则会立即返回null,不会被阻塞。Cache
2023年5月16日
其他

老大要我开发一个简单的工作流引擎

老板:这个设计添加新节点还挺方便的。第4关老板又来了:节点要支持嵌套,比如会签节点里有个并行节点,并行节点里又有个复杂节点,要可以嵌套任意层的那种。我:其实已经支持了~
2023年5月12日
其他

服务限流,我有6种实现方式…

服务限流,是指通过控制请求的速率或次数来达到保护服务的目的,在微服务中,我们通常会将它和熔断、降级搭配在一起使用,来避免瞬时的大量请求对系统造成负荷,来达到保护服务平稳运行的目的。下面就来看一看常见的6种限流方式,以及它们的实现与使用。固定窗口算法固定窗口算法通过在单位时间内维护一个计数器,能够限制在每个固定的时间段内请求通过的次数,以达到限流的效果。算法实现起来也比较简单,可以通过构造方法中的参数指定时间窗口大小以及允许通过的请求数量,当请求进入时先比较当前时间是否超过窗口上边界,未越界且未超过计数器上限则可以放行请求。@Slf4jpublic
2023年5月11日
其他

星标1.4k,一款国产开源数据同步中间件,支持多种数据源和预警功能

高薪课程,全面来袭(视频+笔记+源码)PS:防止找不到本篇文章,可以收藏点赞,方便翻阅查找哦。
2023年5月10日
其他

SpringBoot 多数据源及事务解决方案

rollback事务操作实际上是使用的同一个数据源。如何解决切库事务问题?借助Spring的声明式事务处理,我们可以在多次切库操作时强制开启新的事务:@SwitchDataSource
2023年5月9日
其他

卸载 Notepad++!事实已证明,它更牛逼…

的功能,所以本文中的例子均源于我在实际开发时遇到的问题。另外,关注我们,公众号终码一生,后台回复‘资料’,获取视频教程和最新面试资料。此外,把本文会使用大量动画(GIF)演示
2023年5月8日
其他

为什么我不建议你用阿里巴巴Java规范,而使用 Google Guava 编程?

清理cache,对于cache的操作,都是通过访问/读写带来的,也就是说在读写中完成缓存的刷新操作!其次,我们看到了,我们非常通俗的告诉cache,我们的缓存策略是什么,SO
2023年5月7日
其他

Java 20 正式发布,超神了....

中的进程。虚拟线程避免了上下文切换的额外耗费,兼顾了多线程的优点,简化了高并发程序的复杂,可以有效减少编写、维护和观察高吞吐量并发应用程序的工作量。结构化并发
2023年5月6日
其他

网页版的 Redis 可视化工具来了,已开源!

个小时,需要的小伙伴可以了解下,一次购买,持续更新,无需2次付费。介绍轻量级Redis缓存图形化管理工具,包含redis的5种数据类型的CRUD操作软件架构后端springboot
2023年5月6日
其他

SpringBoot 集成 Dubbo 启用 gRPC 协议

协议在代码开发时的区别。如果对gRPC协议不了解的,后续文章会有更新,请持续关注。项目结构根据现在微服务开发的常见方式,先搭建一个项目,结构如下这样的项目结构可以将服务的声明和实现隔离开,如果有
2023年5月5日
其他

3 个腾讯开源的 GitHub 项目,足够惊艳!

编辑器支持的语法不满足开发者需求时,可以快速的进行二次开发或功能扩展。同时,CherryMarkdown编辑器应该由纯JavaScript实现,不应该依赖
2023年5月5日
其他

Google Guava 工具包用起来太爽了!

清理cache,对于cache的操作,都是通过访问/读写带来的,也就是说在读写中完成缓存的刷新操作!其次,我们看到了,我们非常通俗的告诉cache,我们的缓存策略是什么,SO
2023年5月4日
其他

GitHub放大招!CEO现场挑战18分钟开发小游戏,人还在台上网友已经玩到了

X就会自己设计一个正方形边框,并且在代码下面给出解释。有了边框之后,蛇撞到墙游戏就会结束。加个底色:让游戏画布居中,都是同样丝滑:如果不想让蛇撞墙就死,并让它穿出边界后再转回来,只需对Copilot
2023年5月4日
其他

17 个方面,综合对比 Kafka、RabbitMQ、RocketMQ、ActiveMQ 四个分布式消息队列

TCP)rabbitmq:AMQPzeromq:TCP、UDProcketmq:自己定义的一套...activemq:OpenWire、STOMP、REST、XMPP、AMQP4.
2023年4月30日
其他

只要 3 个注解,优雅的实现微服务鉴权!

最近读者经常问陈某两个问题,如下:鉴权放在各个微服务中如何做?feign的调用如何做到的鉴权?今天针对以上两个问题深入聊聊如何通过三个注解解决。实现思路前面的几篇文章陈某都是将鉴权和认证统一的放在了网关层面,架构如下:微服务中的鉴权还有另外一种思路:将鉴权交给下游的各个微服务,网关层面只做路由转发。这种思路其实实现起来也是很简单,下面针对网关层面鉴权的代码改造一下。1.
2023年4月28日
其他

别乱用了!日期类型字段的参数这样处理才足够优雅

org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:161)
2023年4月27日
其他

GPT-4加强版Copilot来了!动嘴就能编程

X。因此,原来只能帮你补全代码的它,现在通过打字聊聊天甚至语音就能:直接写代码解释一段你看不懂的代码理解报错信息、修改bug甚至是进行单元测试……多姆克表示:有了GPT-4加持的Copilot
2023年4月27日
其他

又一款可视化神器,开源了!

这样的产品的出现,能够帮助更多用户和企业发掘和展现数据的价值。GitHub:https://github.com/dataease/dataease/—END—【福利】2023
2023年4月26日
其他

一款 IntelliJ IDEA 神级插件,由 ChatGPT 团队开发,堪称辅助神器!

账号,若有需要,可点击「原文阅读」,或访问:http://shop.isving.cn什么是Bito?Bito是一款在IntelliJ
2023年4月24日