大数据毕业设计选题推荐-基于大数据的高级大豆农业数据分析与可视化系统-Hadoop-Spark-数据可视化-BigData

作者主页:IT毕设梦工厂✨
个人简介:曾从事计算机专业培训教学,擅长Java、Python、PHP、.NET、Node.js、GO、微信小程序、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。
☑文末获取源码☑
精彩专栏推荐⬇⬇⬇
Java项目
Python项目
安卓项目
微信小程序项目

文章目录

  • 一、前言
  • 二、开发环境
  • 三、系统界面展示
  • 四、部分代码设计
  • 五、系统视频
  • 结语

一、前言

系统介绍
本系统是一个专门面向大豆农业数据的综合性分析平台,基于Hadoop+Spark大数据框架构建。系统采用Python/Java作为开发语言,后端使用Django/SpringBoot框架,前端采用Vue+ElementUI+Echarts技术栈实现数据可视化。系统核心功能涵盖大豆核心基因性能分析、环境胁迫适应性评估、产量性状关联分析、综合性能优选分析以及农业数据特征分析五大维度。通过Spark SQL和Pandas进行大规模数据处理,利用NumPy进行科学计算,结合MySQL数据库存储管理55450行×13列的高级大豆农业数据集。系统能够深入挖掘大豆基因型与环境因子(水分胁迫、水杨酸处理等)的交互关系,分析株高、豆荚数量、蛋白质含量、叶绿素水平等关键农艺性状对产量的影响机制,为精准农业决策提供数据支撑。平台通过直观的可视化大屏展示分析结果,帮助农业研究人员和种植者识别高产抗逆大豆品种,优化栽培管理策略。

选题背景
随着全球人口持续增长和耕地资源日益稀缺,如何提高作物产量和品质成为农业发展的核心挑战。大豆作为重要的经济作物和蛋白质来源,其育种和栽培技术的改进直接关系到粮食安全和农业可持续发展。传统的大豆品种选育主要依靠田间试验和人工观察,这种方式不仅耗时费力,而且难以全面分析复杂的基因型与环境互作效应。近年来,农业信息化和数字化转型加速推进,大量的农业传感器、田间监测设备产生了海量的作物生长数据,这些数据蕴含着丰富的农艺性状规律和品种特性信息。然而,如何有效挖掘和利用这些农业大数据,将其转化为可指导实际生产的科学依据,成为现代农业面临的重要课题。特别是在大豆育种领域,需要建立一套能够处理多维度、大规模农业数据的分析系统,通过数据驱动的方式识别优良基因型,评估环境适应性,为育种决策提供更加精准的科学支撑。

选题意义
从技术层面来看,本研究将大数据技术与农业领域深度融合,为农业数据分析提供了一种新的技术路径。通过构建基于Hadoop+Spark的分布式计算平台,能够高效处理大规模农业数据,这对推动农业信息化技术发展具有一定的参考价值。系统集成了数据挖掘、统计分析、可视化等多种技术手段,形成了较为完整的农业数据分析解决方案。从实践应用角度而言,系统能够为育种专家和农技人员提供数据化的决策工具,通过量化分析不同基因型在各种环境条件下的表现,有助于提高品种选育的效率和准确性。虽然作为毕业设计项目,系统在功能完善程度和数据规模上还存在一定局限,但其探索的技术思路和分析方法对相关研究领域具有借鉴意义。对于学习者而言,通过本项目的开发实践,能够加深对大数据技术在特定领域应用的理解,提升解决实际问题的能力。同时,系统产生的分析结果也可为农业院校的教学实践提供案例素材,在一定程度上促进产学研结合。

二、开发环境

  • 大数据框架:Hadoop+Spark(本次没用Hive,支持定制)
  • 开发语言:Python+Java(两个版本都支持)
  • 后端框架:Django+Spring Boot(Spring+SpringMVC+Mybatis)(两个版本都支持)
  • 前端:Vue+ElementUI+Echarts+HTML+CSS+JavaScript+jQuery
  • 详细技术点:Hadoop、HDFS、Spark、Spark SQL、Pandas、NumPy
  • 数据库:MySQL

三、系统界面展示

  • 基于大数据的高级大豆农业数据分析与可视化系统界面展示:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

