当前位置: 首页 > news >正文

[Java]项目入门

    这篇简单介绍一些入门的有关项目和行业的知识,并带着实现一个小项目。便于已经编程入门的各位准备进阶到下一个阶段。

    先大致地介绍,一个完整的项目(不看客户端、服务端的分类)基本可以划分为三部分:

1.前端。比如你现在看到的CSDN页面就是一个前端页面。前端的作用是负责与用户交互,即将项目的数据以人性化的形式展示给用户,并收集用户的各种操作信息和输入信息,返回给后端进行相应的事件流程。

2.后端。初学编程时你写的"print("Hello World")",那个就是后端部分,不过这个还不够准确。比如"int a = 0;b = a - 1;"这种有事件流程的,就是一个项目的后端部分。后端的作用是根据编程好的程序处理与其对应的数据和请求。

3.数据库。数据库就是字面意思,它存储数据的仓库。学习阶段哪怕是毕业设计,项目的工程量可能全用内存也足够,但正式的项目中,数据量会非常非常大,就像你现在浏览的CSDN,如此多篇文章,大量的文字和图片信息,显然内存是不可完成这些存储的。而且也不可能用内存,因为现在的内存就是设计给运行时使用的,不适合存储(感兴趣可以查询cpu和内存空间硬件层运行逻辑的资料)。

简介

前端

    前端常见的有web页面。常见的分包有 css、js、image、video、WEB_INF等等。

    css的专门存储css样式文件的包、js则是存储JavaScript脚本文件的包、image和video则是存储图片和视频,而WEB-INF则是存储不可直接访问的前端资源,有页面资源和配置信息(比如web.xml)。

    下面是一个示例:

    

    当然,这个不太规范,通常情况下css等资源会放在WEB_INF或用其他方式,避免被用户直接访问 。放在WEB-INF下的资源,用户只能通过页面引入或请求转发等方式来访问。

 后端

    后端常见的有使用Java、C++进行编写。

    Java面向对象,是以C、C++为基础的语言,主要是用来写业务的。而C、C++则是面向过程,不像java那样,底层上没那么多弯弯绕绕。

    同样的一个事件,C++处理完通常比Java快30%。所以Java一般用于各种项目中编写业务,而C++则是用于各种电子机器设备(比如洗衣机)的硬件编程,包括各种大型游戏,都是用C写的。

    这里稍微提一嘴python,我的一名从业人员的导师(导师只是我对他的敬称)的说法是,python主要还是担任一种"插件"一样的角色,在爬虫、人工智能这些领域上很合适,但是总体的还是干不过Java和C++,如果是想进入这个行业,那么不要先学python。之所以提是因为我个人最近看到许多python培训课程,口号是学了...就...这种,怕有同志走了弯路。当然只是兴趣或者其他的,便不用担心了,注意法律就好。

    然后介绍一下java后端的常见分包。java后端常见的分包有service、dao、util、config、entity、constant、exception。

service:存放各种业务代码,通常为service根据业务的种类划分,每个种类的业务开一个接口分装,然后在service下再开一个impl包,实现每个接口的方法。

dao:存放访问数据库的代码,Java用的连接数据库的技术是JDBC,获取连接的工具类不放在dao包而是放在util包下。与service包一样,包下会根据操作数据的相关内容分类成一个个接口,然后在dao包下再开一个impl包实现这些接口。

config:存放后端要使用的各种配置文件。比如.xml文件。

constant:存放各种常量、变量的包。这些一般是运行时才加载到内存中。

util:存放各种工具类的包。比如刚刚讲到的JDBC获取连接的工具类,另外像jdk里面的Math类,这些就是工具类,用于完成某种功能。

entity:存放各种实体类。这些类一般用来进行数据的封装,比如学生类、用户类,封装姓名、id、性别这些信息,来进行数据的传递(只在后端中使用,前端无法直接解析这些开发人员自定义的实体类)。

controller:与前端连接的包,通常存放各种servlet等请求响应类。在Tomcat服务器搭建的项目中又常命名为servlet包。

数据库 

    学习阶段基本上就是使用MySQL了。常见的数据库还有很多,功能最为强大的现在是Oracle数据库,当然,它是收费的,而且很贵(进入行业后正式的商业工程是肯定不能用破解版的,这属于侵权行为,也能查到的,当然这种侵权你不商用,也不会找你麻烦)。

    还有很多:DB2、SQL Server、Sybase等等。

