自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

了解➔熟悉➔掌握➔精通

为之,则难者亦易矣;不为,则易者亦难矣。

  • 博客(1162)
  • 收藏
  • 关注

原创 Linux安装JDK8

3.解压安装包:tar -zxvf jdk-8u202-linux-x64.tar.gz。准备:下载好JDK8的安装包:jdk-8u202-linux-x64.tar.gz。希望你也加入到人工智能的队伍中来!1.新建一个存放安装包的文件夹:mkdir /usr/local/java。5.重新加载配置:source /etc/profile。4.修改配置文件/etc/profile,配置环境变量。6.查看安装情况:java -version。2.将下载的安装包上传到该文件夹。

2024-04-09 19:43:42 10064 1

原创 MobaXterm使用lrzsz上传下载文件(rzsz)

分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击人工智能教程​https://www.captainai.net/解决方法去官网(https://mobaxterm.mobatek.net/plugins.html)下载2个插件。关闭MobaXterm,将下载的2个文件复制到MobaXterm安装目录下。测试上传和下载上传文件:输入rz回车,在空白地方按住ctrl+鼠标右键选择"Send file using Z-mode

2024-04-09 16:25:31 10372

原创 MySQL的索引是如何实现的

分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击http://www.captainbed.netMySQL中索引分三类:B+树索引、Hash索引、全文索引。InnoDB存储引擎中用的是B+树索引。要介绍B+树索引,不得不提二叉查找树、平衡二叉树和B树这三种数据结构。B+树是从它们三个演化来的。二叉查找树:图中为user表建立了一个二叉查找树的索引。节点中存储了键(key)和数据(data)。数据对应user表中的行数据。如果查找id=12

2022-01-04 21:39:17 37720 20

原创 五笔打字简明教程(86版)

1、汉字的构成中国人常说:“木子--李”,“日月--明”,可见方块汉字是由较小的块组成的,这些小块如:“木”、“子”、“日”、“月”等,我们把它们叫“五笔字根”。五笔输入法的五笔字根有120多个,它们分布在键盘的25个键上,如“木”在“S”键,“子”在“B”键,“李”字的打法就是按“S”和“B”两键再按空格就可打出“李”字;同理,“日”在“J”键,“月”在“E”键,“明”字的打法就是按“J”和“E”两键再按空格就可打出“明”字。五笔字根表见下图。五笔字根2、汉字的笔画字根又是由基本笔画

2022-01-03 21:58:53 18197 1

原创 Java-ThreadLocal(看这一篇就够了)

