初学者在github中能找到哪些java项目可以用来练手

时间: 2023-03-05 07:23:06 浏览: 75
初学者在 GitHub 上可以找到很多 Java 项目来练手,以下是一些推荐: 1. Java 算法和数据结构:这个项目包含了许多经典的算法和数据结构的 Java 实现,是学习 Java 的一个好的起点。 2. Java 编程实战:这个项目包含了许多 Java 编程的实践项目,从简单的命令行工具到复杂的 Web 应用程序都有。 3. Java 设计模式:这个项目包含了许多常用的设计模式的 Java 实现,是学习如何编写优秀的 Java 代码的一个好的方式。 4. JavaFX 实战:这个项目是一个基于 JavaFX 的图形化应用程序,可以帮助初学者学习 JavaFX 编程和 UI 设计。 5. Spring Boot 实战:这个项目是一个基于 Spring Boot 的 Web 应用程序,可以帮助初学者学习 Spring Boot 和 Web 开发。 以上这些项目都是开源的,可以直接在 GitHub 上查找并克隆到本地进行学习和练习。当然,初学者也可以在 GitHub 上搜索其他的 Java 项目来练手,但要注意选择适合自己水平和学习目标的项目。
相关问题

GitHub练手项目

有很多适合练手的项目可以在GitHub上找到。以下是一些常见的练手项目建议: 1. To-Do List 应用:创建一个简单的待办事项列表,包括添加、删除和标记已完成的功能。 2. 社交媒体应用:构建一个简单的社交媒体平台,可以发布帖子、关注其他用户和评论。 3. 博客系统:开发一个简单的博客平台,包括用户注册、登录、发表文章和评论等功能。 4. 在线商城:创建一个基本的电子商务网站,包括商品列表、购物车和结算功能。 5. 天气应用:使用天气API获取实时天气数据,并展示给用户。 6. 聊天应用:构建一个实时聊天应用,可以与其他用户进行实时的文字或音频通信。 以上只是一些示例,你可以根据个人兴趣和技能选择合适的项目进行练手。在GitHub上搜索相关关键词,你可以找到很多开源项目并从中学习和贡献。

github上的练手项目

GitHub上有很多适合练手的项目,这些项目可以帮助你提升编程技能并学习新的概念。以下是一些适合练手的GitHub项目: 1. Todo List:一个简单的待办事项列表应用程序,可以帮助你学习Web开发和前端技术。 项目链接:https://github.com/typicode/husky 2. Blogging Platform:一个简单的博客平台,可以帮助你学习Web开发、后端技术和数据库。 项目链接:https://github.com/edwardhinkle/blogengine 3. Weather App:一个天气应用程序,可以帮助你学习API调用、数据解析和用户界面设计。 项目链接:https://github.com/gautamkrishnar/weather-app 4. Chat Application:一个实时聊天应用程序,可以帮助你学习网络编程和Socket通信。 项目链接:https://github.com/rishabh115/Chat-Application 5. Game of Life:康威生命游戏的实现,可以帮助你学习算法和模拟。 项目链接:https://github.com/ChrisKempson/Game-of-Life 这些项目只是一些例子,你可以根据自己的兴趣和技能选择适合的练手项目。同时,你也可以在GitHub上搜索特定的编程语言或技术来寻找更多适合练手的项目。

相关推荐

