【JavaAPI搜索引擎】项目测试报告

JavaAPI搜索引擎测试报告

  • 项目背景与项目介绍
  • 项目功能
  • 自动化测试
  • 单元测试
    • 测试ansj分词器
    • 测试能否获取到正确的URL
    • 测试能否正确解析文件中的正文
  • 测试计划
    • 界面测试
      • 测试1 页面布局是否合理美观,元素是否正确显示
      • 测试2 测试是否可以正常显示出搜索结果
      • 测试3 点击搜索结果后,测试搜索结果的页面内容是否正常显示
    • 功能测试
      • 搜索空格
      • 搜索中文
      • 搜索数字
      • 搜索内容后加空格
      • 搜索不存在的内容
      • 搜索英文关键词
      • 多次搜索相同的内容
      • 搜索多个关键词中间加上空格
      • 搜索多个关键词中间加上逗号
      • 搜索英文+中文的内容
      • 搜索英文+数字的内容
    • 主页搜索模块
      • 测试搜索按钮
      • 点击搜索结果的标题,测试是否能够正常跳转到对应的页面
      • 用户搜索的关键词是否高亮显示
  • 易用性测试
    • 测试用户输入的大写字母是否可以自动转换成小写字母
    • 是否支持搜索结果的复制粘贴
    • 搜索内容按照关键词在文档中的权重显示
  • 兼容性测试
    • 不同的设备
    • 测试不同的浏览器

项目背景与项目介绍

Java官方API文档是我们在学习Java语言中不可或缺的权威资料。

相比于各种网站的Java资料,官方文档无论是语言表达还是组织方式都要更加全面和准确。

因为没有人比作者更加了解自己的作品,官方文档一定是最了解自己的作品的。

通过查阅Java文档,我们可以准确而全面地了解到自己需要了解的知识点。

但目前Java官方文档只能通过滚动条寻找关键字进行点击的方式来查询,自然就存在着查询低效的问题。

为了解决这一问题,我尝试创建了一个搜索引擎,JavaAPI搜索引擎项目是一个基于Java开发的全文搜索系统,旨在对大规模的文本数据进行高效索引和快速检索

项目功能

输入一个查询词,得到若干个搜索结果.每个搜索结果包含了标题,描述,展⽰URL和点击URL

自动化测试

搜索引擎自动化测试报告

单元测试

测试ansj分词器

编写测试方法:

 //测试Ansj库能够正确完成分词操作@Testpublic void testAnsj(){//准备一个比较长的话来进行分词:String str = "Looking my eyes, tell me  why? baby! why";//把parse方法返回值Result转换成List:getTerms()://terms就表示一个分词结果List<Term> terms = ToAnalysis.parse(str).getTerms();for(Term term :terms){System.out.println(term.getName());}}

测试的结果如下所示:
在这里插入图片描述

测试能否获取到正确的URL

测试代码如下所示:

//测试能否正确获取到当前文件路径//1. 指定一个加载文档的路径,也就是我们之前下载好文档的路径private static final String INPUT_PATH  = "D:/doc_searcher_index/docs/api";@Testpublic void testURL(){File file = new File("D:\\doc_searcher_index\\docs\\api\\java.base\\java\\util\\ArrayList.html");//先获取到一个固定线上文档的前缀String part1  = "https://docs.oracle.com/en/java/javase/11/docs/api";//下面去获取到后半部分://substring方法中只有一个参数表示从这个下标开始截取到末尾String part2 = file.getAbsolutePath().substring(INPUT_PATH.length());/*System.out.println("固定的线上文档前缀part1: " +part1);System.out.println("本地文档路径的后半部分part2: "+part2);*/String result = part1 + part2;System.out.println(result);}

测试结果如下所示:
在这里插入图片描述

测试能否正确解析文件中的正文

测试的具体代码如下所示:

//测试是否可以正确解析文件中的正文部分@Testpublic void TestParseContent(){Parser parser = new Parser();File file = new File("D:\\doc_searcher_index\\docs\\api\\java.base\\java\\util\\ArrayList.html");String result = parser.parseContent(file);String result2 = parser.parseContentByRegex(file);System.out.println(result);System.out.println();System.out.println("=================================");System.out.println(result2);}

