Java
32、举例说明什么情况下会更倾向于使用抽象类而不是接口?
接口和抽象类都遵循”面向接口而不是实现编码”设计原则,它可以增加代码的灵活性,可以适应不断变化的需求。下面有几个点可以帮助你回答这个问题:在 Java 中,你只能继承一个类,但可以实现多个接口。所以一旦你继承了一个类,你就失去了继承其他类的机会了。 接口通常被用来表示附属描述或行为如: Runnable 、 Clonable 、 Serializable 等等,因此当你使用抽象类来表示行为时,你的
SpringBoot+MyBatis+MySQL电脑商城项目实战(四)用户注册—控制层
5 注册-控制层 5.1 创建响应 状态码、状态码描述信息、数据。这部分功能封装到一个类中,将这类作为方法返回值,返回给前端浏览器。 5.2 设计请求 依据当前的业务功能模块进行请求的设计。 请求路径:/users/reg 请求参数:User user 请求类型:敏感类型用POST,没有用GET 响应结果:JsonResult 5.3 处理请求 创建一个控制层对应的类UserControl
RabbitMQ学习
1.RabbitMQ核心模式 2.RabbitMQ安装 官网地址:https://www.rabbitmq.com/download.html 1.安装解压 2.启动rabbitmq服务 3.开启 web 管理插件 4.添加用户,新增权限 5.使用新建用户登录(ecs云服务器关闭防火墙,新增安全组策略) 3.创建简单队列模式的消息生产者和消费者 1.添加pom依赖 创建获取c
动态规划算法基础及leetcode例题
01 基础理论 题型:动规基础(斐波那契数列or爬楼梯);背包问题;打家劫舍;股票问题;子序列问题 动规误区:只要看懂递推就ok(递推公式只是一部分) 解决动态规划应该要思考的几步: 状态转移的DP数组以及下标的含义 递推公式 DP数组为何初始化 遍历顺序 打印DP数组 02 例题 基础题目 509.斐波那契数列 思路: 确定dp[i]含义:第i个斐波那契数值 递推公式:dp[i]=dp
微服务之间的通信方式
目录微服务之间的通信方式根据场景选择对应的通信方式异步通信区别与选择.Net示例java示例 微服务之间的通信方式 微服务之间的通信方式常见的有以下几种: 同步通信:微服务之间通过请求-响应的方式进行通信,例如RESTful API和RPC。通信过程中,请求方需要等待响应方的返回结果,因此可靠性较高,但可能会出现请求排队、线程阻塞等问题,从而影响系统的响应速度和并发性能。 异步通信:微服务之间通
33、实例化对象有哪几种方式
new clone() 通过反射机制创建 //用 Class.forName方法获取类,在调用类的newinstance()方法Class<?> cls = Class.forName("com.dao.User");User u = (User)cls.newInstance(); 序列化反序列化 //将一个对象实例化后,进行序列化,再反序列化,也可以获得一个对象(远程通信
2023-05-16 刷题
LeetCode 662. 二叉树最大宽度 思路:节点编号 + BFS。时间复杂度:O(n),空间复杂度:O(n) 利用完全二叉树(以及堆的顺序存储)编号的规则,根节点编号为1,左孩子是2,右孩子是3. 对于任意一个节点,如果它的编号是i, 那么它的左孩子的编号是2*i, 右孩子的编号是2*i + 1. 因为有的节点没有左右孩子,因此,需要把编号和节点保存在一起。可以使用Pair结构。 每
2023-05-17 刷题
算法题目1:【Mid】47. 全排列 II 思路分析: 将原问题转换成子问题,先不考虑重复元素,例如 P{1,2,3} = {"1" + P{2,3}, "2" + P{1,3}, "3" + P{1,2}}。之后再考虑重复元素。 怎么枚举?枚举每个位置可以填哪些数。【这种枚举方式能保证字典序,除此外,还有一种,枚举每个数可以放到哪个位置上,这题不适合】 怎么去重?首先对输入的数组进行排序,目的
java基于springboot+vue的篮球竞赛预约平台、比赛预约管理系统,附源码+数据库+lw文档+PPT
1、项目介绍 根据篮球竞赛预约平台的功能需求,进行系统设计。 前台功能:用户进入系统可以实现首页,竞赛项目,平台公告,个人中心,后台管理等功能进行操作; 后台由管理员和用户,主要功能包括首页,个人中心,用户管理,项目分类管理,竞赛项目管理,赛事预约管理,系统管理等功能; 系统对这些功能进行整合,产生的功能结构图如下: 项目获取,看这里 2、技术框架 编程语言:java 系统架构:B/S 后端框框
22206111的第二次博客作业
前言 这学期已经过了大半,期中考试也考完了。对这门课程的了解逐步深入。还记得自己当初最开始时学习Java的情景,那时自己除了知道什么是封装、继承,其他的什么都不知道了。后来自己在慢慢摸索的过程中菜逐渐积累了对这门课程的敏感度。 下面就总结一下第四、五次大作业的期中考试的知识点和难度情况吧! 第四次大作业:这次的大作业只有一个菜单系列的题目。本次大作业是在菜单计价系列-3的基础上增加了一些异常问题的
MyBatis 学习(二)
一、XML 配置文件 1、XML 映射配置文件的结构 configuration 配置 properties 属性 settings 设置 typeAliases 类型别名 typeHandlers 类型处理器 objectFactory 对象工厂 plugins 插件 environments 环境 environment 环境变量 transac
bootstrap 学习(一)
一、Bootstrap 简介 1、什么是 Bootstrap Bootstrap 是一个用于快速开发 web 应用程序和网站的开源的 UI 前端框架。Bootstrp是基于HTML、CSS、JS 的。 2、Bootstrap 的好处 移动设备优先:自 Bootstrap 3 起,框架包含了贯穿于整个库的移动设备优先的样式。 浏览器支持:所有的主流浏览器都支持 Bootstrap。 容易上手:只
webpack搭建typescript项目
基于webpack的typescript项目搭建 该项目是搭建了一个数值转换的前端项目,使用了webpack,typescript 重点学习webpack.config.js的配置 /Users/song/Code/webgpu_learn/webgpu-for-beginners/03 typescript/finished/index.html /Users/song/Code/webg
组合模式(Composite Pattern)
组合模式 一、概述 组合模式(Composite Pattern):组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性,组合模式又可以称为“整体—部分”(Part-Whole)模式,它是一种对象结构型模式。 二、介绍 将对象组合成树形结构以表示"部分-整体"的层次结构。组合模式使得用户对单个对象和组合对象
Java商城网站系统设计与实现(带源码)
基于Java的商城网站系统设计与实现 功能介绍 平台采用B/S结构,后端采用主流的Springboot框架进行开发,前端采用主流的Vue.js进行开发。 整个平台包括前台和后台两个部分。 前台功能包括:首页、商品详情页、订单、用户中心模块。 后台功能包括:总览、订单管理、商品管理、分类管理、标签管理、评论管理、用户管理、运营管理、日志管理、系统信息模块。 适合人群 java初级学员、大学生、系
什么是 Angular 应用的 browser Application bundles 和 server Application bundle
我们在使用 yarn run 启动 Angular 应用时,注意到 browser Application 和 server Application bundle 的生成: 在 Angular 应用程序中,应用程序包含两个主要的部分:客户端应用程序和服务器应用程序。客户端应用程序是在 Web 浏览器中运行的 Angular 应用程序,而服务器应用程序是在服务器端运行的 Node.js 应用程序
Hadoop的核心配置文件
1. core-site.xml:该配置文件包含了Hadoop通用配置,例如Hadoop的文件系统和I/O设置、Hadoop日志目录、Hadoop缓存设置等。 2. hdfs-site.xml:该配置文件包含了Hadoop分布式文件系统(HDFS)的配置,例如HDFS的副本数、块大小、数据目录、安全设置等。 3. yarn-site.xml:该配置文件包含了Hadoop资源管理器(YARN)的配置
什么是 Angular Ivy Partial compilation mode
compiling with Angular sources in Ivy partial compilation mode. Angular Ivy partial compilation mode 是 Angular Ivy 编译器的一种模式,它是为了优化 Angular 应用程序的性能而引入的。在这种模式下,编译器只会重新编译那些发生变化的部分,而不会重新编译整个应用程序。 这种编译模式的优
非空注解@NonNull与@NotNull使用错误导致传参为空时报NPE
背景 新上线了一个需求后,发现时不时的有一些NullPointerException报出来,跟踪后发现都是在一个地方报出来的 org.springframework.beans.BeanInstantiationException: Failed to instantiate [net.lingyejun.mall.domain.book.req.BookInfoReqDto]: Constru
PTA题目集4、5及期中考试的总结性Blog
一、前言 随着对java学习的越来越深入,需要学习的东西也越来越多,第四五次pta题目集主要还是以菜单计价系统为主,相较于以前的菜单计价系统,增加了异常情况的处理,以及特色菜,口味度等功能,使这个菜单计价系统越来越与现实生活相关联,当然与之同时题目的难度当然也是大幅度提高了。虽然这几次的题目量相较前面几次有减少,但也不是能轻松解决的。期中考试的形式有点像小型的一次次菜单计价系统,循序渐进,环环相扣
angular-devkit 中 build-angular 包的作用
@angular-devkit/build-angular 是 Angular CLI 的一个开发包,主要用于构建和打包 Angular 应用程序。它提供了一组命令行工具和可重用的构建流程,用于自动化构建和部署 Angular 应用程序。下面我们将介绍 @angular-devkit/build-angular 的作用和主要功能。 作用 @angular-devkit/build-angular