GitHub Spring Cloud Alibaba 是一个用于构建微服务架构的开发平台,它基于Spring Cloud和阿里巴巴的一系列开源项目。这个练手项目可以帮助开发者熟悉Spring Cloud Alibaba的各个组件和特性,并在实际的开发过程中应用它们。 首先,GitHub Spring Cloud Alibaba提供了一套强大的分布式系统解决方案。通过使用Nacos作为注册中心和配置中心,可以轻松地实现服务的注册与发现,以及配置的统一管理。同时,它还集成了Sentinel作为流量控制和服务降级的工具,可以帮助我们更好地保护和稳定我们的微服务应用。 其次,GitHub Spring Cloud Alibaba还提供了一些优秀的开箱即用的组件。比如,它集成了RocketMQ作为消息中间件,可以实现高可靠、高性能的异步消息传递。此外,它还支持Dubbo作为服务治理框架,能够实现服务的远程调用和负载均衡等功能。这些组件的集成为我们构建复杂的微服务系统提供了便利,同时也避免了我们自行集成的复杂性和困难。 使用GitHub Spring Cloud Alibaba构建练手项目,我们可以学习和掌握微服务架构和Spring Cloud Alibaba的核心概念和技术。我们可以通过实践中遇到的问题来加深对这些技术的理解和掌握,并通过查看源代码和参考文档来进一步学习。最终,我们可以通过自己动手去构建一个完整的微服务系统,从而提高我们在实际工作中的能力和竞争力。 综上所述,GitHub Spring Cloud Alibaba是一个非常适合用来练手项目的开发平台。它不仅为我们提供了丰富的组件和工具,还提供了强大的功能和灵活的架构,能够帮助我们更好地理解和应用微服务架构和Spring Cloud Alibaba。通过这个练手项目,我们可以提高自己的技术水平,扩展我们的知识面,并为以后的实际项目奠定坚实的基础。
关于github上的vue3 ts练手项目,我了解到有一个使用了node、koa、ts和mongodb搭建了接口服务的todoList项目。项目中使用了vue3全家桶和vant组件库,并且结合了ElementPlus组件库进行项目实战。学习这个项目,你将会学到vue3的项目实战使用、setup等新增语法的使用,以及对vue3的支持和ElementPlus的使用。同时还包括了工程化管理项目的书写规范、提交风格等方面的内容。此外,还有如何封装vuex中的mapgetters,封装网络请求,以及如何正确地根据项目结构化来划分ts项目的综合使用等内容。你可以在github上下载这个项目并在本地运行。123 #### 引用[.reference_title] - *1* *3* [vue3+ts+ElementPlus 实战项目 musicPlus](https://blog.csdn.net/kzj0916/article/details/123161883)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [简单易上手的vue3.0+ts实战小项目!!附带后台接口](https://blog.csdn.net/qq_44812835/article/details/113195479)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
### 回答1: GitHub是一个非常流行的代码托管平台,许多Java项目都使用GitHub来管理和分享代码。使用GitHub可以方便地进行团队协作、版本控制和代码管理。以下是关于GitHub Java项目的一些重要信息和特点: 1. 仓库管理:GitHub提供了仓库管理功能,可以创建和管理Java项目的代码仓库。每个仓库都有一个唯一的URL,可以通过该URL来访问代码。 2. 代码共享:GitHub允许开发者将代码共享到公共仓库中,其他开发者可以克隆和下载代码。这样可以方便地分享和获取Java项目的代码。 3. 分支和合并:GitHub支持分支功能,可以创建新的分支并在分支上开发新功能。之后,可以将分支的改动合并到主分支中,实现多人协作开发。 4. 提交和拉取请求:开发者可以将代码的更改提交到仓库中,并创建拉取请求。其他团队成员可以对该请求进行审核和反馈。这样可以确保代码的质量和稳定性。 5. 问题追踪:GitHub提供了问题追踪功能,可以创建和管理项目的问题和任务。开发者可以报告Bug、提出建议,并与其他人讨论解决方案。 6. 文档编写:GitHub支持Markdown语法,可以在仓库中编写项目文档。这样可以方便地记录项目的功能、使用方法和技术细节。 7. 协作平台:GitHub不仅仅是一个代码托管平台,还是一个开放的协作平台。开发者可以与其他开发者分享经验、学习新知识,甚至可以共同开发一个Java项目。 总之,GitHub为Java项目的管理和协作提供了便利。通过GitHub,开发者可以共享、协作和改进Java项目的代码,推动项目的快速发展。 ### 回答2: GitHub是一个基于Git的版本控制工具,它提供了一个平台供开发者们共享并协同开发各种项目。其中,Java项目是在GitHub上非常常见的一种类型。 GitHub上的Java项目可以是各种类型,比如框架、库、工具、应用程序等等。Java作为一种广泛使用的编程语言,有众多开发者在GitHub上分享了他们的Java项目。这些项目可以被其他开发者们克隆、分析和使用,也可以参与到这些项目的开发中来。 Java项目在GitHub上的主要功能有: 1. 版本控制:GitHub使用Git作为其核心的版本控制工具,可以对Java项目进行版本管理,方便开发者们追踪和管理代码的变化。 2. 协同开发:GitHub提供了一系列的协同开发功能,如分支、合并请求、讨论等等。这些功能使得多个开发者可以同时对Java项目进行开发和修改,提高了项目的开发效率和质量。 3. 代码托管和共享:Java项目可以通过GitHub进行代码托管,这样开发者们可以将自己的代码存储在云端,并与其他人进行共享。这为开发者们提供了一个共同的平台,可以互相学习和借鉴。 4. 反馈与贡献:在GitHub上,开发者们可以向Java项目的作者提出问题、提供建议和参与项目的贡献。这种交互式的开发模式,可以帮助Java项目不断改进和优化。 总之,GitHub为Java项目提供了一个开源、协同、共享的平台,促进了Java项目的发展和成长。在GitHub上,开发者们可以找到各种优秀的Java项目,向其他人学习、参与和贡献,从而不断提高自己的编程能力和项目质量。 ### 回答3: GitHub是一个网站平台,旨在帮助开发者协作编写代码、管理项目和存储代码。Java项目是使用Java语言编写的软件项目。GitHub上的Java项目主要是由Java开发者们共同完成的,他们使用GitHub作为项目的远程仓库,方便团队协作和代码管理。 GitHub为Java项目提供了很多便利的功能和工具。首先,Java项目可以在GitHub上创建一个代码仓库,团队成员可以将自己编写的代码提交到仓库,并进行版本控制。这样,团队成员可以随时查看代码的改动和历史记录,并可以撤销以前的改动。 其次,GitHub提供了一系列的协作功能。团队成员可以通过创建分支(branch)来并行开发不同的功能,然后再将分支合并(merge)到主分支(master)中。这样可以避免多人同时修改同一文件造成的冲突,并提高开发效率。 另外,GitHub还提供了问题追踪(tracking issue)功能,团队成员可以在项目上创建问题(issue),并分配给相应的成员和优先级。这样可以方便团队成员之间的沟通和任务分配。 此外,GitHub还提供了很多其他的功能,比如代码审查、自动化测试、持续集成和部署等。这些功能可以帮助Java开发者更好地管理和维护自己的项目。 总之,GitHub是Java项目开发中非常重要的一个平台,它提供了丰富的功能和工具,能够帮助开发者更好地协作、管理和存储代码。通过GitHub,Java开发者可以更高效地进行软件开发和团队协作。
要在GitHub上创建或迁移Java项目,可以按照以下步骤进行操作: 1. 登录GitHub账号并创建一个新的仓库,或者打开一个已有的仓库。 2. 在本地计算机上安装Git,并确保已将Git配置为与GitHub账号关联。 3. 在本地计算机上安装Java开发环境,例如JDK和IDE(如Eclipse或IntelliJ IDEA)。 4. 打开IDE,并从Git上拉取项目,可以按照以下步骤进行操作(以IntelliJ IDEA为例): a. 在IDE的主菜单中选择"File" -> "New" -> "Project from Version Control" -> "Git"。 b. 在弹出的对话框中,输入项目的HTTPS或SSH链接,该链接可以在GitHub仓库的页面上找到。 c. 确认项目的本地路径,并点击"Clone"按钮。 d. IDE将自动下载项目的代码并导入到工作区。 5. 如果需要将项目迁移到另一个GitHub仓库,可以按照以下步骤进行操作: a. 打开Git命令行或使用IDE的集成的Git工具。 b. 切换到项目的根目录。 c. 添加一个新的远程仓库,可以使用以下命令:git remote add origin [新仓库的HTTPS或SSH链接] d. 推送代码到新的远程仓库,可以使用以下命令:git push -u origin master e. 确保迁移成功后,可以删除旧的远程仓库:git remote remove origin 这些步骤将帮助您在GitHub上创建或迁移Java项目。请注意,您还可以使用其他Git客户端或命令行工具执行相似的操作。123 #### 引用[.reference_title] - *1* *2* *3* [从gitHub上拉取并运行项目](https://blog.csdn.net/weixin_34576293/article/details/114775809)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
### 回答1: 这个问题有些难度,因为关于什么是“最好的”开源项目是主观的。不过,我可以列出一些比较受欢迎和有影响力的 Java 开源项目供你参考: 1. Spring Framework:这是一个用于构建应用程序的框架,提供了很多有用的功能,如依赖注入,声明式事务管理等。 2. Apache Commons:这是一个包含许多 Java 常用组件的开源项目,包括文件操作、字符串处理、集合操作等。 3. Hibernate:这是一个对象-关系映射(ORM)框架,可以帮助你将数据库中的数据映射到 Java 对象,使得数据操作更加方便。 4. Google Guava:这是谷歌的一个开源项目,包含了许多有用的 Java 工具类和函数。 5. JUnit:这是一个单元测试框架,可以帮助你编写和运行代码测试。 这些项目都在 GitHub 上有托管,你可以去看看。 ### 回答2: GitHub 上有许多优秀的 Java 开源项目可供选择,但其中最好的一个是 Spring Framework。Spring Framework 是一个功能强大且受欢迎的 Java 开发框架,它已经成为了许多企业及开发者的首选。 首先,Spring Framework 提供了丰富的功能和模块化的设计,使开发者能够更加轻松地开发和维护大型的企业级应用程序。它包含了许多组件和模块,例如 Spring Core、Spring MVC、Spring Data、Spring Security 等,每个模块都提供了特定的功能,可以根据项目需要进行选择和组合。 其次,Spring Framework 引入了依赖注入(Dependency Injection)和面向切面编程(Aspect Oriented Programming)等概念和实践,大大简化了开发过程和代码的管理。通过依赖注入,我们可以将对象的创建和依赖关系的管理交给 Spring 容器,提高代码的可维护性和灵活性。而面向切面编程则可以帮助我们将业务逻辑和横切关注点(例如日志记录、事务管理等)进行解耦和复用。 此外,Spring Framework 还拥有庞大的社区和活跃的开发者群体,这为我们提供了丰富的资源和支持。在 GitHub 上,我们可以找到大量的关于 Spring Framework 的优秀项目、示例代码和文档,可以借鉴和学习。同时,Spring 团队也会持续地进行版本更新和 Bug 修复,保证框架的稳定性和可靠性。 综上所述,Spring Framework 是 GitHub 上最好的 Java 开源项目之一。它的功能强大、设计模块化、易于使用和学习,拥有庞大的社区和活跃的开发者群体。无论是初学者还是经验丰富的开发者,都可以在 Spring Framework 中找到适合自己的解决方案,并从中受益。
### 回答1: 要在GitHub上运行Java项目,您需要执行以下步骤: 1. 克隆项目:在GitHub上找到您要运行的Java项目,并使用git命令将其克隆到本地计算机。 2. 安装Java:确保您的计算机上已安装Java运行时环境(JRE)或Java开发工具包(JDK)。 3. 构建项目:使用Maven或Gradle等构建工具构建项目。在项目根目录中运行构建命令。 4. 运行项目:在构建成功后,您可以运行项目。运行命令可能因项目而异,但通常是在终端中使用java命令运行项目的主类。 5. 测试项目:运行项目后,您可以使用JUnit或其他测试框架测试项目。 请注意,这些步骤可能因项目而异,具体步骤可能会有所不同。 ### 回答2: 在 Github 上找到 Java 项目后,如何运行它?这需要以下几个步骤: 1. 克隆(Clone)或下载(Download)代码库 首先,需要将代码库克隆到本地电脑或进行下载。如果使用 Git,可以通过以下代码将代码库克隆到本地: git clone https://github.com/username/repo.git 或者,在 Github 网页上点击 "Download" 按钮,进行下载。 2. 安装 Java Java 是运行这个 Java 项目所必须的。确保你已经安装了 Java。 你可以在命令行或终端窗口中运行以下命令检查 Java 是否已经安装: java -version 如果 Java 已经成功安装,你将会看到 Java 的版本信息。如果没有安装,你可以从 Oracle 官网上下载并安装。 3. 编译(Compile)Java 项目 Java 代码是以字节码的形式执行的,而字节码是由源代码编译而来的。因此,在执行 Java 程序之前,需要先将源代码编译成可执行的字节码形式。 进入项目根目录,运行以下命令使用 javac 工具编译所有 Java 源代码文件: javac *.java 这将会编译这个项目的所有 Java 文件,生成相应的字节码文件。 4. 运行 Java 项目 在完成编译后,你需要运行这个 Java 项目。 要运行 Java 项目,在命令行或终端窗口中运行以下命令: java MainClass 其中,MainClass 是你想要运行的 Java 类。请注意,这里的 MainClass 必须包含一个 main() 方法作为程序的起点。 如果 Java 项目依赖第三方库或组件,你需要将这些依赖包含在类路径中。可以使用以下命令运行项目: java -classpath ".:path/to/dependency.jar" MainClass 其中,-classpath 参数表示类路径,用来指定依赖包的位置。冒号分隔符表示类路径中包含多个文件或目录。 总之,根据以上几个步骤,我们就可以在 Github 上下载 Java 项目并运行它了。 ### 回答3: Github上的Java项目运行需要下面几个步骤: 1、首先需要安装Java环境,可以在Java官网上下载最新的Java环境安装包并安装。 2、下载项目源代码到本地,可以使用git clone命令或者直接下载zip压缩包解压到本地。 3、进入项目根目录,查看项目中是否有README.md文件,此文件一般会说明项目中如何运行。如果没有此文件,则需要查看项目中是否存在pom.xml文件,此文件为Maven项目的配置文件。如果项目是使用Maven构建,则需要使用命令mvn clean package命令进行项目构建和打包。 4、如果项目使用Gradle进行构建,则需要执行gradle build命令进行项目构建和打包。 5、在项目构建和打包完成之后,在项目的target或者build目录下会生成一个jar包,使用java -jar命令运行。 6、如果项目是web项目,则需要使用tomcat或者jetty等web容器进行运行。可以将打包好的jar包放到web容器的webapps目录下,并启动web容器进行运行。 总之,不同的Java项目运行方式可能会有所不同,需要根据项目具体情况进行调整。同时,在使用Github上的Java项目之前,需要先了解项目的功能和特点,在Github的项目页面上查看Readme文件和Issues等内容,以便更好地理解项目,快速掌握项目的操作方法。