前端连接后端

    前端连接后端常见的技术有AJAX、WebSocket等等。当然,这些是进阶一点的,Tomcat服务器提供的基础技术为Servlet。AJAX就是在servlet基础上异步交互的技术。使用详情可以看我的Servlet使用文章。

后端连接数据库

    后端连接数据库,Java用的技术为JDBC。不管是哪个语言,一般该语言的开发公司会提供一个统一的数据库对接该编程语言的标准,由每个数据库的开发公司根据这个标准提供自己的数据库驱动。这篇文章我使用Java和JDBC,详情可以看我的文章JDBC使用。

项目入门

    这里我们一步一步写一个简单的登录功能。

    首先我们先编辑前端页面资源

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title><link href="">
</head>
<body><div><a href="WEB-INF/jsp/login.jsp"><h1>点我进行登录</h1></a></div>
</body>
</html>

    大家可以先试一试,然后就会发现,访问不了login.jsp,报404错误。 这是因为Tomcat是不允许用户通过URL直接访问WEB-INF下的任何资源的。我们想要访问,只能通过servlet转发或页面包含的形式来进行访问。这里我们使用请求转发,为了美观,我们使用Post请求。

    为了易于理解,我这里改为使用form表单。其中action设置Servlet的URL,method设置请求方式。给表单添加一个按钮,将属性设置为submit,用于发出请求。

修改后的jsp页面:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title><link href="">
</head>
<body><div><form action="/toLogin" method="post"><button type="submit"><h1>点我进行登录</h1></button></form></div>
</body>

    到了servlet这里,我们就可以直接使用路径来访问WEB-INF下的login.jsp了。 

对应的Servlet文件:

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@WebServlet("/toLogin")
public class toLoginServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doPost(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.getRequestDispatcher("/WEB-INF/jsp/login.jsp").forward(req, resp);}
}

这个时候我们就可以成功打开login页面了。 

    前面提到过了,Servlet就已经是Java代码了,可以访问Java代码资源并与之互动。

    转到登录页面之后,前端连后端的流程基本一致。我们直接从发出请求到Servlet后开始讲。

先给出项目完整的结构图:

   完整的登录事件流程:

    在LoginServlet处,我们访问service下的LoginImpl,调用其中的boolean login(String username,String password)方法。

    然后LoginImpl调用dao包,传入参数username,查询数据库中的数据。

    在dao包的LoginDaoImpl中调用相关方法访问数据库,如果存在用户名为username的用户,将该用户的信息打包返回LoginImpl。

    LoginImpl进行业务判断,如果密码正确,则返回true给servlet,如果密码错误或者用户不存在,都返回false。

    

    这是一个完整的登录流程。补充两点:

1.其中dao包中的SQL语句应该存放在/src/constant包里面,这里我写的时候忘记了,直接写在了dao包里面,这样的编程并不规范。

2. 对比用户信息,也就是判断密码是否正确,应当由service包来完成,dao包只用专注于自己的访问数据库就好。可能会有伙伴绝对多余,是因为这里只有一个登录的判断。实际中会访问的用户数据不止这一点,甚至用户的账户信息(账号、密码等)和个人信息(出生日期、姓名性别等)会专门分成两个表进行存储。

    本文原意便是希望帮助后来的伙伴了解编程规范,所以进行了两点补充,当然本文也只做一个简单参考。往后的开发中会逐渐使用各种框架,由开源的,也有公司自己私有的,业务需求有时候分包也会有很多不同,但大体上都会遵循前端、后端、Dao包 三大块。

示例项目的完整文件下载回文章开头处。

相关文章:

[Java]项目入门

这篇简单介绍一些入门的有关项目和行业的知识&#xff0c;并带着实现一个小项目。便于已经编程入门的各位准备进阶到下一个阶段。 先大致地介绍&#xff0c;一个完整的项目(不看客户端、服务端的分类)基本可以划分为三部分&#xff1a; 1.前端。比如你现在看到的CSDN页面就是一…...

自定义指令,全局,局部,注册

让输入框自动获取焦点(每次刷新自动获取焦点&#xff09; <template><div><h3>自定义指令</h3><input ref"inp" type"text"></div> </template><script> export default {mounted(){this.$refs.inp.focus…...

存储类内存,非易失性内存)的升级换代,将有利于促进【PCIe交换芯片】市场的发展

摘要 根据 HengCe&#xff08;恒策咨询&#xff09;的统计及预测&#xff0c;2023年全球PCIe交换芯片市场销售额达到了10.05亿美元&#xff0c;预计2030年将达到23.81亿美元&#xff0c;年复合增长率&#xff08;CAGR&#xff09;为12.5%&#xff08;2024-2030&#xff09;。地…...

