- 博客(103)
- 资源 (5)
- 问答 (5)
- 收藏
- 关注
原创 【金三银四系列】Spring面试题-下(2023版)
Controller,@Service,@Repository 这些日常开发中常用的注解没啥挑战,@Import注解会让面试官眼前一亮。@Import注解本身的由来是在Spring3.0的时候由xml文件的方式向注解编程的发展,替换以前在配置文件中的/标签,也就是可以导入其他的配置类,然后@Import注解还扩展了对应的功能静态注入:可以直接把对应的类型注入到容器中:@Import(User.class)
2023-02-24 13:10:01 545 2
原创 【金三银四系列】Spring面试题-上(2023版)
Controller @Service @RestController @RequestBody,@Index @Import等@Index提升 @ComponentScan的效率@Import注解是import标签的替换,在SpringBoot的自动装配中非常重要,也是EnableXXX的前置基础。看下图上图是循环依赖的三种情况,虽然方式有点不一样,但是循环依赖的本质是一样的,就你的完整创建要依赖与我,我的完整创建也依赖于你。相互依赖从而没法完整创建造成失败。
2023-02-10 12:45:00 477
原创 【金三银四系列】之设计模式专题-下(2023版)
1.首先谈设计模式的作用:经验的传承,提高了软件复用的水平,最终达到提高软件开发效率2.设计模式的分类3.创建型模式:都是用来帮助我们创建对象的!4.结构性模式:关注对象和类的组织5.行为型模式:关注系统中对象之间的相互交换,研究系统在运行时对象之间的相互通信和协作,进一步明确对象的职责,共有11中模式。
2023-02-08 14:05:08 413
原创 【金三银四系列】之设计模式专题-上(2023版)
1.首先谈设计模式的作用:经验的传承,提高了软件复用的水平,最终达到提高软件开发效率2.设计模式的分类3.创建型模式:都是用来帮助我们创建对象的!4.结构性模式:关注对象和类的组织5.行为型模式:关注系统中对象之间的相互交换,研究系统在运行时对象之间的相互通信和协作,进一步明确对象的职责,共有11中模式。
2023-02-07 10:39:01 403
原创 【金三银四系列】之HR面试问题(2023版)
4:我觉得你的目标薪资太高,不符合岗位的预期,你考虑过降低薪资标准吗?7:这个岗位需要(1-3)3-6个月的出差周期,你怎么考虑?2:你觉得你哪方面能够让我们选择你?13: 你为什么会选择我们公司?18:你还有什么想问的?9:你为什么从上一家公司离职?12:你觉得让你选择这份工作最重要的原因是什么?5:你是哪里人,你住哪里?你觉得你不太稳定吗?1:你了解过我们公司吗?3:如果让你进入其他开发岗位,你考虑吗?10:你想要和什么样的领导共事?16:你计划在公司工作多久?8:聊聊你的职业发展规划?
2023-02-01 13:56:41 203
原创 【金三银四系列】之MySql面试突击(2023版)
缓存表数据与索引数据,把磁盘上的数据加载到缓冲池,避免每次访问都进行磁盘IO,起到加速访问的作用。
2023-01-31 10:17:20 434
原创 【金三银四系列】之Java基础面试(2023版)
1: 简单说说Java中对象如何拷贝?2: 伪代码快速实现一下深拷贝3: Java是什么类型的语言?GraalVM 即时编译 graal aot jit c1 c24: 什么是Object,有哪些常用的方法,怎么创建对象?5: 多态,面向接口编程?聊聊你的认知6: 什么是内部类,说说你对他的理解以及实战场景7: 说说 static 和 final 在Java中的意义8: Java中的基本数据类型占多少字节,不同的操作系统一样吗?以及String常用的方法。
2023-01-30 13:35:59 479
原创 Lambda表达式从入门到玩嗨儿~
注意:请暂时忘记对传统IO流的固有印象!**整体来看,流式思想类似于工厂车间的“**生产流水线”。当需要对多个元素进行操作(特别是多步操作)的时候,考虑到性能及便利性,我们应该首先拼好一个“模型”步骤 方案,然后再按照方案去执行它。这是一种集合元素的处理方案,而方案就是一种“函数模型”。这里的都是在对函数模型进行操作,集合元素并没有真正被处理。只有当终结方法 count执行的时候,整个模型才会按照指定策略执行操作。而这得益于Lambda的延迟执行特性。
2022-11-04 16:27:43 342
原创 Go语言和云原生的关系
在互联网发展的大背景下,软件架构迎来了微服务架构,Spring Boot,云计算也为其生长提供了土壤,继而促进了容器技术的发展,同时容器技术又促进了微服务的发展,进入了全民微服务的时代
2022-10-30 20:41:00 639
原创 Activiti7与Spring整合开发
在Activiti中核心类的是ProcessEngine流程引擎,与Spring整合就是让Spring来管理ProcessEngine通过org.activiti.spring.SpringProcessEngineConfiguration 与Spring整合方式来创建ProcessEngine对象。创建spring与activiti的整合配置文件:activiti-spring.xml(名称不固定)databaseSchemaUpdate的取值内容:flase: 默认值。activi
2022-10-24 10:25:50 208
原创 Go语言与Java语言对比
宏观看Go与Java的差异 接着,我们来看一下Go语言与Java的差异之处:``` *.无虚拟机,不跨平台(这里的平台指操作系统)(可以运行多个平台,每个平台打不同的二进制程序包),需要打包编译成对应服务器操作系统版本(windows/linux)的可执行程序(比如windows是exe)。(注:说go跨平台的是指32位和64位相同操作系统之间的跨平台) *.因为Go程序直接打包成操作系统可执行的文件,没有虚拟机在中间转换的一层,所以理论上执行效率会更高(理论上更高,实际情况需具
2022-10-21 15:25:18 4771 3
原创 Activiti进阶
如图:assignee 这个变量是 activiti 的一个流程变量,或者使用这种方式定义:如图:user 也是 activiti 的一个流程变量, user.assignee 表示通过调用 user 的 getter 方法获取值。流程变量在 activiti 中是一个非常重要的角色,流程运转有时需要靠流程变量,业务系统和 activiti结合时少不了流程变量,流程变量就是 activiti 在管理工作流时根据管理需要而设置的变量。
2022-10-19 14:42:12 1073
原创 Activiti7基础入门
工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。一个软件系统中具有工作流的功能,我们把它称为工作流系统,一个系统中工作流的功能是什么?就是对系统的业务流程进行自动化管理,所以工作流是建立在业务流程的基础上,所以一个软件的系统核心根本上还是系统的业务流程,工作流只是协助进行业务流程管理。即使没有工作流业务系统也可以开发运行,只不过有了工作流可以更好的
2022-09-15 16:56:50 1320
原创 22条日常技巧助程序员提高工作效率、节约时间
为了"有效率",我们试图在一个工作日内塞进尽可能多的小时,但最终一切都更多地取决于你的注意力,积极性和良好状态(这些都是直接与精力等级联系在一起)而不是工作时间。
2022-09-05 18:05:18 136
原创 Shell脚本编程30分钟入门
在bash里,source和.是等效的,他们都是读入function.sh的内容并执行其内容(类似PHP里的include),为了更好的可移植性,推荐使用第二种写法。如果function.sh是用户传入的参数,如何获得它的绝对路径呢?real_path=`readlink - f $1 `# $1 是用户输入的参数,如 function . sh . $real_path。...
2022-09-01 17:10:06 241
原创 零基础SQL教程: 新增,修改,删除数据 06
关系数据库的基本操作就是增删改查,即CRUD:Create、Retrieve、Update、Delete。其中,对于查询,我们已经详细讲述了SELECT语句的详细用法。
2022-08-16 14:38:01 252
原创 零基础SQL教程: 基础查询 05
在关系数据库中,最常用的操作就是查询。准备数据为了便于讲解和练习,我们先准备好了一个students表和一个classes和内存数据库不同的是,对MySQL数据库做的所有修改,都会保存下来。如果你希望恢复到初始状态,可以再次运行该脚本。......
2022-08-09 16:59:11 217
原创 零基础SQL教程: 主键、外键和索引 04
在关系数据库中,一张表中的每一行数据被称为一条记录。一条记录就是由多个字段组成的。每一条记录都包含若干定义好的字段。同一个表的所有记录都有相同的字段定义。对于关系表,有个很重要的约束,就是任意两条记录不能重复。不能重复不是指两条记录不完全相同,而是指能够通过某个字段唯一区分出不同的记录,这个字段被称为主键。例如,假设我们把name字段作为主键,那么通过名字小明或小红就能唯一确定一条记录。但是,这么设定,就没法存储同名的同学了,因为插入相同主键的两条记录是不被允许的。......
2022-08-07 22:15:18 377
原创 零基础SQL教程: 安装MYSQL 03
MySQL是目前应用最广泛的开源关系数据库。MySQL最早是由瑞典的MySQLAB公司开发,该公司在2008年被SUN公司收购,紧接着,SUN公司在2009年被Oracle公司收购,所以MySQL最终就变成了Oracle旗下的产品。MySQL接口和数据库引擎的关系就好比某某浏览器和浏览器引擎(IE引擎或Webkit引擎)的关系。对用户而言,切换浏览器引擎不影响浏览器界面,切换MySQL引擎不影响自己写的应用程序使用MySQL的接口。使用MySQL时,不同的表还可以使用不同的数据库引擎。......
2022-07-31 16:24:22 130
原创 零基础SQL教程: 关系数据库概述 02
为什么需要数据库?因为应用程序需要保存用户的数据,比如Word需要把用户文档保存起来,以便下次继续编辑或者拷贝到另一台电脑。要保存用户的数据,一个最简单的方法是把用户数据写入文件。如果要保存学校所有班级的信息,可以写入另一个CSV文件。但是,随着应用程序的功能越来越复杂,数据量越来越大,如何管理这些数据就成了大问题读写文件并解析出数据需要大量重复代码;从成千上万的数据中快速查询出指定数据需要复杂的逻辑。这样一来,编写应用程序的时候,数据读写的功能就被大大地简化了。......
2022-07-29 14:35:14 113
原创 零基础SQL教程: 什么是SQL 01
这是小白的零基础SQL教程。什么是?简单地说,就是访问和处理关系数据库的计算机标准语言。也就是说,无论用什么编程语言(、、……)编写程序,只要涉及到操作关系数据库,比如,一个电商网站需要把用户和商品信息存入数据库,或者一个手机游戏需要把用户的道具、通关信息存入数据库,都必须通过SQL来完成。所以,现代程序离不开关系数据库,要使用关系数据库就必须掌握SQL。在本文章中,你将学到关系数据库的基本概念,如何使用SQL操作数据库,以及一种最流行的开源数据库MySQL的基本安装和使用方法。.........
2022-07-28 13:38:52 221
原创 给即将毕业要走往程序员道路的10条建议(精彩配图)
1.想清楚,再动手写代码 刚入行的新手,为了展示自己的能力,拿到需求迫不及待地就开始上手写代码,大忌! 在我看来真正写代码的时间只有...
2022-07-15 15:37:00 119
原创 ThreadLocal内存泄漏是什么,怎么解决
实线代表强引用,虚线代表弱引用每一个Thread维护一个ThreadLocalMap, key为使用弱引用的ThreadLocal实例,value为线程变量的副本。强引用,使用最普遍的引用,一个对象具有强引用,不会被垃圾回收器回收。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不回收这种对象。如果想取消强引用和某个对象之间的关联,可以显式地将引用赋值为null,这样可以使JVM在合适的时间就会回收该对象。弱引用,JVM进行垃圾回收时,无论内存是否充足,都会回收
2022-06-23 13:43:43 88
原创 分布式任务调度与计算框架:PowerJob 报警配置(邮件、WebHook、钉钉、自定义)06
报警配置(邮件、WebHook、钉钉、自定义)邮件报警STEP1: 初始化在 powerjob-server 中初始化邮件配置,具体教程可以搜索 SpringBoot 邮件配置。STEP2: 配置报警信息在控制台登陆界面(点击右上角 Setting - 退出 即可前往控制台登陆界面)点击 报警用户录入录入报警用户信息在任务中配置报警接收人。WebHookSTEP1: 创建特殊角色 SYSTEM_WEBHOOKSTEP2: 开发接收 webhook 的服务端powerjob-s
2022-04-25 10:48:03 1530 3
原创 分布式任务调度与计算框架:PowerJob 工作流 05
PowerJob 工作流什么是工作流?工作流描述了任务与任务之间的依赖关系,比如我现在有 A、B、C、D 四个任务,我希望 A 任务运行完毕后才开始运行 B、C 任务,最后再运行 D 任务。这就形成了一个依赖关系,可以通过有向无环图(DAG)来描述这个关系,如下图所示。主界面直观地展示当前系统所管理的所有工作流信息,并提供相应的运维方法。新增工作流[详细视频教程] PowerJob工作流
2022-04-21 17:42:01 2203
原创 分布式任务调度与计算框架:PowerJob 高级特性-OpenAPI 04
OpenAPI**OpenAPI 允许开发者通过接口来完成手工的操作,让系统整体变得更加灵活。开发者可以基于 API 便捷地扩展PowerJob 原有的功能,比如,**全面定制自己的任务调度策略。换句话说,通过 OpenAPI,可以让接入方自己实现 PowerJob 的整个任务管理与调度模块。依赖最新依赖版本请参考 Maven 中央仓库:推荐地址<dependency> <groupId>tech.powerjob</groupId> <artif
2022-04-20 17:14:06 1784
原创 分布式任务调度与计算框架:PowerJob 高级特性-容器 03
容器什么是容器介绍PowerJob 的容器技术允许开发者开发独立于 Worker 项目之外 Java 处理器,简单来说,就是以 Maven 工程项目的维度去组织一堆 Java 文件(开发者开发的众多脚本处理器),进而兼具开发效率和可维护性。该容器为 JVM 级容器,而不是操作系统级容器(Docker)。用途介绍比如,突然出现了某个数据库数据清理任务,与主业务无关,写进原本的项目工程中不太优雅,这时候就可以单独创建一个用于数据操作的容器,在里面完成处理器的开发,通过 PowerJob 的容器部署
2022-04-19 17:30:57 1986
原创 分布式任务调度与计算框架:PowerJob 快速开始(本地IDE版) 02
快速开始(本地IDE版)上一篇文章:分布式任务调度与计算框架:PowerJob 简介 01PowerJob 的设计目标为企业级的分布式任务调度平台,即成为公司内部的调度中间件。整个公司统一部署调度中心 powerjob-server,旗下所有业务线应用只需要依赖 powerjob-worker 即可接入获取任务调度与分布式计算能力,通过不同的 appName 相互隔离。因此,PowerJob 由调度服务器(powerjob-server)和执行器(powerjob-worker)两部分组成,power
2022-04-18 14:27:15 1715
原创 分布式任务调度与计算框架:PowerJob 简介 01
PowerJob简介产品特性PowerJob是全新一代分布式任务调度与计算框架,其主要功能如下:使用简单:提供前端Web界面,允许开发者可视化地完成调度任务的管理(增、删、改、查)、任务运行状态监控和运行日志查看等功能。定时策略完善:支持 CRON 表达式、固定频率、固定延迟和API四种定时调度策略。执行模式丰富:支持单机、广播、Map、MapReduce 四种执行模式,其中 Map/MapReduce 处理器能使开发者寥寥数行代码便获得集群分布式计算的能力。工作流支持:支持在线配置任务依赖关
2022-04-14 16:07:30 1641
原创 Nacos集群配置
Nacos集群配置更改Nacos启动命令配置原理 我们现在知道,想要启动Naocs只需要启动startup.sh命令即可,但是如果启动3个Nacos那?所以如果我们需要启动多个Nacos,就需要自行修改startup命令。具体配置Linux服务器上MySql数据库配置在Linux系统上执行SQL脚本,具体位置在nacos目录下的conf中,这里的操作和之前是一样的,我们可以直接打开这个文件然后拷贝到数据库中执行,当然也是要创建数据库使用数据库然后在复制脚本内容,执行即可create da
2022-03-29 10:41:42 3173
原创 Nacos持久化切换配置
Nacos持久化切换配置Nacos持久化配置 Nacos默认自带嵌入式数据库derby,所以我们每次创建一个Nacos实例就会有一个derby,当有多个Nacos节点的时候,就会出现一致性问题,所以Nacos支持了外部数据库统一数据管理MySql。Nacos默认derby切换MySql具体配置方式可以参考官网:https://nacos.io/zh-cn/docs/deployment.html我们需要找到Nacos安装目录下的conf目录中的Sql脚本,然后在数据库中进行执行注意:需要
2022-03-15 22:49:18 87
原创 Nacos之Linux版本安装
Linux版Nacos+MySql生产环境配置 在之前的博客中已经说明Nacos生产环境下需要搭建集群配置,那么这里我们预计需要:1个Nginx+3个Nacos注册中心+1个MySql具体配置:在官网上下载NacosLinux版本:https://github.com/alibaba/nacos/releases在Linux系统中解压此文件,并且把其中nacos目录拷贝到nacos目录中tar -zxvf nacos-server-2.0.3.tar.gz打开nacos目录下的
2022-02-17 14:03:45 2255
原创 Nacos持久化切换配置
Nacos持久化配置 Nacos默认自带嵌入式数据库derby,所以我们每次创建一个Nacos实例就会有一个derby,当有多个Nacos节点的时候,就会出现一致性问题,所以Nacos支持了外部数据库统一数据管理MySql。Nacos默认derby切换MySql具体配置方式可以参考官网:https://nacos.io/zh-cn/docs/deployment.html我们需要找到Nacos安装目录下的conf目录中的Sql脚本,然后在数据库中进行执行注意:需要我们先创建好数据库并且使用
2022-02-07 17:50:31 1087
原创 Nacos集群架构
Nacos集群架构说明 到目前为止,我们已经对Nacos的一些基本使用和配置已经掌握,但是这些还不够,我们还需要了解一个非常重要的点,就是Nacos的集群相关的操作,那我们就先从Nacos集群配置的概念说起Nacos支持三种部署模式单机模式 - 用于测试和单机试用集群模式 - 用于生产环境,确保高可用多集群模式 - 用于多数据中心场景集群部署说明参考网站:https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html架构图:部署生产使
2022-01-27 17:26:36 1310
原创 Nacos命名空间分组和DataID三者关系
Nacos命名空间分组和DataID三者关系名词解释命名空间(Namespace) 用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的 Group 或 Data ID 的配置。Namespace 的常用场景之一是不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。配置分组(Group) Nacos 中的一组配置集,是组织配置的维度之一。通过一个有意义的字符串(如 Buy 或 Trade )对配置集进行分组,从而区分 Data ID 相同的配置集。当您在
2022-01-26 11:50:22 1581
原创 Nacos之服务配置中心
Nacos之服务配置中心基础配置Nacos不仅仅可以作为注册中心来使用,同时它支持作为配置中心首先我们还是新建Model:cloudalibaba-config-3377pom文件 这里我们主要要引入的是此依赖,这个依赖依据在官网上可以找到:https://spring-cloud-alibaba-group.github.io/github-pages/greenwich/spring-cloud-alibaba.html#_an_example_of_using_nacos_discove
2022-01-24 15:08:09 420
原创 Nacos服务注册中心对比提升
Nacos服务注册中心对比提升各种服务注册中心对比服务注册与发现框架CAP模型控制台管理社区活跃度EurekaAP支持低(2.x版本闭源)ZookeeperCP不支持中ConsulCP支持高NacosAP/CP支持高CAP模型 计算机专家 埃里克·布鲁尔(Eric Brewer)于 2000 年在 ACM 分布式计算机原理专题讨论会(简称:PODC)中提出的分布式系统设计要考虑的三个核心要素: 一致性(Consistenc
2022-01-23 13:38:10 1755
原创 Nacos服务消费者注册和负载均衡
Nacos服务消费者注册和负载均衡服务消费者 上节课我们成功配置了Nacos服务提供者的注册,那么这节课我们将配置服务消费者,同时来验证Nacos自带负载均衡。具体配置新建Modulepom<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2022-01-21 17:52:37 860
原创 Nacos服务提供者注册
Nacos服务提供者注册Nacos代替Eureka Nacos可以直接提供注册中心(Eureka)+配置中心(Config),所以它的好处显而易见,我们在上节课成功安装和启动了Nacos以后就可以发现Nacos本身就是一个小平台,它要比之前的Eureka更加方便,不需要我们在自己做配置。Nacos服务注册中心 服务发现是微服务架构中的关键组件之一。在这样的架构中,手动为每个客户端配置服务列表可能是一项艰巨的任务,并且使得动态扩展极其困难。Nacos Discovery 帮助您自动将您的服务注册到
2022-01-20 17:45:18 508
原创 Spring Cloud Alibaba Nacos下载和安装
Spring Cloud Alibaba Nacos下载和安装Nacos介绍 Nacos(Naming Configuration Service) 是一个易于使用的动态服务发现、配置和服务管理平台,用于构建云原生应用程序 服务发现是微服务架构中的关键组件之一。Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服
2022-01-18 09:16:46 492
IDEA DEBUG调试的时候 出现Unable to evaluate the expression Cannot find source class for java.util.List
2022-03-25
Java实例化一个类并调用里面的方法,为什么不打印返回值
2021-10-21
这是现在10k的面试题emm这啥意思啊
2021-10-19
既然所有生命都要死亡,那生命的意义是什么
2021-09-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人