四、部分代码设计

  • 项目实战-代码参考:
from pyspark.sql import SparkSession
from pyspark.ml.feature import VectorAssembler
from pyspark.ml.regression import LinearRegression
from pyspark.ml.stat import Correlation
import pandas as pd
import numpy as np
from django.http import JsonResponse
from django.views import View
import jsonspark = SparkSession.builder.appName("SoybeanAnalysis").config("spark.sql.adaptive.enabled", "true").config("spark.sql.adaptive.coalescePartitions.enabled", "true").getOrCreate()class CoreGenePerformanceAnalysis(View):def post(self, request):df_spark = spark.read.csv("Advanced_Soybean_Agricultural_Dataset.csv", header=True, inferSchema=True)genotype_yield_df = df_spark.select("Parameters", "Seed Yield per Unit Area (SYUA)").filter(df_spark["Seed Yield per Unit Area (SYUA)"].isNotNull())genotype_yield_df = genotype_yield_df.withColumn("genotype", genotype_yield_df["Parameters"].substr(-1, 1))genotype_stats = genotype_yield_df.groupBy("genotype").agg({"Seed Yield per Unit Area (SYUA)": "avg", "Seed Yield per Unit Area (SYUA)": "count"}).collect()yield_comparison = {}for row in genotype_stats:genotype = row["genotype"]avg_yield = float(row["avg(Seed Yield per Unit Area (SYUA))"])count = int(row["count(Seed Yield per Unit Area (SYUA))"])yield_comparison[genotype] = {"average_yield": round(avg_yield, 2), "sample_count": count}protein_df = df_spark.select("Parameters", "Protein Percentage (PPE)").filter(df_spark["Protein Percentage (PPE)"].isNotNull())protein_df = protein_df.withColumn("genotype", protein_df["Parameters"].substr(-1, 1))protein_stats = protein_df.groupBy("genotype").agg({"Protein Percentage (PPE)": "avg"}).collect()protein_comparison = {}for row in protein_stats:genotype = row["genotype"]avg_protein = float(row["avg(Protein Percentage (PPE))"])protein_comparison[genotype] = round(avg_protein, 2)seed_weight_df = df_spark.select("Parameters", "Weight of 300 Seeds (W3S)").filter(df_spark["Weight of 300 Seeds (W3S)"].isNotNull())seed_weight_df = seed_weight_df.withColumn("genotype", seed_weight_df["Parameters"].substr(-1, 1))weight_stats = seed_weight_df.groupBy("genotype").agg({"Weight of 300 Seeds (W3S)": "avg", "Weight of 300 Seeds (W3S)": "stddev"}).collect()stability_analysis = {}for row in weight_stats:genotype = row["genotype"]avg_weight = float(row["avg(Weight of 300 Seeds (W3S))"])stddev_weight = float(row["stddev_samp(Weight of 300 Seeds (W3S))"] or 0)cv = (stddev_weight / avg_weight * 100) if avg_weight > 0 else 0stability_analysis[genotype] = {"average_weight": round(avg_weight, 2), "coefficient_variation": round(cv, 2)}best_yield_genotype = max(yield_comparison.items(), key=lambda x: x[1]["average_yield"])best_protein_genotype = max(protein_comparison.items(), key=lambda x: x[1])most_stable_genotype = min(stability_analysis.items(), key=lambda x: x[1]["coefficient_variation"])result = {"yield_analysis": yield_comparison, "protein_analysis": protein_comparison, "stability_analysis": stability_analysis, "recommendations": {"best_yield": best_yield_genotype[0], "best_protein": best_protein_genotype[0], "most_stable": most_stable_genotype[0]}}return JsonResponse(result)class EnvironmentalStressAdaptationAnalysis(View):def post(self, request):df_spark = spark.read.csv("Advanced_Soybean_Agricultural_Dataset.csv", header=True, inferSchema=True)stress_levels = ["S1", "S2", "S3"]water_stress_analysis = {}for stress in stress_levels:stress_data = df_spark.filter(df_spark["Parameters"].contains(stress))avg_yield = stress_data.agg({"Seed Yield per Unit Area (SYUA)": "avg"}).collect()[0]["avg(Seed Yield per Unit Area (SYUA))"]count = stress_data.count()water_stress_analysis[stress] = {"average_yield": round(float(avg_yield), 2), "sample_count": count}drought_tolerance_df = df_spark.select("Parameters", "Seed Yield per Unit Area (SYUA)")drought_tolerance_df = drought_tolerance_df.withColumn("genotype", drought_tolerance_df["Parameters"].substr(-1, 1))drought_tolerance_df = drought_tolerance_df.withColumn("water_stress", drought_tolerance_df["Parameters"].substr(3, 2))genotype_drought_performance = {}genotypes = ["1", "2", "3", "4", "5", "6"]for genotype in genotypes:genotype_data = drought_tolerance_df.filter(drought_tolerance_df["genotype"] == genotype)s1_yield = genotype_data.filter(genotype_data["water_stress"] == "S1").agg({"Seed Yield per Unit Area (SYUA)": "avg"}).collect()s3_yield = genotype_data.filter(genotype_data["water_stress"] == "S3").agg({"Seed Yield per Unit Area (SYUA)": "avg"}).collect()if s1_yield and s3_yield and s1_yield[0]["avg(Seed Yield per Unit Area (SYUA))"] and s3_yield[0]["avg(Seed Yield per Unit Area (SYUA))"]:s1_avg = float(s1_yield[0]["avg(Seed Yield per Unit Area (SYUA))"])s3_avg = float(s3_yield[0]["avg(Seed Yield per Unit Area (SYUA))"])drought_tolerance = ((s1_avg - s3_avg) / s1_avg * 100) if s1_avg > 0 else 0genotype_drought_performance[genotype] = {"normal_yield": round(s1_avg, 2), "stress_yield": round(s3_avg, 2), "yield_reduction": round(drought_tolerance, 2)}salicylic_acid_df = df_spark.select("Parameters", "Relative Water Content in Leaves (RWCL)", "Seed Yield per Unit Area (SYUA)")salicylic_acid_df = salicylic_acid_df.withColumn("treatment", salicylic_acid_df["Parameters"].substr(1, 2))c1_data = salicylic_acid_df.filter(salicylic_acid_df["treatment"] == "C1")c2_data = salicylic_acid_df.filter(salicylic_acid_df["treatment"] == "C2")c1_rwcl_avg = c1_data.agg({"Relative Water Content in Leaves (RWCL)": "avg"}).collect()[0]["avg(Relative Water Content in Leaves (RWCL))"]c2_rwcl_avg = c2_data.agg({"Relative Water Content in Leaves (RWCL)": "avg"}).collect()[0]["avg(Relative Water Content in Leaves (RWCL))"]c1_yield_avg = c1_data.agg({"Seed Yield per Unit Area (SYUA)": "avg"}).collect()[0]["avg(Seed Yield per Unit Area (SYUA))"]c2_yield_avg = c2_data.agg({"Seed Yield per Unit Area (SYUA)": "avg"}).collect()[0]["avg(Seed Yield per Unit Area (SYUA))"]salicylic_effect = {"control_group": {"rwcl": round(float(c1_rwcl_avg), 3), "yield": round(float(c1_yield_avg), 2)}, "treatment_group": {"rwcl": round(float(c2_rwcl_avg), 3), "yield": round(float(c2_yield_avg), 2)}, "improvement": {"rwcl_improvement": round((float(c2_rwcl_avg) - float(c1_rwcl_avg)) / float(c1_rwcl_avg) * 100, 2), "yield_improvement": round((float(c2_yield_avg) - float(c1_yield_avg)) / float(c1_yield_avg) * 100, 2)}}most_drought_tolerant = min(genotype_drought_performance.items(), key=lambda x: x[1]["yield_reduction"])result = {"water_stress_impact": water_stress_analysis, "drought_tolerance_ranking": genotype_drought_performance, "salicylic_acid_effects": salicylic_effect, "recommendations": {"most_drought_tolerant": most_drought_tolerant[0], "salicylic_acid_effective": salicylic_effect["improvement"]["yield_improvement"] > 0}}return JsonResponse(result)class YieldTraitCorrelationAnalysis(View):def post(self, request):df_spark = spark.read.csv("Advanced_Soybean_Agricultural_Dataset.csv", header=True, inferSchema=True)correlation_features = ["Plant Height (PH)", "Number of Pods (NP)", "Biological Weight (BW)", "Protein Percentage (PPE)", "Weight of 300 Seeds (W3S)", "ChlorophyllA663", "Chlorophyllb649", "Seed Yield per Unit Area (SYUA)"]clean_df = df_spark.select(*correlation_features).na.drop()assembler = VectorAssembler(inputCols=correlation_features, outputCol="features")vector_df = assembler.transform(clean_df)correlation_matrix = Correlation.corr(vector_df, "features").head()correlation_array = correlation_matrix[0].toArray()correlation_results = {}target_index = correlation_features.index("Seed Yield per Unit Area (SYUA)")for i, feature in enumerate(correlation_features):if i != target_index:correlation_results[feature] = round(float(correlation_array[i][target_index]), 4)height_pods_corr = float(correlation_array[correlation_features.index("Plant Height (PH)")][correlation_features.index("Number of Pods (NP)")])yield_components_df = clean_df.select("Number of Pods (NP)", "Number of Seeds per Pod (NSP)", "Weight of 300 Seeds (W3S)", "Seed Yield per Unit Area (SYUA)")yield_components_stats = {}for component in ["Number of Pods (NP)", "Number of Seeds per Pod (NSP)", "Weight of 300 Seeds (W3S)"]:if component in yield_components_df.columns:avg_val = yield_components_df.agg({component: "avg"}).collect()[0][f"avg({component})"]max_val = yield_components_df.agg({component: "max"}).collect()[0][f"max({component})"]min_val = yield_components_df.agg({component: "min"}).collect()[0][f"min({component})"]yield_components_stats[component] = {"average": round(float(avg_val), 2), "max": round(float(max_val), 2), "min": round(float(min_val), 2)}chlorophyll_protein_corr = float(correlation_array[correlation_features.index("ChlorophyllA663")][correlation_features.index("Protein Percentage (PPE)")])high_impact_traits = {k: v for k, v in correlation_results.items() if abs(v) > 0.3}sorted_traits = sorted(correlation_results.items(), key=lambda x: abs(x[1]), reverse=True)linear_regression_data = clean_df.select("Plant Height (PH)", "Number of Pods (NP)", "Biological Weight (BW)", "Seed Yield per Unit Area (SYUA)")feature_assembler = VectorAssembler(inputCols=["Plant Height (PH)", "Number of Pods (NP)", "Biological Weight (BW)"], outputCol="features")regression_df = feature_assembler.transform(linear_regression_data)lr = LinearRegression(featuresCol="features", labelCol="Seed Yield per Unit Area (SYUA)")lr_model = lr.fit(regression_df)coefficients = lr_model.coefficients.toArray()intercept = lr_model.interceptr_squared = lr_model.summary.r2regression_equation = f"Yield = {round(intercept, 2)} + {round(coefficients[0], 2)} * PH + {round(coefficients[1], 2)} * NP + {round(coefficients[2], 2)} * BW"result = {"yield_correlations": correlation_results, "trait_rankings": dict(sorted_traits[:5]), "height_pods_relationship": round(height_pods_corr, 4), "yield_components": yield_components_stats, "chlorophyll_protein_correlation": round(chlorophyll_protein_corr, 4), "high_impact_traits": high_impact_traits, "regression_model": {"equation": regression_equation, "r_squared": round(r_squared, 4), "coefficients": {"plant_height": round(coefficients[0], 4), "number_of_pods": round(coefficients[1], 4), "biological_weight": round(coefficients[2], 4)}}}return JsonResponse(result)