测试的结果如下所示:
在这里插入图片描述

测试计划

在这里插入图片描述

界面测试

在这里插入图片描述

测试1 页面布局是否合理美观,元素是否正确显示

模块
搜索模块

测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统

测试步骤
打开谷歌浏览器,输入URL

测试数据
URL:http://123.56.249.238:8080/index.html

期望结果
页面中的元素显示正确,没有乱码和错别字,整体布局合理美观

测试结果
页面元素显示正确,布局合理美观,测试结果如下图:
在这里插入图片描述

测试2 测试是否可以正常显示出搜索结果

模块
搜索模块

测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统

测试步骤

  1. 打开谷歌浏览器,输入URL
  2. 在搜索页面的输入框中
  3. 输入关键词Arrays,点击搜索按钮

测试数据
搜索:Arrays

期望结果
在搜索框中,输入Arrays,点击搜索按钮之后,能够正常显示出搜索结果

测试结果
搜索结果可以正常显示出来,测试结果如下图:
在这里插入图片描述

测试3 点击搜索结果后,测试搜索结果的页面内容是否正常显示

模块
搜索模块

测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统

测试步骤

  1. 打开谷歌浏览器,输入URL
  2. 在搜索页面的输入框中
  3. 输入关键词Arrays,点击搜索按钮
  4. 出现搜索结果之后,点击搜索结果
  5. 查看搜索结果的页面是否可以正常显示

测试数据
搜索:Arrays

期望结果
在搜索框中,输入Arrays,点击搜索按钮之后,能够正常显示出搜索结果,当点击Arrays的搜索结果之后,查看搜索结果页面是正常的

测试结果
搜索结果页面可以正常显示出来,测试结果如下图:
在这里插入图片描述

功能测试

在这里插入图片描述
在这里插入图片描述

搜索空格

模块
搜索模块

测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统

测试步骤

  1. 打开谷歌浏览器,输入URL
  2. 在搜索页面的输入框中
  3. 输入空格,点击搜索按钮
  4. 查看是否可以搜索成功

测试数据
搜索:空格

期望结果
搜索成功,但是显示结果为0个

测试结果
搜索成功,但是结果为0个,测试结果如下图:
在这里插入图片描述

搜索中文

模块
搜索模块

测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统

测试步骤

  1. 打开谷歌浏览器,输入URL
  2. 在搜索页面的输入框中
  3. 输入中文:哈哈,点击搜索按钮
  4. 查看是否可以搜索成功

测试数据
搜索:哈哈

期望结果
搜索成功,但是显示结果为0个

测试结果
搜索成功,但是结果为0个,测试结果如下图:
在这里插入图片描述

搜索数字

模块
搜索模块

测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统

测试步骤

  1. 打开谷歌浏览器,输入URL
  2. 在搜索页面的输入框中
  3. 输入数字:123,点击搜索按钮
  4. 查看是否可以搜索成功

测试数据
搜索:123

期望结果
搜索成功,但是显示结果为0个

测试结果
搜索成功,打开含有数字的搜索结果,测试结果如下图:

在这里插入图片描述

搜索内容后加空格

模块
搜索模块

测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统

测试步骤

  1. 打开谷歌浏览器,输入URL
  2. 在搜索页面的输入框中
  3. 输入数字:Arr ays,点击搜索按钮
  4. 查看是否可以搜索成功

测试数据
搜索:Arr ays

期望结果
搜索成功,打开含有关键词的结果

测试结果
搜索成功,打开含有数字的搜索结果,测试结果如下图:
在这里插入图片描述

搜索不存在的内容

模块
搜索模块

测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统

测试步骤

  1. 打开谷歌浏览器,输入URL
  2. 在搜索页面的输入框中
  3. 输入数字:&&&,点击搜索按钮
  4. 查看是否可以搜索成功

测试数据
搜索:&&&

期望结果
搜索成功,但是显示结果为0个

测试结果
搜索成功,但是结果为0,测试结果如下图:
在这里插入图片描述

搜索英文关键词

模块
搜索模块

测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统