分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net1、什么是ThreadLocalThreadLocal class provides thread-local variables. These variables differ from their normal counterparts in that each thread that accesses one (via its get or set

2020-12-17 15:13:09 22646 1

原创 Java-通俗易懂地理解HashMap的原理

分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net一、HashMap的节点HashMap是一个集合,键值对的集合,源码中每个节点用Node<K,V>表示。 static class Node<K,V> implements Map.Entry<K,V> { final int hash; final K key;

2020-11-25 18:27:44 21563

原创 Java-理解volatile关键字(看这一篇就够了)

分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net一、内存模型如果一个变量在多个CPU中都存在缓存(一般在多线程编程时才会出现),那么就可能出现缓存不一致的问题。缓存不一致性问题通常有以下2种解决方法:1、通过在总线加LOCK锁的方式CPU和其他部件进行通信都是通过总线来进行的,当总线上发出了LCOK锁的信号,那么只有等待代码完全执行完毕之后,其他CPU才能从变量所在的内存读取变量,然后进行相

2020-08-10 16:22:32 21742

原创 Java中的堆和栈的区别是什么?分别放的是什么数据?

在方法调用时,会为该方法分配栈帧,方法执行结束后,栈帧会被自动弹出,释放内存。内存的分配和回收由垃圾回收器(GC)负责,当对象不再被引用时,GC 会在合适的时候回收该对象占用的内存。访问速度相对较慢,因为堆内存的分配是动态的,需要进行内存查找和管理。访问速度快,因为栈内存是连续分配的,并且栈指针的移动操作简单高效。每个线程都有自己独立的栈空间,栈空间一般较小,通常只有几 MB。内存是所有线程共享的,空间较大,可通过 JVM 参数进行调整。关键字创建的对象,还是数组,都会在堆上分配内存。

2025-04-07 17:23:35 245

原创 JGit基本使用

分享一个大牛的教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击人工智能教程​​​​​‌JGit是一个用于在Java中操作Git仓库的库,它提供了一组Java库和API,使开发人员可以在他们的Java应用程序中使用Git功能‌。JGit由Eclipse基金会开发和维护,是完全用Java实现的,没有外部依赖,因此可以轻松地与Java项目集成。JGit支持各种操作系统,包括Windows、Linux和Mac等‌。

2025-03-17 10:26:56 722

原创 War包和Jar包有什么区别

JAR包和WAR包在Java开发中各有用途。JAR包适用于普通Java应用程序或库的打包,具有独立运行的特点,适合快速迭代和部署。而WAR包专门用于Web应用程序的打包,需要部署到Web服务器中,能够充分利用服务器的管理和优化能力。开发者应根据项目的具体需求选择合适的打包方式。t=P1C7人工智能教程​​​​https://www.captainai.net/

2025-03-16 14:15:56 633

原创 Maven-如何开发一个Maven插件(Mojo)

分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击人工智能教程​​​Maven是当下最流行的项目管理工具,其丰富的插件为我们的工作带来了很大的便利。但是在一些情况下,开源的插件并不能完全满足我们的需求,我们需要自己创建插件,本文就从0开始带大家一起创建自己的插件。

2025-03-12 10:58:21 1097

原创 jGit-比较代码差异

分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击人工智能教程​​​​在Java中使用jGit库比较代码差异是一项常见的任务,特别是在进行版本控制时。jGit是Git的纯Java实现,允许你通过Java代码操作Git仓库。

2025-03-10 20:18:24 464

原创 BCEL与Java字节码操作

大家好,我是小黑,咱们今天来聊聊Apache Commons BCEL(Byte Code Engineering Library)。你可能会问,BCEL是什么鬼?别急,小黑这就给你娓娓道来。BCEL,它是一款专门用来操作Java字节码的库。想象一下,Java代码编译后变成了字节码,这些字节码是Java虚拟机执行的真正“源代码”。有了BCEL,咱们就能像变魔术一样,对这些字节码进行读取、修改,甚至创造出全新的字节码!那为啥要搞字节码呢?这事儿得从Java的运行原理说起。

2025-03-10 19:12:56 1135

原创 一文讲清BO、PO、VO、DTO

为什么我们通篇没有讲关于VO的事情呢?我个人的理解是DTO能解决的事情就没有必要再加一个VO,我们可以弄一个全局配置,将DTO里面为null值的字段全都过滤掉。这样就没有必要将数据传给前端的时候再多加一个VO。给出代码示例,这样配置就可以把DTO中为null的值过滤掉,不会序列化发给前端。@Override/*** 自定义mappingJackson2HttpMessageConverter* 目前实现:空值忽略,空字段可返回*/t=P1C7。

2025-03-10 16:40:35 581

原创 如何使用WireMock搭建一个HTTP模拟器

WireMock 是一个HTTP模拟服务,其核心也是一个WEB服务,WireMock主要是为特定请求提供固定的返回值。WireMock可以作为单独进程启动,模拟一个WEB服务器,提供一些API访问,并返回特定的返回值。也可以作为第三方库在项目中使用。下面我们先介绍以下WireMock模拟WEB服务器的使用吧。WireMock可以快速搭建Web服务,可以模拟开发测试需要的各种请求,使用十分方便。对于维护测试环境稳定以及提高开发效率方面都有不错的效果。t=P1C7。

2025-02-18 17:14:41 1313

原创 网易严选的精准测试实践

借助一定的技术手段、通过辅助算法对传统软件测试过程进行可视化、分析及优化的过程,使得测试过程更加可视化、智能、可信和精准。

2025-02-17 17:22:54 1093

原创 优酷服务端精准测试体系

通过聚合分析应用过去一周的线上流量,可以获取应用的全部代码调用链路,然后通过匹配主干代码知识库,获取链路上每个方法的知识库ID,最后以图形结构(点、边)对调用链路做结构化存储,从而可以实时计算每条链路的长度、深度、热度,以及从应用、入口、链路等维度,计算方法热度、调用热度。以应用Java方法为观测对象,通过静态分析识别变更的Java方法,通过动态采集获取线上Java方法调用链路,然后基于代码知识库的方法匹配,精准分析变更影响的Java方法调用链路,并基于影响的链路推荐测试流量,评估测试覆盖率的测试体系。

2025-02-17 16:52:51 1060

原创 走出回归测试困境,爱奇艺精准测试体系建设

分析测试的用例是否完全覆盖了变更代码,如果没有覆盖,可以通过一些方法帮助用例的手工补充,甚至自动生成用例进行补充。

2025-02-17 15:01:34 702

原创 搜狗精准测试实践-输入法开关下发

由于和不同手机渠道商合作,输入法对于不同的渠道,会下发不同开关,比如vivo手机会下发vivo开关,小米手机会下发小米开关。本次改动主要对服务器的下发逻辑进行了重构。需要进行回归测试。‍。

2025-02-14 16:39:03 902

原创 字节跳动精准测试实践,SmartEye背后的设计逻辑

在移动互联网高度发展下,移动APP趋近于大型化,功能也趋近于复杂化,诸如各种国民级应用,功能/玩法等迭代不停,其背后对应的研发协作团队也非常庞大。在此种场景下,依靠人力堆叠去保障产品质量,并非最优解,在软件规模达到某个临界点之后,问题逃逸将无法避免。字节跳动在代码覆盖率监测平台基础上,建立了SmartEye-智能化精准中台,帮助研发团队快速定位代码变更影响域,精准推荐测试用例/自动化巡检任务,为业务减负,为研发团队提效。目前,SmartEye精准引擎每日推荐用例数1K+,效率提升约40%。

2025-02-14 16:20:30 893

原创 Java接口测试之简单快速的:Mock Server Moco

Moco 底层并没有依赖于像 Servlet 这样的重型框架,而是基于 Netty 的网络应用框架编写的,这样就绕过了复杂的应用服务器,所以它的速度是极快的。集成,特别是基于 HTTP 协议的集成,例如 web 服务、REST 等,在我们的大多数开发中都被广泛使用。众所周知,开发一个 WAR 包并将其部署到任何应用服务器上是非常枯燥的,即使我们使用的是嵌入式服务器。当然 Moco 的灵活性,让其有越来越多的应用场景,比如我们在开发接口测试的时候。通过 Postman 验证服务,测试 Post 请求。

2025-02-11 20:07:42 1043

原创 Java接口测试之Mock(概念篇)

有些时候我们就是需要所测试的系统能够处理依赖所产生的各种情况,包括正常情况和异常情况,我们同样不能保证我们的 Mock 可以模拟到每种这样的情况。在具体的测试过程中,我们经常会碰到需要模拟数据或者接口的情况,因为环境问题或者系统复杂度的问题,我们需要使用 Mock 方式进行数据的模拟。另外一种就是 Mock 一个 Server ,构造一个假的服务返回预期的结果,也是为了进行自己的测试。场景一:依赖接口不通,甲开发A模块,乙开发B模块,甲的进度比乙快,但A模块的方法依赖于B模块,要测试A模块接口怎么办?

2025-02-11 16:27:39 931

原创 Seata:Spring Cloud Alibaba分布式事务组件(非常详细)

服务启动时,从配置文件中获取服务分组的名称;从配置中心,通过事务分组名获取 TC 集群名;根据 TC 群组名以及其他信息构建服务名,获取真实的 TC 服务列表。

2025-02-11 14:06:05 4330

原创 Sentinel:Spring Cloud Alibaba高可用流量控制组件(非常详细)

资源是 Sentinel 中的核心概念之一。在项目开发时,我们只需要考虑这个服务、方法或代码是否需要保护,如果需要保护,就可以将它定义为一个资源。适配主流框架自动定义资源通过 SphU 手动定义资源通过 SphO 手动定义资源注解方式定义资源。

2025-02-11 10:06:42 687

原创 Nacos:Spring Cloud Alibaba服务注册与配置中心(非常详细)

分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击人工智能教程​​​Nacos 英文全称为 Dynamic Naming and Configuration Service,是一个由阿里巴巴团队使用 Java 语言开发的开源项目。Nacos 是一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台(参考自我们可以将 Nacos 理解成服务注册中心和配置中心的组合体,它可以替换作为服务注册中心,实现服务的注册与发现;还可以替换。

2025-02-10 16:15:53 1218

原创 Spring Cloud Alibaba是什么

分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击人工智能教程​​本身并不是一个拿来即可用的框架,它是一套微服务规范,这套规范共有两代实现。2018 年 12 月12 日,Netflix 公司宣布 Spring Cloud Netflix 系列大部分组件都进入维护模式,不再添加新特性。这严重地限制了 Spring Cloud 的高速发展,于是各大互联网公司和组织开始把目光转向 Spring Cloud 的第二代实现:Spring Cloud Alibaba。

2025-02-10 15:33:24 1036

原创 Config:Spring Cloud分布式配置组件(非常详细)

分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击人工智能教程​在分布式微服务系统中,几乎所有服务的运行都离不开配置文件的支持,这些配置文件通常由各个服务自行管理,以 properties 或 yml 格式保存在各个微服务的类路径下,例如 application.properties 或 application.yml 等。为了解决这些问题,通常我们都会使用配置中心对配置进行统一管理。

2025-02-08 17:18:04 1246

原创 Gateway:Spring Cloud API网关组件(非常详细)

分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击人工智能教程在微服务架构中,一个系统往往由多个微服务组成,而这些服务可能部署在不同机房、不同地区、不同域名下。这种情况下,客户端(例如浏览器、手机、软件工具等)想要直接请求这些服务,就需要知道它们具体的地址信息,例如 IP 地址、端口号等。我们可以通过 API 网关来解决这些问题,下面就让我们来看看什么是 API 网关。

2025-02-08 15:59:25 1189

原创 Hystrix:Spring Cloud服务熔断与降级组件(非常详细)

分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击人工智能教程https://www.captainai.net/在微服务架构中,一个应用往往由多个服务组成,这些服务之间相互依赖,依赖关系错综复杂。例如一个微服务系统中存在 A、B、C、D、E、F 等多个服务,它们的依赖关系如下图。通常情况下,一个用户请求往往需要多个服务配合才能完成。

2025-02-07 11:07:13 934

原创 OpenFeign:Spring Cloud声明式服务调用组件(非常详细)

分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击人工智能教程​​​Netflix Feign 是 Netflix 公司发布的一种实现负载均衡和服务调用的开源组件。将其与 Netflix 中的其他开源服务组件(例如 Eureka、Ribbon 以及 Hystrix 等)一起整合进Cloud Netflix 模块中,整合后全称为 Spring Cloud Netflix Feign。Feign 对。

2025-02-06 15:27:16 895

原创 Ribbon:Spring Cloud负载均衡与服务调用组件(非常详细)

分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击人工智能教程​​Ribbon 是一套基于 Netflix Ribbon 实现的客户端负载均衡和服务调用工具。Netflix Ribbon 是 Netflix 公司发布的开源组件,其主要功能是提供客户端的负载均衡算法和服务调用。

2025-02-06 15:10:39 1038

原创 Eureka:Spring Cloud服务注册与发现组件(非常详细)

分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击人工智能教程​​Eureka 一词来源于古希腊词汇,是“发现了”的意思。在软件领域,Eureka 是 Netflix 公司开发的一款开源的服务注册与发现组件。将 Eureka 与 Netflix 中的其他开源服务组件(例如 Ribbon、Feign 以及 Hystrix 等)一起整合进Cloud Netflix 模块中,整合后的组件全称为 Spring Cloud Netflix Eureka。

2025-01-22 15:35:04 602

原创 Spring Cloud是什么

分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击人工智能教程​https://www.captainai.net/是一款基于Boot 实现的微服务框架。Spring Cloud 源自 Spring 社区,主要由 Pivotal 和 Netflix 两大公司提供技术迭代和维护。随着微服务的火爆流行,国内外各大互联网公司都相继分享了他们在微服务架构中,针对不同场景出现的各种问题的解决方案和开源框架。

2025-01-22 15:30:21 670

原创 微服务是什么

1) 所谓“服务”,其实指的是项目中的功能模块,它可以帮助用户解决某一个或一组问题,在开发过程中表现为 IDE(集成开发环境,例如 Eclipse 或 IntelliJ IDEA)中的一个工程或 Moudle。微服务体积小,复杂度低:一个微服务通常只提供单个业务功能的服务,即一个微服务只专注于做好一件事,因此微服务通常代码较少,体积较小,复杂度也较低。

2025-01-22 09:20:06 788

原创 Spring Cloud教程(非常详细)

分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击人工智能教程​​Spring Cloud 是分布式微服务架构的一站式解决方案,它提供了一套简单易用的编程模型,使我们能在 Spring Boot 的基础上轻松地实现微服务系统的构建。Spring Cloud 被称为构建分布式微服务系统的“全家桶”,它并不是某一门技术,而是一系列微服务解决方案或框架的有序集合。

2025-01-21 20:34:07 416

原创 分层测试六:UI测试

UI测试是通过测试产品的视觉元素来验证产品功能和性能的测试技术。视觉元素的范围很广,包括一切可视化的组件,比如图标、按钮、文本框、颜色、字体、选择框、窗口、菜单等等。UI测试主要关注产品的功能、可用性、视觉性,也就是用户关心的部分,确保程序成功运行。当分层测试的其他层次不完备的时候,最好不要考虑使用UI测试,在业务实践来看,准确率很难达标,严重影响开发人员对测试人员信心。

2025-01-17 15:09:09 701

原创 分层测试五:端到端测试

端到端测试(End-To-End Testing,简称E2E测试)是一种从头到尾测试整个软件产品以确保应用程序流程按预期运行的技术。它定义了产品的系统依赖性,并确保所有集成部分按预期协同工作。端到端测试的主要目的是通过模拟真实用户场景并验证被测系统及其组件的集成和数据完整性,主要从最终用户的体验进行测试。

2025-01-17 15:00:57 975

原创 分层测试四:集成测试

集成测试是在模块接口的基础上,将所有涉及模块按照设计要求(比如根据架构图)组装成子系统,对系统接口进行正确性校验的测试技术。通过集成测试可以暴露出这些模块在集成交互时的缺陷,这些缺陷在对各自模块进行接口测试时可能是无法暴露的。

2025-01-17 14:41:01 947

原创 分层测试三:接口测试

接口测试是通过测试模块接口来检测模块整体逻辑是否符合预期的测试方法。接口测试主要用于检测外部模块和模块接口数据交换、关键业务数据状态变化。测试的重点是要检查数据的交换、传递和控制管理过程,以及模块间的相互逻辑依赖关系等。

2025-01-17 14:27:02 930

原创 分层测试二:单元测试

对代码中的逻辑隔离的最小代码片段进行测试,验证其逻辑是否符合预期,单元可以是函数、方法、类、功能模块。

2025-01-17 14:09:20 866

空空如也

空空如也

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

TA关注的人

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