五、系统视频

  • 基于大数据的高级大豆农业数据分析与可视化系统-项目视频:

大数据毕业设计选题推荐-基于大数据的高级大豆农业数据分析与可视化系统-Hadoop-Spark-数据可视化-BigData

结语

大数据毕业设计选题推荐-基于大数据的高级大豆农业数据分析与可视化系统-Hadoop-Spark-数据可视化-BigData
想看其他类型的计算机毕业设计作品也可以和我说~谢谢大家!
有技术这一块问题大家可以评论区交流或者私我~ 大家可以帮忙点赞、收藏、关注、评论啦~
源码获取:⬇⬇⬇

精彩专栏推荐⬇⬇⬇
Java项目
Python项目
安卓项目
微信小程序项目

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

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

相关文章

学习机器学习能看哪些书籍

关注B站可以观看更多实战教学视频:hallo128的个人空间 在机器学习与深度学习的知识海洋中,选择合适的书籍往往是入门和进阶的关键。以下四本经典著作各具特色,覆盖了从基础理论到实践应用的多个维度,无论你是初学者还是有一定基础…

Unity通过Object学习原型模式

原型模式简述 依据现有的实例生成新的实例 Object的实例化方法 Object.Instantiate 克隆 original 对象并返回克隆对象 Unity中的实例:预制体或场景中的游戏对象 示例 方法1:手动创建对象并添加组件 方法2:使用实例化方法,实…