测试步骤

  1. 打开谷歌浏览器,输入URL
  2. 在搜索页面的输入框中
  3. 输入数字:Arrays,点击搜索按钮
  4. 查看是否可以搜索成功

测试数据
搜索:Arrays

期望结果
搜索成功,打开含有关键词的搜索结果

测试结果
搜索成功,打开含有关键词搜索结果,测试结果如下图:
在这里插入图片描述

多次搜索相同的内容

模块
搜索模块

测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统

测试步骤

  1. 打开谷歌浏览器,输入URL
  2. 在搜索页面的输入框中
  3. 输入英文:Arrays,点击搜索按钮
  4. 查看是否可以搜索成功
  5. 重复输入Arrays,查看是否可以搜索成功

测试数据
搜索:Arrays

期望结果
搜索成功,打开含有关键词的搜索结果

测试结果
搜索成功,打开含有关键词搜索结果,测试结果如下图

在这里插入图片描述

搜索多个关键词中间加上空格

模块
搜索模块

测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统

测试步骤

  1. 打开谷歌浏览器,输入URL
  2. 在搜索页面的输入框中
  3. 输入英文:Arrays list,点击搜索按钮
  4. 查看是否可以搜索成功

测试数据
搜索:Arrays list

期望结果
搜索成功,打开含有关键词的搜索结果

测试结果
搜索成功,打开含有关键词搜索结果,测试结果如下图

在这里插入图片描述

搜索多个关键词中间加上逗号

模块
搜索模块

测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统

测试步骤

  1. 打开谷歌浏览器,输入URL
  2. 在搜索页面的输入框中
  3. 输入英文:Arrays , list,点击搜索按钮
  4. 查看是否可以搜索成功

测试数据
搜索:Arrays , list

期望结果
搜索成功,打开含有关键词的搜索结果

测试结果
搜索成功,打开含有关键词搜索结果,测试结果如下图
在这里插入图片描述

搜索英文+中文的内容

模块
搜索模块

测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统

测试步骤

  1. 打开谷歌浏览器,输入URL
  2. 在搜索页面的输入框中
  3. 输入英文:Arr哈哈,点击搜索按钮
  4. 查看是否可以搜索成功

测试数据
搜索:Arr哈哈

期望结果
搜索成功,打开含有关键词的搜索结果

测试结果
搜索成功,打开含有关键词搜索结果,测试结果如下图
在这里插入图片描述

搜索英文+数字的内容

模块
搜索模块

测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统

测试步骤

  1. 打开谷歌浏览器,输入URL
  2. 在搜索页面的输入框中
  3. 输入英文:Arr123,点击搜索按钮
  4. 查看是否可以搜索成功

测试数据
搜索:Arr123

期望结果
搜索成功,打开含有关键词的搜索结果

测试结果
搜索成功,打开含有关键词搜索结果,测试结果如下图

在这里插入图片描述

主页搜索模块

测试搜索按钮

模块
主页搜索模块

测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统

测试步骤

  1. 打开谷歌浏览器,输入URL
  2. 在搜索页面的输入框中
  3. 输入英文:Array, 点击搜索按钮
  4. 查看搜索按钮是否可以正常点击,功能是否正常

测试数据
搜索:Array

期望结果
搜索成功,打开含有关键词的搜索结果

测试结果
搜索成功,打开含有关键词搜索结果,测试结果如下图
在这里插入图片描述

点击搜索结果的标题,测试是否能够正常跳转到对应的页面

模块
主页搜索模块

测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统

测试步骤

  1. 打开谷歌浏览器,输入URL
  2. 在搜索页面的输入框中
  3. 输入英文:Arrays, 点击搜索按钮
  4. 查看是否搜索成功
  5. 点击搜索结果

测试数据
搜索:Array

期望结果
搜索成功,打开含有关键词的搜索结果

测试结果
搜索成功,打开含有关键词搜索结果,测试结果如下图
在这里插入图片描述
然后点击第一个搜索结果,测试是否可以跳转到对应的页面:
在这里插入图片描述

用户搜索的关键词是否高亮显示

模块
主页搜索模块

测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统

测试步骤

  1. 打开谷歌浏览器,输入URL
  2. 在搜索页面的输入框中
  3. 输入英文:Arrays, 点击搜索按钮
  4. 查看是否搜索成功
  5. 点击搜索结果