泷羽sec-burp(7)

免责声明 学习视频来自 B 站up主泷羽sec&#xff0c;如涉及侵权马上删除文章。 笔记的只是方便各位师傅学习知识&#xff0c;以下代码、网站只涉及学习内容&#xff0c;其他的都与本人无关&#xff0c;切莫逾越法律红线&#xff0c;否则后果自负。 泷羽sec官网&#xff1a;http…...

OpenCV图像处理——二值化原理与代码实现(C++/Python)

概述 在 OpenCV 中&#xff0c;二值化&#xff08;Binarization&#xff09;是一种图像处理操作&#xff0c;它的目的是将一幅灰度图像转换为仅包含两种像素值&#xff08;通常为 0 和 255&#xff0c;分别代表黑色和白色&#xff09;的二值图像。通过设定一个合适的阈值&…...

Scala 高阶模式案例解析:从入门到实战

引言 Scala 作为一种功能强大的多范式编程语言&#xff0c;因其函数式编程特性而广受欢迎。其中&#xff0c;高阶模式&#xff08;High-Order Patterns&#xff09;是 Scala 函数式编程的核心概念之一&#xff0c;为开发者提供了解决复杂问题的优雅方式。本篇文章将全面解析 S…...

30天学会Go--第8天 GO语言 Gin Web框架学习与实践

30天学会Go–第8天 GO语言 Gin Web框架学习与实践 文章目录 30天学会Go--第8天 GO语言 Gin Web框架学习与实践前言一、Gin 的简介与安装1.1 Gin 的特点1.2 安装 Gin 二、Gin 的基础用法2.1 路由2.1.1 基本路由2.1.2 路由参数2.1.3 查询参数2.1.4 路由分组 2.2 中间件2.2.1 使用…...

用R(语言)学R-Learning R,In R

一、安装swirl包 在R语言控制面板&#xff0c;对话框输入以下命令&#xff1a; swirl 是一个非常有用的 R 包&#xff0c;它允许你通过交互式教程来学习 R 语言。以下是使用 swirl 包的基本步骤&#xff1a; 安装 swirl 包&#xff1a;首先&#xff0c;你需要在 R 中安装 swi…...

【银河麒麟操作系统运维】某平台多台虚拟机异常重启分析及处理

了解更多银河麒麟操作系统全新产品&#xff0c;请点击访问 麒麟软件产品专区&#xff1a;https://product.kylinos.cn 开发者专区&#xff1a;https://developer.kylinos.cn 文档中心&#xff1a;https://documentkylinos.cn 现象描述 某虚拟化平台多台虚拟机于凌晨触发异常…...

线性代数中的谱分解

一、谱分解的基本原理 谱分解&#xff08;Spectral Decomposition&#xff09;是线性代数中的一个重要概念&#xff0c;特别是在研究矩阵的特征值和特征向量时。它指的是将一个矩阵分解为其特征值和特征向量的组合&#xff0c;从而简化矩阵的运算和分析。谱分解通常适用于对称…...

synchronized(juc)

目录 线程一&#xff1a;interrupt设计模式两阶段终止模式interrupt打断park线程 二:守护线程三:线程状态五个状态(从操作系统角度来说)六种状态(从java API的角度) 共享模型之管程一&#xff1a;上下文切换的安全问题临界区和竟态条件 二&#xff1a;synchronized解决安全问题…...

HTML Input 文件上传功能全解析:从基础到优化

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…...

深入理解Spring事务

目录 什么是Spring事务为什么需要Spring事务Spring事务的实现 Spring事务的传播机制Spring事务的底层原理 EnableTransactionManagement --开启Spring管理事务Import(TransactionManagementConfigurationSelector.class) --提供两个beanAutoProxyRegistrar --启用AOP的功能&am…...

React学习笔记2-初识React

这篇七个点&#xff1a;1 环境搭建&#xff0c; 2 JSX&#xff0c; 3 组件&#xff0c;4 数据流&#xff0c;5 生命周期&#xff0c;6 React与DOM&#xff0c;7 实例 1 环境搭建 1.1 引用React CDN <!DOCTYPE html> <html lang"en"> <head><met…...

【5G】Spectrum 频谱

频谱是移动运营商的关键资产&#xff0c;可用的频谱是定义移动网络容量和覆盖范围的重要因素。本章讨论了5G的不同频谱选项、它们的特性以及5G早期部署阶段的预期频谱。5G是首个旨在利用大约400 MHz到90 GHz之间所有频段的移动无线系统。5G还设计用于在许可、共享和非许可频谱带…...