【踩坑记录】Unity 项目中 PlasticSCM 掩蔽列表引发的 文件缺失问题排查与解决

问题描述: Plastic SCM 签入时,弹窗提示“项xxx在该工作区中不存在” Unity 项目中 PlasticSCM 掩蔽列表引发的 文件缺失问题排查与解决 文章目录Unity 项目中 PlasticSCM 掩蔽列表引发的 文件缺失问题排查与解决一、前言二、Unity 与 .meta 文件机制1. …

Redis实战-附近的人实现的解决方案

1.GEO数据结构1.1实现附近的人的数据结构Redis提供的专用的数据结构来实现附近的人的操作,这也是企业的主流解决方案,建议使用这种解决方案。GEO就是Redis提供的地理坐标计算的一个数据结构,可以很方便的计算出来两个地点的地理坐标&#xff…

HTML第七课:发展史

HTML第七课:发展史发展史快速学习平台发展史 示例 HTML 发展史 前端三件套:html 、css、javascript(Js) HTML 发展史 HTML 1.0(1993 年) 蒂姆伯纳斯 - 李(Tim Berners - Lee)发明了万维网,同…

中国生成式引擎优化(GEO)市场分析:领先企业格局与未来趋势分析

一、GEO市场变革中国生成式引擎优化(Generative Engine Optimization, GEO)市场正经历一场深刻的变革,其核心在于生成式人工智能(Generative AI)对传统搜索引擎和数字营销模式的颠覆性影响。传统搜索引擎以“提供链接”…