测试数据
搜索:Arrays

期望结果
搜索成功,打开含有关键词的搜索结果

测试结果
搜索成功,打开含有关键词搜索结果,测试结果如下图
在这里插入图片描述

易用性测试

在这里插入图片描述

测试用户输入的大写字母是否可以自动转换成小写字母

模块
主页搜索模块

测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统

测试步骤

  1. 打开谷歌浏览器,输入URL
  2. 在搜索页面的输入框中
  3. 输入英文:ARRAYS, 点击搜索按钮
  4. 查看是否会将大写字母转换成小写字母

测试数据
搜索:ARRAYS

期望结果
搜索成功,打开含有关键词的搜索结果

测试结果
搜索成功,打开含有关键词搜索结果,测试结果如下:
在这里插入图片描述

是否支持搜索结果的复制粘贴

模块
主页搜索模块

测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统

测试步骤

  1. 打开谷歌浏览器,输入URL
  2. 在搜索页面的输入框中
  3. 输入英文:list, 点击搜索按钮
  4. 查看搜索结果是否支持复制粘贴

测试数据
搜索:list

期望结果
搜索成功,打开含有关键词的搜索结果

测试结果
搜索成功,打开含有关键词搜索结果,测试结果如下:
在这里插入图片描述

搜索内容按照关键词在文档中的权重显示

模块
主页搜索模块

测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统

测试步骤

  1. 打开谷歌浏览器,输入URL
  2. 在搜索页面的输入框中
  3. 输入英文:list, 点击搜索按钮
  4. 查看搜索结果是否按照关键词在文档中的权重显示

测试数据
搜索:list

期望结果
搜索成功,打开含有关键词的搜索结果

测试结果
搜索成功,打开含有关键词搜索结果,测试结果是按照关键词在文档中的权重显示的:
在这里插入图片描述

兼容性测试

在这里插入图片描述

不同的设备

模块
主页搜索模块,主页展示模块

测试环境
1:电脑:MateBook 14 版本号23H2(64 位)PC端 Windows系统

2:手机:iQOO 10 MP_0.1(64 位)移动端 OriginOS 14.0

3:平板:OPPO Pad Air(64 位)平板端 ColorOS V12.1(Android 12)

测试步骤

  1. 打开电脑浏览器,输入URL,测试是否可以正常运行
  2. 打开手机浏览器,输入URL,测试是否可以正常运行
  3. 打开平板浏览器,输入URL,测试是否可以正常运行

测试数据
搜索:list

期望结果
搜索成功,打开含有关键词的搜索结果

测试结果
电脑的测试结果如下所示:
在这里插入图片描述

手机的测试结果如下所示:
在这里插入图片描述
平板的测试结果如下所示:
在这里插入图片描述

测试不同的浏览器

模块
搜索模块,主页展示模块

测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统

Firefox 139.0.4(20250609112858) PC端 Windows系统

Microsoft Edge版本 137.0.3296.68 (正式版本) (64 位) PC端 Windows系统

华为浏览器 11.0.8.301 | 内核版本: 92.0.4515.107 PC端 Windows系统

测试步骤
1:在Chorme浏览器中输入url:http://123.56.249.238:8080/index.html,然后在搜索框中输入关键字list,正确弹出页面.

2: 在Firefox 浏览器中输入url:http://123.56.249.238:8080/index.html,然后在搜索框中输入关键字list,正确弹出页面.

3:在Microsoft Edge浏览器中输入url:http://123.56.249.238:8080/index.html,然后在搜索框中输入关键字list,正确弹出页面.

4:在华为浏览器中输入url:
http://123.56.249.238:8080/index.html,然后在搜索框中输入关键字list,正确弹出页面.

测试数据
url : http://localhost:8080/index.html
关键字 :list

期望结果
在各个浏览器中输入url后,输入关键字,正确弹出内容页面

测试结果
测试成功,在各个不同的浏览器中都可以正常打开运行,测试结果如下:

谷歌浏览器测试结果:
在这里插入图片描述

火狐浏览器测试结果:
在这里插入图片描述

