自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

tang7mj的博客

在无序中寻找有序

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

原创 黑马程序猿 - Redis - 实战篇 - 7.Redis消息队列

Redis消息队列是一种基于Redis实现的消息传递机制,能够有效解耦生产者和消费者,提升系统响应速度。Redis提供了多种实现消息队列的方式,包括基于List、PubSub和Stream的方案。基于List的消息队列通过LPUSH、RPOP等命令实现,但存在消息丢失和单消费者限制的缺点。基于PubSub的发布订阅模型支持多生产者与多消费者,但不支持消息持久化,且存在消息丢失的风险。基于Stream的消息队列是Redis 5.0引入的功能完善方案,支持消息回溯、多消费者争抢、阻塞读取和消息确认机制,能够避免

2025-05-10 18:01:07 643

原创 黑马程序猿 - Redis - 实战篇 - 6.秒杀优化

在秒杀优化中,异步秒杀是一种有效的策略,旨在通过减少数据库的直接操作和串行处理来提升系统性能。传统的秒杀流程涉及多个数据库查询和写入操作,这些操作在串行执行时会导致性能瓶颈。异步秒杀的核心思想是将前端请求通过Redis进行快速校验,主线程立即响应,而后续的下单流程则由异步线程处理,如通过阻塞队列或消息队列。这种方法不仅减少了数据库的压力,还提升了系统的吞吐量和用户体验。在实际应用中,大厂如阿里巴巴、字节跳动等,在双11等大促场景中采用了类似“前端快速响应+后台异步创建订单”的设计,通过MQ(如Rocket

2025-05-10 17:25:28 317

原创 黑马程序猿 - 实战篇 - 5.分布式锁-redission

Redission是一个基于Redis的Java驻内存数据网格,提供了多种分布式锁的实现,解决了传统分布式锁的诸多问题。首先,Redission支持可重入锁,防止死锁的发生,允许同一线程多次获取同一把锁。其次,它提供了锁的重试机制,当线程获取锁失败时,可以再次尝试获取锁,增加了系统的健壮性。此外,Redission还引入了超时释放机制,通过设置锁的过期时间,防止因长时间卡顿导致的死锁问题。对于主从一致性问题,Redission通过MutiLock机制,确保锁信息在所有节点上同步写入,提高了锁的可靠性。Red

2025-05-10 16:58:28 309

原创 黑马程序猿 - 实战篇 - 4.分布式锁

分布式锁是用于分布式系统中确保多进程间互斥访问共享资源的一种机制。其核心思想是通过让所有进程使用同一把锁来实现线程的串行执行。分布式锁需满足可见性、互斥性、高可用性、高性能和安全性等条件。常见的实现方式包括MySQL、Redis和Zookeeper,其中Redis因其高性能和易用性而被广泛采用。Redis分布式锁通过setnx方法实现,确保只有一个线程能获取锁,并通过设置超时时间防止死锁。然而,Redis分布式锁存在误删问题,即一个线程可能误删另一个线程的锁。为解决此问题,可以在释放锁时判断锁的持有者是否为

2025-05-10 15:35:57 540

原创 黑马程序猿 - 实战篇 - 3.优惠卷秒杀

在分布式系统中,生成全局唯一ID是处理高并发场景的基础能力。传统数据库自增ID存在单点瓶颈、容量限制和规律性暴露等问题,因此不适合高并发场景。Redis生成全局唯一ID的优势在于其INCR操作是原子性的,能够保证并发下的唯一性,并且结合时间戳和计数器设计,满足全局唯一和递增需求。然而,Redis方案的局限性在于强依赖Redis的可用性和机器时间同步。大厂实践中,通常结合Redis、数据库号段、雪花算法等多种方案,按场景权衡选用。例如,阿里采用Leaf服务生成分布式ID,字节针对不同业务有专门的UID服务,

2025-05-10 12:22:36 598

原创 6.4 责任链模式

责任链模式是一种行为型设计模式,通过将多个处理者串联成一条链,使请求沿链传递,直到某个处理者接手。这种模式解耦了请求发送者和接收者,请求者只需将请求交给链头,无需知道具体处理者。责任链模式适用于有顺序、有层次的处理流程,如审批流、拦截器、日志、权限等。在企业应用中,责任链模式广泛用于审批工作流、内容风控拦截链、API Gateway的拦截链等场景,支持动态调整处理者顺序、插拔式扩展和分布式链路。责任链模式的优点包括降低耦合、灵活扩展、符合单一职责原则,但也存在请求可能未被处理、链过长影响性能、链的配置复杂性

2025-05-10 11:48:39 535

原创 黑马程序猿 - 实战篇 - 2. 商户查询缓存

缓存是数据交换的缓冲区,用于存储从数据库中获取的数据,以减少高并发访问对系统的压力。缓存技术在企业中至关重要,因为它能显著提升数据访问速度,降低服务器负载。常见的缓存类型包括本地缓存、Redis缓存等。实际开发中,企业通常采用多级缓存策略,如浏览器缓存、应用层缓存、数据库缓存和CPU缓存,以进一步提升系统性能。缓存的使用也带来了一些挑战,如缓存穿透、缓存雪崩和缓存击穿等问题。缓存穿透是指请求的数据在缓存和数据库中都不存在,解决方案包括缓存空对象和使用布隆过滤器。缓存雪崩是指大量缓存键同时失效或Redis服务

2025-05-09 22:01:49 524

原创 SpringMVC_day02:5.拦截器

本文详细介绍了SpringMVC中拦截器的概念、工作流程、配置方法及其在企业中的应用。拦截器通过实现HandlerInterceptor接口,提供了在请求处理前后插入自定义逻辑的能力,常用于登录校验、权限控制、日志记录等场景。文章还对比了拦截器与过滤器的区别,指出拦截器更专注于SpringMVC内部的请求处理链,而过滤器则作用于整个Web容器。在实际开发中,拦截器的配置可以通过WebMvcConfigurer或WebMvcConfigurationSupport实现,且多个拦截器会形成责任链,按顺序执行。企

2025-05-09 20:43:31 646

原创 SpringMVC_day02:4.前后台协议联调

本文详细介绍了如何通过前后台协议联调实现一个基于SSM框架的图书管理系统。首先,创建了一个Maven项目,并配置了SSM整合所需的依赖和配置文件。接着,编写了Controller、Service、Dao接口及其实现类,并配置了静态资源的放行。随后,实现了图书的列表查询、新增、修改和删除功能。通过axios发送异步请求,前后台交互数据,并根据后台返回的结果进行相应的处理。新增和修改功能中,处理了成功和失败的不同状态,并确保表单数据的清空。删除功能中,增加了确认提示框,确保用户操作的准确性。最后,提供了一个完整

2025-05-09 17:21:25 535

原创 SpringMVC_day03 - 统一异常处理

/自定义异常处理器,用于封装异常信息,对异常进行分类​​​​​​//自定义异常处理器,用于封装异常信息,对异常进行分类​​​​​​​让自定义异常类继承的好处是,后期在抛出这两个异常的时候,就不用在try...catch...或throws了自定义异常类中添加code属性的原因是为了更好的区分异常是来自哪个业务的假如在BookServiceImpl的getById方法抛异常了,该如何来包装呢?//模拟业务异常,包装成自定义异常。

2025-05-07 19:08:51 621

原创 SpringMVC_day02:2.统一结果封装

SSM整合以及功能模块开发完成后,接下来,我们在上述案例的基础上分析下有哪些问题需要我们去解决下。首先第一个问题是:在Controller层增删改返回给前端的是boolean类型数据在Controller层查询单个返回给前端的是对象在Controller层查询所有返回给前端的是集合对象目前我们就已经有三种数据类型返回给前端,如果随着业务的增长,我们需要返回的数据类型会越来越多。

2025-05-07 15:59:07 906

原创 SpringMVC_day02:1.SSM整合

赢得了全球程序员的广泛赞誉'),(9,'计算机理论','零基础学Java(全彩版)','零基础自学编程的入门图书,由浅入深,详解Java语言的编程思想和核心技术'),(10,'市场营销','直播就这么做:主播高效沟通实战指南','李子柒、李佳奇、薇娅成长为网红的秘密都在书中'),(11,'市场营销','直播销讲实战一本通','和秋叶一起学系列网络营销书籍'),(12,'市场营销','直播带货:淘宝、天猫直播从新手到高手','一本教你如何玩转直播的书,10堂课轻松实现带货月入3W+');

2025-05-07 15:34:33 842

原创 SSM框架 - SpringMVC_day01:5.Rest风格

=REST==(Representational State Transfer),表现形式状态转换,它是一种软件架构==风格==当我们想表示一个网络资源的时候,可以使用两种方式:传统风格资源描述形式id=1查询id为1的用户信息保存用户信息REST风格描述形式传统方式一般是一个请求url对应一种操作,这样做不仅麻烦,也不安全,因为会程序的人读取了你的请求url地址,就大概知道该url实现的是一个什么样的操作。

2025-05-07 11:18:37 949

原创 SSM - Spring_day03 - 6.AOP事务管理

事务作用:在数据层保障一系列的数据库操作同成功同失败Spring事务作用:在数据层或==业务层==保障一系列的数据库操作同成功同失败数据层有事务我们可以理解,为什么业务层也需要处理事务呢?举个简单的例子,转账业务会有两次数据层的调用,一次是加钱一次是减钱把事务放在数据层,加钱和减钱就有两个事务没办法保证加钱和减钱同时成功或者同时失败这个时候就需要将事务放在业务层进行处理。Spring为了管理事务,提供了一个平台事务管理器commit是用来提交事务,rollback是用来回滚事务。

2025-05-07 10:47:44 704

原创 SSM - Spring_day03 - 5.AOP总结

AOP的知识就已经讲解完了,接下来对于AOP的知识进行一个总结:概念:AOP(Aspect Oriented Programming)面向切面编程,一种编程范式作用:在不惊动原始设计的基础上为方法进行功能==增强==核心概念代理(Proxy):SpringAOP的核心本质是采用代理模式实现的连接点(JoinPoint):在SpringAOP中,理解为任意方法的执行切入点(Pointcut):匹配连接点的式子,也是具有共性功能的方法描述通知(Advice):若干个方法的共性功能,在切入点处执行,最终体现为一个

2025-05-06 21:39:03 807

原创 SSM - Spring_day03 - 4.AOP配置管理

我们先来回顾下AOP通知:AOP通知描述了抽取的共性功能,根据共性功能抽取的位置不同,最终运行代码时要将其加入到合理的位置通知具体要添加到切入点的哪里?共提供了5种通知类型:前置通知后置通知==环绕通知(重点)==返回后通知(了解)抛出异常后通知(了解)为了更好的理解这几种通知类型,我们来看一张图(1)前置通知,追加功能到方法执行前,类似于在代码1或者代码2添加内容(2)后置通知,追加功能到方法执行后,不管方法执行的过程中有没有抛出异常都会执行,类似于在代码5添加内容。

2025-05-06 21:20:52 624

原创 SSM - Spring_day03 - 3.AOP工作流程

SpringAOP是在不改变原有设计(代码)的前提下对其进行增强的,它的底层采用的是代理模式实现的,所以要对原始对象进行增强,就需要对原始对象创建代理对象,在代理对象中的方法把通知[如:MyAdvice中的method方法]内容加进去,就实现了增强,这就是我们所说的代理(Proxy)。不能直接打印对象,从上面两次结果中可以看出,直接打印对象走的是对象的toString方法,不管是不是代理对象打印的结果都是一样的,原因是内部对toString方法进行了重写。

2025-05-06 20:02:58 580

原创 SSM - Spring_day03 - 2.AOP入门案例

环境准备的时候,BookDaoImpl已经准备好,不需要做任何修改通知就是将共性功能抽取出来后形成的方法,共性功能指的就是当前系统时间的打印。类名和方法名没有要求,可以任意。BookDaoImpl中有两个方法,分别是save和update,我们要增强的是update方法,该如何定义呢?切入点定义依托一个不具有实际意义的方法进行,即无参数、无返回值、方法体无实际逻辑。execution及后面编写的内容,后面会有章节专门去学习。

2025-05-06 19:44:14 636

原创 Spring_day03 - 1.AOP简介

前面我们在介绍Spring的时候说过,Spring有两个核心的概念,一个是IOC/DI,一个是AOP。前面已经对IOC/DI进行了系统的学习,接下来要学习它的另一个核心内容,就是==AOP==。对于AOP,我们前面提过一句话是:==AOP是在不改原有代码的前提下对其进行增强。==对于下面的内容,我们主要就是围绕着这一句话进行展开学习,主要学习两方面内容AOP核心概念AOP作用AOP(Aspect Oriented Programming)面向切面编程,一种编程范式,指导开发者如何组织程序结构。

2025-05-06 16:59:32 577

原创 Spring_day02 5.注解开发总结&6,Spring整合

前面我们已经完成了XML配置和注解的开发实现,至于两者之间的差异,咱们放在一块去对比回顾下:课程学习到这里,已经对Spring有一个简单的认识了,Spring有一个容器,叫做IoC容器,里面保存bean。在进行企业级开发的时候,其实除了将自己写的类让Spring管理之外,还有一部分重要的工作就是使用第三方的技术。前面已经讲了如何管理第三方bean了,下面结合IoC和DI,整合2个常用技术,进一步加深对Spring的使用理解。在准备环境的过程中,我们也来回顾下Mybatis开发的相关内容:Mybatis是来操

2025-05-06 16:20:57 631

原创 Spring_day02 4.IOC/DI注解开发管理第三方bean

遇到上述问题,我们就需要有一种更加灵活的方式来定义bean,这种方式不能在原始代码上面书写注解,一样能定义bean,这就用到了一个全新的注解==@Bean==。前面定义bean的时候都是在自己开发的类上面写个注解就完成了,但如果是第三方的类,这些类都是在jar包中,我们没有办法在类上面添加注解,这个时候该怎么办?如何来优化下面的代码?中,虽然可以,但是不利于代码阅读和分类管理,所有我们就想能不能按照类别将这些bean配置到不同的配置类中?@Import注解在配置类中只能写一次,下面的方式是==不允许的==

2025-05-06 15:26:04 974

原创 Spring_day02 3.IOC/DI注解开发

在上述环境的基础上,我们来学一学Spring是如何通过注解实现bean的定义开发?

2025-05-06 11:29:02 1034

原创 ​Spring_day02 2.核心容器

前面已经完成bean与依赖注入的相关知识学习,接下来我们主要学习的是IOC容器中的==核心容器==。这里所说的核心容器,大家可以把它简单的理解为,前面虽然已经用到过,但是并没有系统的学习,接下来咱们从以下几个问题入手来学习下容器的相关知识:如何创建容器?创建好容器后,如何从容器中获取bean对象?容器类的层次结构是什么?BeanFactory是什么?在学习和解决上述问题之前,先来准备下案例环境:创建一个Maven项目pom.xml添加Spring的依赖<dependencies> &nbsp

2025-05-06 10:38:50 970

原创 Spring_day02 1.IOC/DI配置管理第三方bean

数据连接池在配置属性的时候,除了可以注入数据库连接四要素外还可以配置很多其他的属性,具体都有哪些属性用到的时候再去查,一般配置基础的四个,其他都有自己的默认值。Druid和C3P0在没有导入mysql驱动包的前提下,一个没报错一个报错,说明Druid在初始化的时候没有去加载驱动,而C3P0刚好相反。方式四:不仅可以加载当前项目还可以加载当前项目所依赖的所有项目的根路径下的properties配置文件。前面所讲的知识点都是基于我们自己写的类,现在如果有需求让我们去管理第三方jar包中的类,该如何管理?

2025-05-06 10:13:36 768

原创 Day15 - 接口 - 3.1 概述

匿名内部类:是内部类的简化写法。他是一个隐含了名字的内部类。开发中,最常用到的内部类就是匿名内部类了。

2025-05-05 21:36:51 624

原创 Day23 - 集合 - 2.Set集合

不可以存储重复元素没有索引,不能使用普通for循环遍历不可以存储重复元素没有索引可以将元素按照规则进行排序TreeSet():根据其元素的自然排序进行排序TreeSet(Comparator comparator) :根据指定的比较器进行排序两种比较方式小结自然排序: 自定义类实现Comparable接口,重写compareTo方法,根据返回值进行排序比较器排序: 创建TreeSet对象的时候传递Comparator的实现类对象,重写compare方法,根据返回值进行排序。

2025-05-05 20:34:27 592

原创 Day22 - 集合 - 2.List集合

List集合的概述有序集合,这里的有序指的是存取顺序用户可以精确控制列表中每个元素的插入位置,用户可以通过整数索引访问元素,并搜索列表中的元素与Set集合不同,列表通常允许重复的元素List集合的特点存取有序可以重复有索引。

2025-05-05 20:16:53 738

原创 Day22 - 集合 - 1.Collection集合

Collection集合概述是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素JDK 不提供此接口的任何直接实现.它提供更具体的子接口(如Set和List)实现创建Collection集合的对象多态的方式具体的实现类ArrayListCollection集合常用方法方法名说明添加元素从集合中移除指定的元素根据条件进行移除清空集合中的元素判断集合中是否存在指定的元素判断集合是否为空int size()集合的长度,也就是集合中元素的个数。

2025-05-05 19:57:09 642

原创 Day24 - 集合 - HashMap底层源码超详细解析

HashMap 的源码看似复杂,其实逻辑是分层渐进的:数组 + 链表(链表冲突)+ 红黑树(优化性能),并结合扩容机制让它成为 Java 中最强大的“键值对”工具之一。

2025-05-05 17:13:48 905

原创 Day26 - 集合 - 3.方法引用

方法引用是 Java 8 提供的一种新特性,它是对 Lambda 表达式的进一步简化。当 Lambda 中仅仅是调用已有的方法时,方法引用允许我们直接使用“类名::方法名”或“对象::方法名”的形式来代替 Lambda,从而让代码更简洁。二者的关系可以这样理解:Lambda 表达式是一种匿名函数,用于实现函数式接口;方法引用则是 Lambda 表达式的“快捷方式”,本质上也是实现函数式接口。// Lambda// 方法引用。

2025-05-05 16:42:05 789

原创 Day26 - 集合 - 2.Stream流

Stream流是Java 8引入的新特性,主要用于对集合、数组等数据源进行高效、简洁、函数式风格的处理。Stream本质上是一个流水线,支持数据的筛选、转换、聚合等操作,它强调“什么做”而不是“怎么做”,即更偏向声明式编程。Stream流的核心优势包括:1️⃣简洁优雅的代码风格:支持链式调用,多个操作可以无缝连接,显著减少了for循环和中间变量的使用,使代码更易读、维护成本更低。2️⃣懒加载机制。

2025-05-05 16:25:09 645

原创 Day36 - Java基础加强 - 1. 注解

自定义注解的本质:只是一个标记,没有功能,必须结合反射来解析。通常在框架底层使用,开发者平时只需要学会使用现成注解。

2025-05-05 15:54:42 790

原创 Day36 - Java基础加强 - 1. 单元测试 Junit

对部分代码进行测试。🧠单元测试是对程序的最小可测试单元(如方法、函数、类)进行验证的过程,主要目的是保证代码的正确性、健壮性。它强调“最小单元”的粒度,一般是一个方法或类。单元测试的最大价值在于,也是TDD(测试驱动开发)的基石。🏢:在服务端项目中,单元测试是 CI/CD 流水线中的“必测项”,未覆盖单元测试的代码无法合并主干。:强调“代码未测试=有缺陷”,每次提交必须附带单元测试,特别是支付、订单等核心模块,单元测试覆盖率要求≥80%。

2025-05-05 15:39:52 952

原创 Day36 - Java基础加强 - 1.xml

万维网联盟(W3C)万维网联盟(W3C)创建于1994年,又称W3C理事会。1994年10月在麻省理工学院计算机科学实验室成立。建立者: Tim Berners-Lee (蒂姆·伯纳斯·李)。是Web技术领域最具权威和影响力的国际中立性技术标准机构。到目前为止,W3C已发布了200多项影响深远的Web技术标准及实施指南,如广为业界采用的超文本标记语言HTML(标准通用标记语言下的一个应用)、可扩展标记语言XML(标准通用标记语言下的一个子集)、

2025-05-05 15:25:38 971

原创 Day36 - Java基础加强 - 1.类加载器

基础加强包含了:反射,动态代理,类加载器,xml,注解,日志,单元测试等知识点其中最难的是反射和动态代理,其他知识点都非常简单由于B站P数限制,xml,注解等知识点,阿玮写了详细文档供大家学习。

2025-05-05 15:07:09 914

原创 Day36 - 1. 日志

跟输出语句一样,可以把程序在运行过程中的详细信息都打印在控制台上。利用log日志还可以把这些详细信息保存到文件和数据库中。🧠日志的本质是程序运行状态的一种“记录手段”。它可以实时输出程序执行的详细信息,便于开发者调试错误、跟踪程序执行过程、定位问题。和简单的不同,日志可以按不同级别分类(比如 info、error)、可以定制输出格式,还支持输出到文件、数据库、远程服务器等多个媒介,从而实现专业化的运维监控。🏢。

2025-05-05 11:57:10 723

原创 Day36 基础加强 - 2. 动态代理

动态代理是指在运行时动态生成代理类和代理对象,实现方法调用的增强或拦截。好处是:无侵入式增强功能可复用性强,只需编写一次。

2025-05-05 11:43:48 552

原创 Day35 Java进阶 - 1. 反射

反射是指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意属性和方法。这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制。利用反射创建的对象可以无视修饰符调用类里面的内容。可以跟配置文件结合起来使用,把要创建的对象信息和方法写在配置文件中:读取到什么类,就创建什么类的对象。读取到什么方法,就调用什么方法。这样当需求变更时,不需要修改代码,只要修改配置文件即可。

2025-05-05 11:22:35 1031

原创 Day33 Java 进阶 - 1. 网络编程入门

指将地理位置不同的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的系统。在网络通信协议下,不同计算机上运行的程序可以进行数据传输的开发方式。

2025-05-05 10:52:09 731

原创 DAY01 - JVM - 垃圾回收机制详解 - 4. 垃圾回收

在这类语言中,没有内置的垃圾回收机制。程序员需要,否则就会造成。内存泄漏是指,如果长时间积累,会导致,甚至程序崩溃。在这段代码中,程序通过死循环不停创建Test类的对象,每次循环结束后对象就已经不再使用了,但没有主动删除它们,最终造成内存泄漏。在这段代码中,程序显式调用delete删除对象,避免了内存泄漏。我们称这种回收过程为。在 C/C++ 中,这属于。

2025-05-05 10:39:06 886

数值计算方法实验报告四

希望能帮到有需要的人,如果有错误请大家多多指正,数值计算方法本身就是一门比较难的课,要不挂比较容易但是要想考高分如果不深入理解其中的原理,除非是多看网课能有几率的高分,多数情况还是很难的除非数学基础很好,而实验报告也会占一定分数,这个资源主要是给你们一个参考,实验报告还是得自己认真做的。

2023-05-14

数值计算方法实验报告3

希望能帮到有需要的人,如果有错误请大家多多指正,数值计算方法本身就是一门比较难的课,要不挂比较容易但是要想考高分如果不深入理解其中的原理,除非是多看网课能有几率的高分,多数情况还是很难的除非数学基础很好,而实验报告也会占一定分数,这个资源主要是给你们一个参考,实验报告还是得自己认真做的。

2023-05-14

数值计算方法实验报告二

希望能帮到有需要的人,如果有错误请大家多多指正,数值计算方法本身就是一门比较难的课,要不挂比较容易但是要想考高分如果不深入理解其中的原理,除非是多看网课能有几率的高分,多数情况还是很难的除非数学基础很好,而实验报告也会占一定分数,这个资源主要是给你们一个参考,实验报告还是得自己认真做的。

2023-05-14

华北水利水电大学数值计算方法实验报告实验一

希望能帮到有需要的人,如果有错误请大家多多指正,数值计算方法本身就是一门比较难的课,要不挂比较容易但是要想考高分如果不深入理解其中的原理,除非是多看网课能有几率的高分,多数情况还是很难的除非数学基础很好,而实验报告也会占一定分数,这个资源主要是给你们一个参考,实验报告还是得自己认真做的。

2023-05-14

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

TA关注的人

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