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(); 序列化反序列化 //将一个对象实例化后,进行序列化,再反序列化,也可以获得一个对象(远程通信

镜世界hadoop

步骤: 1、创建用户 sudo useradd -m hadoop -s /bin/bash    sudo passwd hadoop                   &nb

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 后端框框

jcmd常用用法

jvm command 用于将诊断命令请求发送到正在运行的java虚拟机,从jdk7开始提供。是一个功能全面的工具,可用于获取目标java进程的性能统计,jfr,内存使用,垃圾收集,线程堆栈,jvm运行时间。 pid:接受诊断命令请求的进程ID。 main class:接受诊断命令请求的进程main类。jcmd会将诊断命令请求发送给指定main class的所有java进程。 command:c

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。 容易上手:只

IDEA的快捷键

常用的有fori/sout/psvm+Tab即可生成循环、System.out、main方法等boilerplate样板代码 例如要输入for(User user : users)只需输入user.for+Tab 再比如,要输入Date birthday = user.getBirthday();只需输入user.getBirthday().var+Tab即可。 代码标签输入完成后,按Tab,生成

作业总结

第四次作业总结 1.前言 本次作业是在作业3的基础上增加了多余的功能,包括菜单中的特色菜,以及菜谱信息与订单信息混合,应忽略夹在订单信息中的菜谱信息。输出:"invalid dish" 桌号所带时间格式合法(格式见输入格式部分说明,其中年必须是4位数字,月、日、时、分、秒可以是1位或2位数),数据非法,比如:2023/15/16 ,输出桌号+" date error" 重复删除,重复的删除记录输出

接口统一返回工具类

一、接口统一返回类 二、使用  

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题目集主要还是以菜单计价系统为主,相较于以前的菜单计价系统,增加了异常情况的处理,以及特色菜,口味度等功能,使这个菜单计价系统越来越与现实生活相关联,当然与之同时题目的难度当然也是大幅度提高了。虽然这几次的题目量相较前面几次有减少,但也不是能轻松解决的。期中考试的形式有点像小型的一次次菜单计价系统,循序渐进,环环相扣

BLOG作业-2

     /*除去代码字数3963+  */                                             &

数组

数组 一、数组的创建 二、遍历数组 三、数组是引用类型 数组对象的空间都是在堆上开辟的 因此数组名本质是对堆上空间的引用 数组可以做函数参数,函数返回值 数组的拷贝可以自己遍历,也可以使用Arrays的方法 四、二维数组 二维数组本质上也就是一维数组, 只不过每个元素又是一个一维数组

angular-devkit 中 build-angular 包的作用

@angular-devkit/build-angular 是 Angular CLI 的一个开发包,主要用于构建和打包 Angular 应用程序。它提供了一组命令行工具和可重用的构建流程,用于自动化构建和部署 Angular 应用程序。下面我们将介绍 @angular-devkit/build-angular 的作用和主要功能。 作用 @angular-devkit/build-angular

类和对象

类和对象 一、类的创建 一般一个文件当中只定义一个类 main方法所在的类一般要使用public修饰 public修饰的类必须要和文件名相同 不要轻易去修改public修饰的类的名称 二、类的实例化 使用new关键字实例化对象 检测对象对应的类是否加载了,如果没有加载则加载 为对象分配内存空间 处理并发安全问题 比如:多个线程同时申请对象,JVM要保证给对象分配的空间不冲突 初始化所分配的

<<  <  1253  1254  1255  1256  1257  1258  1259  1260  1261  1262  1263  >  >>