Edge浏览器测试结果:
在这里插入图片描述
华为浏览器的测试结果:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/diannao/86626.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何选择合适的IP轮换周期

选择合适的IP轮换周期需综合业务目标、目标平台风控规则、IP类型与质量等多维度因素&#xff0c;以下是系统化决策框架及实操建议&#xff1a; &#x1f504; 一、核心决策要素 业务场景类型 高频操作型&#xff08;如数据采集、广告点击&#xff09;&#xff1a; 轮换周期短&a…

GO Goroutine 与并发模型面试题及参考答案

目录 什么是 Goroutine,它与线程有何区别? 如何创建一个 Goroutine?有哪些方式? Goroutine 执行函数时传递参数应注意什么问题? 使用 Goroutine 时如何确保主线程不会提前退出? 多个 Goroutine 写共享变量时会出现什么问题?如何解决? 如何用 sync.WaitGroup 管理 …

Leetcode-11 2 的幂

Leetcode-11 2 的幂&#xff08;简单&#xff09; 题目描述思路分析通过代码&#xff08;python&#xff09; 题目描述 给你一个整数 n&#xff0c;请你判断该整数是否是 2 的幂次方。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 如果存在一个整数…

【Java】【力扣】121.买卖股票的最佳时机

思路 所以后续的每次都是在&#xff1a;1-判断是否更新最低点 2-如果不需要更新最低点 则计算差值 代码 class Solution { public int maxProfit(int[] prices) { int minprices[0]; int max0; for (int i 1; i < prices.length; i) { //假设0就是最低点 // 判…

微服务架构下大型商城系统的事务一致性攻坚:Saga、TCC与本地消息表的实战解析

当用户在商城完成支付却看到"订单异常"提示时&#xff0c;背后往往是分布式事务一致性缺失导致的业务裂缝。在微服务拆分的商城系统中&#xff0c;如何保障跨服务的交易原子性&#xff0c;成为架构设计的生死线。 一、商城分布式事务的典型场景与痛点 在某家电品牌商…

深入理解 Vue.observable:轻量级响应式状态管理利器

目录 引言 一、什么是 Vue.observable&#xff1f; 二、为什么需要 Vue.observable&#xff1f;解决什么问题&#xff1f; 三、核心原理&#xff1a;响应式系统如何工作 四、如何使用 Vue.observable 功能说明 技术要点 五、关键注意事项与最佳实践 六、实际应用案例 …

JS设计模式(5): 发布订阅模式

解锁JavaScript发布订阅模式&#xff1a;让代码沟通更优雅 在JavaScript的世界里&#xff0c;我们常常会遇到这样的场景&#xff1a;多个模块之间需要相互通信&#xff0c;但是又不想让它们产生过于紧密的耦合。这时候&#xff0c;发布订阅模式就像一位优雅的信使&#xff0c;…

【电路物联网】SDN架构与工作原理介绍

(꒪ꇴ꒪ )&#xff0c;Hello我是祐言QAQ我的博客主页&#xff1a;C/C语言&#xff0c;数据结构&#xff0c;Linux基础&#xff0c;ARM开发板&#xff0c;网络编程等领域UP&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff0c;让我们成为一个强大的攻城狮&#xff0…

vscode 保存 js 时会自动格式化,取消设置也不好使

vscode 里的设置搜索 Editor: Format On Save 取消勾选 卸载 Prettier - Code formatter 这个插件后好使了&#xff0c;本来以为是插件的问题&#xff0c;后来发现是工作区设置的问题。 因为我是用 GitHub 下载的工程打开后&#xff0c; vscode 认为是工作区了, 因为 .vscode…

xcode中project.pbxproj点开为空白问题

由于需要修改signing里面的配置&#xff0c;点击了project.pbxproj。但是发现一片空白&#xff0c;如图 以为是配置文件损坏&#xff0c;邮件show in Finder看了一通后没看出什么所以然。并且发现entitlement文件、list文件全都是点开为白&#xff0c;并且没有任何保存 最后发…

JUC并发编程(四)常见模式