解决流网络中不存在s~u~t路径的节点的最大流问题

解决流网络中不存在s~u~t路径的节点的最大流问题 问题分析伪代码C代码示例解释在流网络问题中,我们通常会假设对于所有的节点v ∈ V,都存在一条从源点s到汇点t经过v的路径。然而,当这一假设不成立时,即存在某些节点u,使得不存在路径sut,我们需要证明在这种情况下,网络中…...

springboot的 nacos 配置获取不到导致启动失败及日志不输出问题

前言 问题 1. 本地启动应用时&#xff0c;一切正常&#xff0c;但是部署 docker 后&#xff0c;会因为获取不到 nacos 中的配置导致服务启动失败。 2.当 docker 中的服务一直重启&#xff0c;可能会突然某一次启动成功&#xff0c;之后只要不重新构建 docker 镜像&am…...

word poi-tl 图表功能增强,插入图表折线图、柱状图、饼状图

目录 问题解决问题poi-tl介绍 功能实现引入依赖功能介绍 功能实例饼图模版代码效果图 雷达图&#xff08;模版同饼图&#xff09;代码效果图 柱状图&#xff08;模版同饼图&#xff09;代码效果图 附加CustomCharts 工具类CustomChartSingleSeriesRenderData 数据对象CustomCha…...

SpringBoot 项目如何集成 JWT

SpringBoot 项目如何集成 JWT JWT JSON Web Token (JWT) 是一个开放标准(RFC 7519)&#xff0c;它定义了一种紧凑的、自包含的方式&#xff0c;用于作为 JSON 对象在各方之间安全地传输信息。 在 Oauth2 中&#xff0c;其实就是返回访问令牌 &#xff08;access_token&#…...

如何查看电脑刷新率

Windows 系统 通过显示设置查看&#xff1a; 右键点击桌面空白处&#xff0c;选择 “显示设置”。在打开的窗口中&#xff0c;找到 “高级显示设置”。点击 “显示适配器属性”。在弹出的窗口中&#xff0c;选择 “监视器” 选项卡&#xff0c;即可看到当前的屏幕刷新率。使用 …...

MVC基础——市场管理系统(一)

文章目录 项目地址一、创建项目结构1.1 创建程序以及Controller1.2 创建View1.3 创建Models层,并且在Edit页面显示1.4 创建Layou模板页面1.5 创建静态文件css中间件二、Categories的CRUD2.1 使用静态仓库存储数据2.2 将Categorie的列表显示在页面中(List)2.3 创建_ViewImport.…...

面向对象中多态的含义

多态性的定义 多态&#xff08;Polymorphism&#xff09;是面向对象编程中的一个重要概念。它是指同一个函数名或操作符在不同的对象或情境下具有不同的行为。简单来说&#xff0c;就是 “多种形态”。例如&#xff0c;在一个图形处理程序中&#xff0c;有 “计算面积” 这个操…...

L2G3000-LMDeploy 量化部署实践

文章目录 LMDeploy 量化部署实践闯关任务环境配置W4A16 量化 KV cacheKV cache 量化Function call LMDeploy 量化部署实践闯关任务 环境配置 conda create -n lmdeploy python3.10 -y conda activate lmdeploy conda install pytorch2.1.2 torchvision0.16.2 torchaudio2.1.…...

ubuntu下的chattts 学习5:Example: self introduction

代码 import ChatTTS import torch import torchaudiochat ChatTTS.Chat() chat.load(compileFalse) # Set to True for better performance ################################### inputs_en """ chat T T S is a text to speech model designed for dialogu…...

IDEA的service窗口中启动类是灰色且容易消失

大家在学习Spring Cloud的过程中,随着项目的深入,会分出很多个微服务,当我们的服务数量大于等于三个的时候,IDEA会给我们的服务整理起来,类似于这样 但是当我们的微服务数量达到5个以上的时候,再启动服务的时候,服务的启动类就会变成灰色,而且还容易丢失 解决方法 我们按住…...

vue中pdf.js的使用,包括pdf显示,跳转指定页面,高亮关键词

目录 一、下载pdf.js 二、引入到本地的项目中 三、实现预览pdf 四、跳转到指定页面 五、利用pdf里面的find查找关键词 六、修改页面大小为实际大小 一、下载pdf.js https://github.com/mozilla/pdf.js 里面有很多的版本&#xff0c; 高版本的可能浏览器不兼容或者还要考…...