最新推荐

github上的java项目怎么运行(面向小白)

主要介绍了github上的java项目怎么运行(面向小白),今天从github把我以前写的一个小demo下载下来了,第一次下载项目,摸索了一个多小时,才运行起来,需要的朋友可以参考下

如何把本地idea上的项目上传到github上(推荐)

主要介绍了如何把本地idea上的项目上传到github上,本文通过图文的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

5个好玩的github游戏区开源项目

5个好玩的github游戏区开源项目,包含c++,java,javascript,rust。

vue项目打包后上传至GitHub并实现github-pages的预览

vue项目打包后上传至GitHub,并实现github-pages的预览 1. 打包vue 项目 vue项目: 命令行输入打包命令npm run build,生成了dist文件夹: 打包完成。 打包常见问题1——项目资源无法加载 打开刚刚打包好的dist...

收藏的博客 -- Qt有关的GitHub-Gitee开源项目.docx

目录 Qt官网下载/文档 Qt知名社区 Qt技术博客1 Qt开源框架 KDE/Qt Qt Github精品收藏1 -- IDE ...Qt sourceforge精品项目 Qt Git Client GUI Qt开发的大型开源软件 Qt开发环境搭建: Qt基础知识: C++学习书籍推荐:

代码随想录最新第三版-最强八股文