好看的背景颜色 uniapp+小程序

<view class"bg-decoration"><view class"circle-1"></view><view class"circle-2"></view><view class"circle-3"></view> </view>/* 背景装饰 */.container{background: linear-gr…

《驾驭云原生复杂性:隐性Bug的全链路防御体系构建》

容器、服务网格、动态配置等抽象层为系统赋予了弹性与效率,但也像深海中的暗礁,将技术风险隐藏在标准化的接口之下。那些困扰开发者的隐性Bug,往往并非源于底层技术的缺陷,而是对抽象层运行逻辑的理解偏差、配置与业务特性的错配,或是多组件交互时的协同失效。它们以“偶发…

vosk语音识别实战

一、简介 Vosk 是一个由 Alpha Cephei 团队开发的开源离线语音识别&#xff08;ASR&#xff09;工具包。它的核心优势在于完全离线运行和轻量级&#xff0c;使其非常适合在资源受限的环境、注重隐私的场景或需要低延迟的应用中使用。 二、核心特点 离线运行 (Offline) 这是…

鸿蒙ABC开发中的名称混淆与反射处理策略:安全与效率的平衡

在当今的软件开发中&#xff0c;代码安全是一个至关重要的议题。随着鸿蒙系统&#xff08;HarmonyOS&#xff09;的广泛应用&#xff0c;开发者们在追求功能实现的同时&#xff0c;也必须考虑如何保护代码不被轻易破解。名称混淆是一种常见的代码保护手段&#xff0c;但当反射机…

css页面顶部底部固定,中间自适应几种方法

以下是实现页面顶部和底部固定、中间内容自适应的几种常见方法&#xff0c;附代码示例和适用场景分析&#xff1a;方法一&#xff1a;Flexbox 弹性布局 <body style"margin:0; min-height:100vh; display:flex; flex-direction:column;"><header style"…

彻底拆解 CSS accent-color:一个属性,省下一堆“重造轮子”的苦工

我有一支技术全面、经验丰富的小型团队&#xff0c;专注高效交付中等规模外包项目&#xff0c;有需要外包项目的可以联系我既要原生控件、又要品牌配色&#xff0c;还不想伪造组件&#xff1f;能不能讲透 accent-color。下面给出一版尽量“到骨头里”的解析&#xff1b;对讨厌从…

在选择iOS代签服务前,你必须了解的三大安全风险

选iOS代签服务&#xff1f;这三个安全坑千万别踩&#xff01;关于iOS代签那些你可能忽略的安全风险。多少次因为测试设备限制、紧急分发或者企业账号年费肉疼&#xff0c;我们不得不考虑第三方代签服务&#xff1f;但这里头的水&#xff0c;比想象中深。风险一&#xff1a;证书…

GitHub 热榜项目 - 日榜(2025-09-04)

GitHub 热榜项目 - 日榜(2025-09-04) 生成于&#xff1a;2025-09-04 统计摘要 共发现热门项目&#xff1a;20 个 榜单类型&#xff1a;日榜 本期热点趋势总结 本期GitHub热榜呈现三大技术热点&#xff1a;AI智能体开发、架构工程化和开发者工具革新。JetBrains Koog、DeepC…

在 vue-vben-admin(v5 版本)中,使用 ECharts 图表(豆包版)

在 vue-vben-admin&#xff08;v5版本&#xff09;中&#xff0c;使用 ECharts 图表的方式已通过框架封装的 vben/plugins/echarts 模块简化&#xff0c;结合官方示例&#xff0c;具体使用步骤如下&#xff1a; 1. 核心组件与工具导入 框架提供了封装后的 EchartsUI 组件&#…

本地 Ai 离线视频去水印字幕!支持字幕、动静态水印去除!

这款功能强大的AI视频处理工具&#xff0c;能够有效地去除视频中的静态水印、动态水印以及字幕。 针对不同类型的水印和字幕&#xff0c;提供了多种去除方式&#xff0c;操作简单&#xff0c;效果显著。 首先【打开视频】&#xff0c;然后在识别模式里面选择识别模式&#xf…

1个工具管好15+网盘(批量转存/分享实测)工具实测:批量转存 + 自动换号 + 资源监控 账号添加失败 / 转存中断?这样解决(含功能详解)

电脑里装了N个网盘客户端&#xff1a;百度网盘存工作文件、阿里云盘放家庭照片、夸克网盘塞学习资料&#xff0c;还有迅雷、天翼云盘散落在各处——每次找文件要在5个软件间反复切换&#xff0c;手动转存10个文件得点几十次鼠标&#xff0c;网盘多了反倒成了“数字负担”。直到…

2025-09-04 CSS2——常见选择器

文章目录1 元素选择器2 id 选择器3 class 选择器4 通用选择器5 子元素选择器6 后代选择器7 相邻兄弟选择器8 后续兄弟选择器9 伪类选择器10 伪元素选择器11 属性选择器11.1 [attribute]11.2 [attribute"value"]11.3 [attribute~"value"]与[attribute*"…

计算机网络:概述层---OSI参考模型

&#x1f310; OSI七层参考模型详解&#xff1a;从物理层到应用层的完整剖析 &#x1f4c5; 更新时间&#xff1a;2025年9月3日 &#x1f3f7;️ 标签&#xff1a;OSI模型 | 网络协议 | 七层模型 | 计算机网络 | 网络架构 | 协议栈 | 王道考研 摘要: 本文将用最通俗易懂的语言&…

JVM相关 2|Java 垃圾回收机制(GC算法、GC收集器如G1、CMS)的必会知识点汇总

目录&#xff1a;&#x1f9e0; 一、GC基础概念1. 什么是垃圾回收&#xff08;Garbage Collection, GC&#xff09;&#xff1f;2. 判断对象是否为垃圾的方法&#x1f9e9; 二、GC核心算法1. 标记-清除算法&#xff08;Mark-Sweep&#xff09;2. 标记-整理算法&#xff08;Mark…