Cherno C++学习笔记 P32 字符串

这篇文章我们来讲字符串。字符串可以说是最重要的变量类型了&#xff0c;因为对字符串的读写极大地影响到我们的程序和用户之间的交互。甚至很多很庞大的程序就只是在处理字符串。 对于字符串&#xff0c;我们同时需要有关于数组和指针的关系&#xff0c;字符串的实现与数组是…...

【C++初阶】第7课—标准模版库STL(string_1)

文章目录 1. 什么是STL2. STL六大组件3. 标准库中string类3.1 auto关键字3.2 范围for3.3 string类的类型3.4 string类的常用接口(string类对象的常见构造)3.5 string的析构和赋值运算符重载3.6 string类对象的容量操作 1. 什么是STL STL(standard template library—标准模板库…...

GESP202306 一级【时间规划】题解(AC)

》》》点我查看「视频」详解》》》 AC_Code #include <bits/stdc.h> using namespace std;int main() {int h1, m1, h2, m2;cin >> h1 >> m1;cin >> h2 >> m2;h1 h1 * 60 m1;h2 h2 * 60 m2;cout << h2 - h1;return 0; }》》》点我查…...

React基础知识四 Hooks

什么是hooks&#xff1f; (coderwhy) hooks是react 16.8&#xff08;2019年&#xff09;出的新特性。 react有两种形式来创建组件——类式和函数式。在hooks之前类式组件就是react最主流的编程方式。 这个时候&#xff0c;函数式组件是非常鸡肋的&#xff0c;几乎没什么用。因…...

Linux服务器通用安全加固指南

1、保护引导过程&#xff08;以Grub引导为例&#xff09; 在 /etc/inittab 中添加 sp:S:respawn:/sbin/sulogin&#xff0c;以确保当切换到单用户模式时 运行级的配置要求输入 root 密码&#xff1a; cp /etc/inittab / etc/initab .bak vim /etc/inittab 退出&#xff1a;es…...

vsphere vcenter web 界面的介绍

这是主页的页面...

分类算法中的样本不平衡问题及其解决方案

一、样本不平衡问题概述 在机器学习的分类任务中&#xff0c;样本不平衡是指不同类别训练样本数量存在显著差异的现象。这一差异会给模型训练和性能评估带来挑战&#xff0c;尤其在处理少数类样本时&#xff0c;模型可能难以有效学习其特征。 以二分类为例&#xff0c;理想情况…...

[LitCTF 2023]破损的图片(初级)

[LitCTF 2023]破损的图片(初级) 我们下载附件得到一个没有后缀的文件&#xff0c;拖去010看一看&#xff0c;发现本来应该是文件头的那部分不大对劲&#xff0c;结合后面四个点以及IHDR&#xff0c;大致也应该知道是啥了 修改第一行为png 89 50 4E 47 0D 0A 1A 0A 00 00 00 …...

最新道客巴巴怎么免费下载文档方法

一、利用浏览器插件 插件自动识别下载&#xff1a;对于经常需要下载道客巴巴文档的人来说&#xff0c;安装浏览器插件是不错的选择。如Chrome浏览器上的一些插件&#xff08;如PDF在线转换器等&#xff09;&#xff0c;安装后&#xff0c;在浏览器中打开道客巴巴文档&#xff…...

Bert的Transformer原理

多义词如何应对&#xff1a; 答&#xff1a;通过Self attention&#xff0c;不同的上下文&#xff0c;对同一个"苹果"&#xff0c;得到截然不同的embedding激活值&#xff1b; Multi-head的作用&#xff1a; 有些类似CNN里用的多个卷积核得到多个Channel的特征图&…...

多人聊天室 NIO模型实现

NIO编程模型 Selector监听客户端不同的zhuangtai不同客户端触发不同的状态后&#xff0c;交由相应的handles处理Selector和对应的处理handles都是在同一线程上实现的 I/O多路复用 在Java中&#xff0c;I/O多路复用是一种技术&#xff0c;它允许单个线程处理多个输入/输出&…...

vue.js学习(day 20)

综合案例&#xff1a;购物车 数据渲染 构建cart购物车模块 准备后端接口服务环境 请求数据存入vuex cart.js // 新建购物车模块 import axios from axios export default {namespaced: true,state () {return {// 购物车数据 [{},{}]list: []}},mutations: {updateList (…...

蓝桥杯二分题

P1083 [NOIP2012 提高组] 借教室 题目描述 在大学期间&#xff0c;经常需要租借教室。大到院系举办活动&#xff0c;小到学习小组自习讨论&#xff0c;都需要向学校申请借教室。教室的大小功能不同&#xff0c;借教室人的身份不同&#xff0c;借教室的手续也不一样。 面对海量租…...

通过 CC-Link IEFB 转 Modbus RTU 网关达成三菱 FX5U PLC 与 RS485 温湿度传感器通信的配置实例展示

一. 案例背景 在某一化工厂现场&#xff0c;现场的设备是三菱FX5UPLC为了避免因为工作环境存在潮湿度较高性、较高温度等对员工造成不健康或危险的现象&#xff0c;现决定在现场装数多台温湿度传感器。通过捷米特JM-CCLKIE-RTU网关将三菱PLC及温湿度传感器连接起来并连接上位机…...

视频质量评价算法 DOVER 使用教程

DOVER 介绍 DOVER是为ICCV2023会议论文“Exploring Video Quality Assessment on User Generated Contents from Aesthetic and Technical Perspectives”提供的官方代码、演示和权重的项目。DOVER(Disentangled Objective Video Quality Evaluator)是一个用于评估用户生成内…...

视频编辑技术:一键生成混剪视频的AI技术应用

随着视频内容的爆炸式增长&#xff0c;视频编辑技术也在不断进步。本文将探讨如何利用AI技术&#xff0c;实现一键生成混剪视频&#xff0c;并自动添加配音和字幕&#xff0c;以提高视频编辑的效率和质量。 AI技术在视频编辑中的应用 AI技术在视频编辑领域的应用越来越广泛&am…...

精确的单向延迟测量:使用普通硬件和软件

论文标题&#xff1a;Precise One-way Delay Measurement with Common Hardware and Software&#xff08;精确的单向延迟测量&#xff1a;使用普通硬件和软件&#xff09; 作者信息&#xff1a;Maciej Muehleisen 和 Mazen Abdel Latif&#xff0c;来自Ericsson Research Eri…...

【博士每天一篇文献-COIL算法】Co-transport for class-incremental learning

1 介绍 年份&#xff1a;2021 会议&#xff1a;2021ACM Zhou D W, Ye H J, Zhan D C. Co-transport for class-incremental learning[C]//Proceedings of the 29th ACM International Conference on Multimedia. 2021: 1645-1654. 本文提出的算法是CO-transport for clas…...

AI与BI的火花:大语言模型如何重塑商业智能的未来

大家好&#xff0c;我是独孤风。 在当今这个数据驱动的时代&#xff0c;企业对于信息的需求如同对于氧气的需求一般至关重要。商业智能&#xff08;BI&#xff09;作为企业获取、分析和呈现数据的关键工具&#xff0c;正在经历一场深刻的变革&#xff0c;而这一变革的催化剂正是…...

C++设计模式(建造者、中介者、备忘录)

一、建造者模式 将一个复杂对象的构建与它的表示分离&#xff0c;使得同样的构建过程可以创建不同的表示。 示例&#xff1a; //房子&#xff08;产品类&#xff09; class House { private:int rooms;int windows;string decoration; public:void setRooms(int r) {rooms …...

【数据结构】遍历二叉树

遍历二叉树的算法描述&#xff08;递归定义&#xff09; 先序遍历 若二叉树为空&#xff0c;则空操作&#xff1b; 否则 &#xff08;1&#xff09;访问根节点 &#xff08;2&#xff09;先序遍历左子树 &#xff08;3&#xff09;先序遍历右子树 中序遍历 若二叉树为空…...

鸿蒙获取 APP 信息及手机信息

前言&#xff1a;获取 APP 版本信息可以通过 bundleManager.getBundleInfoForSelfSync(bundleFlags) 去获取&#xff0c;获取手机信息可以通过 kit.BasicServicesKit 库去获取&#xff0c;以下是封装好的工具类。 import bundleManager from ohos.bundle.bundleManager; impo…...

OpenWRT下深入了解IPv6——SLAAC

一、SLAAC&#xff08;无状态地址自动配置&#xff09; 1.基本原理 SLAAC 是 IPv6 中的一种地址自动配置机制&#xff0c;它允许设备根据网络中的路由器通告信息和自身的 MAC 地址自动生成 IPv6 地址。在 IPv6 网络中&#xff0c;MAC 地址长度为 48 位&#xff0c;而 IPv6 地…...

UE5水文章 UI按钮样式快捷复制黏贴

shift右键拷贝 shift右键黏贴...