这份PDF就是最强⼋股⽂! 1. C++ C++基础、C++ STL、C++泛型编程、C++11新特性、《Effective STL》 2. Java Java基础、Java内存模型、Java面向对象、Java集合体系、接口、Lambda表达式、类加载机制、内部类、代理类、Java并发、JVM、Java后端编译、Spring 3. Go defer底层原理、goroutine、select实现机制 4. 算法学习 数组、链表、回溯算法、贪心算法、动态规划、二叉树、排序算法、数据结构 5. 计算机基础 操作系统、数据库、计算机网络、设计模式、Linux、计算机系统 6. 前端学习 浏览器、JavaScript、CSS、HTML、React、VUE 7. 面经分享 字节、美团Java面、百度、京东、暑期实习...... 8. 编程常识 9. 问答精华 10.总结与经验分享 ......

基于交叉模态对应的可见-红外人脸识别及其表现评估

12046通过调整学习:基于交叉模态对应的可见-红外人脸识别Hyunjong Park*Sanghoon Lee*Junghyup Lee Bumsub Ham†延世大学电气与电子工程学院https://cvlab.yonsei.ac.kr/projects/LbA摘要我们解决的问题,可见光红外人重新识别(VI-reID),即,检索一组人的图像,由可见光或红外摄像机,在交叉模态设置。VI-reID中的两个主要挑战是跨人图像的类内变化,以及可见光和红外图像之间的跨模态假设人图像被粗略地对准,先前的方法尝试学习在不同模态上是有区别的和可概括的粗略的图像或刚性的部分级人表示然而,通常由现成的对象检测器裁剪的人物图像不一定是良好对准的,这分散了辨别性人物表示学习。在本文中,我们介绍了一种新的特征学习框架,以统一的方式解决这些问题。为此,我们建议利用密集的对应关系之间的跨模态的人的形象,年龄。这允许解决像素级中�

网上电子商城系统的数据库设计

网上电子商城系统的数据库设计需要考虑以下几个方面: 1. 用户信息管理:需要设计用户表,包括用户ID、用户名、密码、手机号、邮箱等信息。 2. 商品信息管理:需要设计商品表,包括商品ID、商品名称、商品描述、价格、库存量等信息。 3. 订单信息管理:需要设计订单表,包括订单ID、用户ID、商品ID、购买数量、订单状态等信息。 4. 购物车管理:需要设计购物车表,包括购物车ID、用户ID、商品ID、购买数量等信息。 5. 支付信息管理:需要设计支付表,包括支付ID、订单ID、支付方式、支付时间、支付金额等信息。 6. 物流信息管理:需要设计物流表,包括物流ID、订单ID、物流公司、物

数据结构1800试题.pdf

你还在苦苦寻找数据结构的题目吗?这里刚刚上传了一份数据结构共1800道试题,轻松解决期末挂科的难题。不信?你下载看看,这里是纯题目,你下载了再来私信我答案。按数据结构教材分章节,每一章节都有选择题、或有判断题、填空题、算法设计题及应用题,题型丰富多样,共五种类型题目。本学期已过去一半,相信你数据结构叶已经学得差不多了,是时候拿题来练练手了,如果你考研,更需要这份1800道题来巩固自己的基础及攻克重点难点。现在下载,不早不晚,越往后拖,越到后面,你身边的人就越卷,甚至卷得达到你无法想象的程度。我也是曾经遇到过这样的人,学习,练题,就要趁现在,不然到时你都不知道要刷数据结构题好还是高数、工数、大英,或是算法题?学完理论要及时巩固知识内容才是王道!记住!!!下载了来要答案(v:zywcv1220)。

通用跨域检索的泛化能力

12056通用跨域检索:跨类和跨域的泛化2* Soka Soka酒店,Soka-马上预订;1印度理工学院,Kharagpur,2印度科学学院,班加罗尔soumava2016@gmail.com,{titird,somabiswas} @ iisc.ac.in摘要在这项工作中,我们第一次解决了通用跨域检索的问题,其中测试数据可以属于在训练过程中看不到的类或域。由于动态增加的类别数量和对每个可能的域的训练的实际约束,这需要大量的数据,所以对看不见的类别和域的泛化是重要的。为了实现这一目标,我们提出了SnMpNet(语义Neighbourhood和混合预测网络),它包括两个新的损失,以占在测试过程中遇到的看不见的类和域。具体来说,我们引入了一种新的语义邻域损失,以弥合可见和不可见类之间的知识差距,并确保潜在的空间嵌入的不可见类是语义上有意义的,相对于其相邻的类。我们还在图像级以及数据的语义级引入了基于混