目录 一 同步与协调模式 1 保护性暂停模式 2 顺序控制模式 3 生产者消费者模式 4 Balking模式&#xff08;犹豫模式&#xff09; 二 线程管理/生命周期模式 1 两阶段终止模式 一 同步与协调模式 1 保护性暂停模式 一个线程需要等待另一个线程提供特定条件&#xff08;通常是…

Vue 数据代理机制对属性名的要求

Vue 数据代理机制对属性名的要求 在 Vue 的数据代理机制中,属性名需遵循以下关键规则: 1. 禁止以 _ 或 $ 开头 ⚠️ Vue 会跳过代理以 _ 或 $ 开头的属性原因:这些前缀被 Vue 保留用于内部属性(如 _data, _uid, $refs, $el 等)示例:data() {return {count: 1, // ✅…

pdf.js在iOS移动端分页加载优化方案(ios移动端反复刷新加载问题)

背景与问题 在iOS移动端加载大型PDF文件时&#xff0c;由于设备内存限制&#xff0c;经常遇到以下问题&#xff1a; 内存不足导致页面崩溃大文件加载缓慢页面反复重新加载 ##解决方案 采用PDF.js的分页加载策略&#xff0c;实现按需加载当前可视页面及相邻页面&#xff0c;…

【C++】来学习使用set和map吧

各位大佬好&#xff0c;我是落羽&#xff01;一个坚持不断学习进步的大学生。 如果您觉得我的文章有所帮助&#xff0c;欢迎多多互三分享交流&#xff0c;一起学习进步&#xff01; 也欢迎关注我的blog主页: 落羽的落羽 文章目录 一、set和map是什么二、set系列1. set2. mult…

h5st逆向分析

h5st最新5.1版本逆向分析 申明定位h5st生成的位置动态插桩,事半功倍日志分析,十分钟还原算法逻辑申明 本文仅用来记录学习过程以免日后忘了,如有侵权请联系删除。 定位h5st生成的位置 通过关键字“sign”搜索,可以定位到window.PSign.sign(f)这个位置,f参数的值为{ &qu…

湖北理元理律师事务所企业债务优化路径:司法重整中的再生之道

一、企业债务危机的核心矛盾&#xff1a;生存与清偿的博弈 通过分析湖北理元理律师事务所经办的17件企业债务案件&#xff0c;发现共性难题&#xff1a; 债权人要求立即清偿 → 企业需持续经营造血 → 司法程序存在时间差 解决方案&#xff1a;构建“三重防火墙”机制 经…

链家Android面试题及参考答案

目录 请详细解释类加载的过程,包括每一步的具体实现。并说明Android中的dex分包技术及其在热更新中的应用 比较JVM和DVM的区别。在JVM中一个程序崩溃是否可能导致系统崩溃?DVM中呢? 请解释网络IP协议、TCP、UDP、HTTP、HTTPS、Socket的概念,并说明它们之间的区别 请深入…

LeetCode-多语言实现冒泡排序以及算法优化改进

目录 一、冒泡排序算法 二、应用场景/前提条件 &#x1f308; 优点 &#x1f4e2; 缺点 三、经典算法实现并优化改进 方法一&#xff1a;记录最后一次交换位置&#xff0c;下一轮只遍历到该位置 方法二&#xff1a;添加标志位跟踪是否发生交换&#xff0c;无交换则提前终…

JAVA毕业设计227—基于SpringBoot+hadoop+spark+Vue的大数据房屋维修系统(源代码+数据库)

毕设所有选题&#xff1a; https://blog.csdn.net/2303_76227485/article/details/131104075 基于SpringBoothadoopsparkVue的大数据房屋维修系统(源代码数据库)227 一、系统介绍 本项目前后端分离&#xff0c;分为业主、维修人员、管理员三种角色 1、业主&#xff1a; 登…

MADlib —— 基于 SQL 的数据挖掘解决方案(9)—— 数据探索之概率统计

目录 一、概率 1. 概率的定义 2. 概率质量函数与概率密度函数 3. 条件概率 4. 期望值 二、MADlib 的概率相关函数 1. 函数语法 2. 示例 &#xff08;1&#xff09;求标准正态分布下&#xff0c;1 的概率密度函数 &#xff08;2&#xff09;求标准正态分布下&#xff…