码猿技术专栏

微信公众号:码猿技术专栏

破解码会定时更新,最近更新时间2021-08-18

注意事项:

  1. 为防止注册号和激活码滥用,下载时需验证,请关注公众号,后台回复关键词工具破解码获取

  2. IDE输入激活码后仍无法正常使用,请尝试重启IDE。

  3. 如果以下两种方式,都无法激活(查看原因), 请尝试其他版本激活,或添加右下角的微信,求应急激活码或购买(个人专属)

  4. 最后,强烈推荐 通过工具破解 IDE (查看破解教程)

破解方式:

  1. 关注公众号,回复关键词工具破解码获取最新的激活码!
  2. 关注公众号,回复关键词授权账号获取正版授权的注册账号!

大家好,我是不才陈某~

在每个公司的系统中,总有一些拥有复杂业务逻辑的系统,这些系统承载着核心业务逻辑,几乎每个需求都和这些核心业务有关,这些核心业务业务逻辑冗长,涉及内部逻辑运算,缓存操作,持久化操作,外部资源调取,内部其他系统RPC调用等等。时间一长,项目几经易手,维护的成本就会越来越高。各种硬代码判断,分支条件越来越多。代码的抽象,复用率也越来越低,各个模块之间的耦合度很高。一小段逻辑的变动,会影响到其他模块,需要进行完整回归测试来验证。如要灵活改变业务流程的顺序,则要进行代码大改动进行抽象,重新写方法。实时热变更业务流程,几乎很难实现。

LiteFlow官方网站和代码仓库地址

官方网站:https://yomahub.com/liteflow

Gitee托管仓库:https://gitee.com/dromara/liteFlow

Github托管仓库:https://github.com/dromara/liteflow

阅读全文 »

大家好,我是不才陈某~

今天分享一篇知识星球的球友分享的一篇xxl-job实战的文章,内容非常肝,慢慢看吧!

本篇文章主要记录项目中遇到的 xxl-job 的实战,希望能通过这篇文章告诉读者们什么是 xxl-job 以及怎么使用 xxl-job 并分享一个实战案例。

那么下面先说明什么是 xxl-job 以及为什么要使用它。

xxl-job 是什么?

XXL-JOB 是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。

设计思想 是将调度行为抽象形成 调度中心 平台,平台本身不承担业务逻辑,而是负责发起 调度请求 后,由 执行器 接收调度请求并执行 任务,这里的 任务 抽象为 分散的 JobHandler。通过这种方式即可实现 调度任务 相互解耦,从而提高系统整体的稳定性和拓展性。

为了更好理解,这里放一张官网的架构图:

阅读全文 »

1. 什么是内连接、外连接、交叉连接、笛卡尔积呢?

  • 内连接(inner join):取得两张表中满足存在连接匹配关系的记录。
  • 外连接(outer join):不只取得两张表中满足存在连接匹配关系的记录,还包括某张表(或两张表)中不满足匹配关系的记录。
  • 交叉连接(cross join):显示两张表所有记录一一对应,没有匹配关系进行筛选,它是笛卡尔积在SQL中的实现,如果A表有m行,B表有n行,那么A和B交叉连接的结果就有m*n行。
  • 笛卡尔积:是数学中的一个概念,例如集合A={a,b},集合B={1,2,3},那么A✖️B={<a,o>,<a,1>,<a,2>,<b,0>,<b,1>,<b,2>,}。

2. 那MySQL 的内连接、左连接、右连接有有什么区别?

MySQL的连接主要分为内连接和外连接,外连接常用的有左连接、右连接。

MySQL-joins-来源菜鸟教程

  • inner join 内连接,在两张表进行连接查询时,只保留两张表中完全匹配的结果集
  • left join 在两张表进行连接查询时,会返回左表所有的行,即使在右表中没有匹配的记录。
  • right join 在两张表进行连接查询时,会返回右表所有的行,即使在左表中没有匹配的记录。
阅读全文 »

1.spring 中都用到了哪些设计模式?

  • 1.工厂设计模式: 比如通过 BeanFactory 和 ApplicationContext 来生产 Bean 对象
  • 2.代理设计模式: AOP 的实现方式就是通过代理来实现,Spring主要是使用 JDK 动态代理和 CGLIB 代理
  • 3.单例设计模式: Spring 中的 Bean 默认都是单例的
  • 4.模板方法模式: Spring 中 jdbcTemplate 等以 Template 结尾的对数据库操作的类,都会使用到模板方法设计模式,一些通用的功能
  • 5.包装器设计模式: 我们的项目需要连接多个数据库,而且不同的客户在每次访问中根据需要会去访问不同的数据库。这种模式让我们可以根据客户的需求能够动态切换不同的数据源
  • 6.观察者模式: Spring 事件驱动模型观察者模式的
  • 7.适配器模式:Spring AOP 的增强或通知(Advice)使用到了适配器模式
阅读全文 »

作者简介

作者不才陈某,蚂蚁金服高级技术专家,丰富的面试经验,运营着公众号:码猿技术专栏,回复关键词:2022Java面经,获取陈某亲手整理的大厂面试真题

1.什么是消息中间件?

消息中间件是基于队列与消息传递技术,在网络环境中为应用系统提供同步或异步、可靠的消息传输的支撑性软件系统。

消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。

阅读全文 »

1.什么是 redis?它能做什么?

redis: redis 即 Remote Dictionary Server,用中文翻译过来可以理解为远程数据服务或远程字典服务。其是使用 C 语言的编写的key-value存储系统

应用场景:缓存,数据库,消息队列,分布式锁,点赞列表,排行榜等等

阅读全文 »

讲一下JVM内存结构?

JVM内存结构分为5大区域,程序计数器虚拟机栈本地方法栈方法区

程序计数器

线程私有的,作为当前线程的行号指示器,用于记录当前虚拟机正在执行的线程指令地址。程序计数器主要有两个作用:

  1. 当前线程所执行的字节码的行号指示器,通过它实现代码的流程控制,如:顺序执行、选择、循环、异常处理。
  2. 在多线程的情况下,程序计数器用于记录当前线程执行的位置,当线程被切换回来的时候能够知道它上次执行的位置。

程序计数器是唯一一个不会出现 OutOfMemoryError 的内存区域,它的生命周期随着线程的创建而创建,随着线程的结束而死亡。

虚拟机栈

Java 虚拟机栈是由一个个栈帧组成,而每个栈帧中都拥有:局部变量表操作数栈动态链接方法出口信息。每一次函数调用都会有一个对应的栈帧被压入虚拟机栈,每一个函数调用结束后,都会有一个栈帧被弹出。

阅读全文 »

大家好,我是不才陈某~

这是《Spring Cloud 进阶》22篇文章,往期文章如下:

今天这篇文章介绍一下微服务如何聚合Swagger实现接口文档管理。

文章目录如下:

阅读全文 »

大家好,我是不才陈某~

在项目迭代的过程中,不可避免需要上线。上线对应着部署,或者重新部署;部署对应着修改;修改则意味着风险。目前有很多部署发布的技术, 这儿将常见的做一个总结。

上面所说难免有些抽象, 举一个情景例子, 加入你是微博项目负责人员, 现在新版本较原来的老版本有很大的改变, 这设计到服务架构、前端UI等等, 经过测试功能没有障碍, 那么这时候如何让用户切换到新的版本呢?

显而易见, 第一次发布的应用是没有所谓的这个问题的, 这种如何发布的思考只会出现在后面的版本迭代中。

阅读全文 »