Java
Java设计模式-建造者模式
简介 建造者模式是一种创建型设计模式,用于将复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。建造者模式通过将复杂对象的构建过程分解为多个简单的步骤来实现。 与其他创建型模式不同,建造者模式强调的是将构建过程与表示分离,而不是将对象与其构建方式分离。这使得建造者模式在需要创建多个相似对象时非常有用,因为可以通过重用相同的构建过程来创建不同的对象表示。 建造者模式与工厂模式和抽
Java 双指针项目中的实际应用
背景说明 最近在做财务相关的系统,对账单核销预付款从技术角度来看就是将两个数组进行合并 对账单核销预付款前提条件: 对账单总金额必须等于未核销金额 数据示例 对账单数据 单号 金额 B0001 100 B0002 80 B0003 120 预付款数据 单号 未核销金额 PRE001 110 PRE002 190 结果数据 预付款单号
23.4.24前学习笔记
可通过document.documentElement.scrollTop=0控制返回页面顶部 scrollTo方法 window.scrollTo(x,y)//控制页面移动到哪 页面尺寸事件 window.addEventListener('resize',function(){ &nbs
vue安装时报错npm ERR! Could not resolve dependency: npm ERR! peer…
报错原因 在新版本的npm中,默认情况下,npm install遇到冲突的peerDependencies时将失败。 解决办法 使用--force或--legacy-peer-deps可解决这种情况。 --force 会无视冲突,并强制获取远端npm库资源,当有资源冲突时覆盖掉原先的版本。 --legacy-peer-deps:安装时忽略所有peerDependencies,忽视依赖冲突,采用np
Linux -- 基础
Linux目录结构 /:Linux中没有盘符,根目录为"/" /bin:存放系统命令的目录,所有用户都可以执行. /sbin:保存和系统环境设置相关的命令,只有超级用户可以使用这些命令,有些命令可以允许普通用户查看。 /home:用户缺省宿主目录 添加新用户 home会有对应用户的文件夹 /etc:系统配置文件 /dev:存放设备文件 网卡 声卡 显示 CD 打印机 /mnt:挂载目录。临
Redis定长队列设计与实现
业务背景: 只展示最近10条礼物打赏动态,用户名+礼物名称 不管在app端还是在web端,或多或少都有这样的需求,所谓技术方案的选型都是受限于实际的业务场景的,都是以解决实际业务为目的,由于刚开始这样的需求还是比较少的,所以采用了简单的方式实现了功能,但是随着业务扩大,重复的也会很多,再写一套代码就显得很臃肿了 ,所以将这类业务进行抽象封装。 如上图实时展示了最近打赏的动态,通过这些来刺激消费和
Spring源码:Bean生命周期(三)
前言 在之前的文章中,我们已经对 bean 的准备工作进行了讲解,包括 bean 定义和 FactoryBean 判断等。在这个基础上,我们可以更加深入地理解 getBean 方法的实现逻辑,并在后续的学习中更好地掌握createBean 方法的实现细节。 getBean用法 讲解getBean方法之前,我们先来看看他有几种常见的用法: 关于获取 bean 的方法,前两种方法应该比较常见,这
程序员面试金典---21
最小差 思路: 先将两个数组升序排序,然后使用双指针逐个进行比较。 最大数值 思路: 数学上,两个数最大的那个为: [max(a,b) = (|a-b| + a + b) / 2 ]
Java读取数据库表(二)
Java读取数据库表(二) application.properties 辅助阅读 配置文件中部分信息被读取到之前文档说到的Constants.java中以常量的形式存储,BuildTable.java中会用到,常量命名和上面类似。 StringUtils.java 辅助阅读 org.apache.commons.lang3.StringUtils.isEmpty() 只能判断String
命令行编译和执行java代码
虽然现在IDE很强大又很智能,但是平常随意写点练手的代码的时候,直接在命令行中使用vim和java命令更为方便快捷,可以做到无鼠标纯键盘的操作。 首先保证将java相关指令添加到了环境变量中; 1.编译class文件: 编译好的class文件会放置到环境当前目录 (./)中。-d命令的作用是:如果在java文件中定义了package,那么会在当前目录按照package包建立层级的文件夹,例如
20基于java的科研管理系统设计与实现
背景及意义 目前许多人仍将传统的纸质工具作为信息管理的主要工具,而网络技术的应用只是起到辅助作用。在对网络工具的认知程度上,较为传统的office软件等仍是人们使用的主要工具,而相对全面且专业的信息管理软件仍没有得到大多数人的了解或认可。本选题则旨在通过标签分类管理等方式,实现教研的各种功能,从而达到对科研管理系统的管理。 科研项目管理系统,以项目化管理为思想,以现实中管理制度为核心,对科研
DDD领域设计基本概念
什么是DDD DDD(领域驱动设计)是一种处理高度复杂领域的设计思想,是一种架构设计方法论,是一种设计模式。以高内聚低耦合为目的,把一个复杂的软件应用系统中各个部分进行一个很好的拆解和封装,对软件系统进行模块化的一种思想。DDD不仅可以用于微服务设计,还可以很好地应用于企业中台的设计,也适用于传统的单体应用。 领域模型是什么? 领域模型是关于某个特定业务领域的软件模型
消息推送平台终于要发布啦!
我的开源项目消息推送平台Austin终于要上线了,迎来在线演示的第一版! 🔥项目在线演示地址:http://139.9.73.20:3000/ 消息推送平台🔥推送下发【邮件】【短信】【微信服务号】【微信小程序】【企业微信】【钉钉】等消息类型。 https://gitee.com/zhongfucheng/austin/ https://github.com/ZhongFuCheng3y/au
Feign调用报错status 404
feign调用报错status 404 使用feign,报错:FeignException: status 404。如下: Debug 跟踪查看方法栈中的方法,报错代码 SynchronousMethodHandler类的 executeAndDecode()方法 如下: 可以看到 发送了一个请求,获取响应。可以在 response = this.client.execute(request,
java基于springboot+vue的宿舍管理系统、学生宿舍管理系统、高校宿舍管理系统,附源码+数据库+文档+PPT
1、项目介绍 java基于springboot+vue的宿舍管理系统、学生宿舍管理系统、高校宿舍管理系统,实现管理员:首页、个人中心、公告信息管理、院系管理、班级管理、学生管理、宿舍信息管理、宿舍安排管理、卫生检查管理、报修信息管理、报修处理管理、缴费信息管理,学生;首页、个人中心、公告信息管理、宿舍安排管理、卫生检查管理、报修信息管理、报修处理管理、缴费信息管理等功能。 项目获取,看这里 2、
springboot实现事务注解
一、介绍 仿造spring中的@Transactional注解实现简易版的事务。通过spring中的aop拦截所有带自定义事务注解的方法去实现事务的控制。 二、步骤 创建一个自定义事务注解CustomTransactional.java 事务注解切面拦截类CustomTransactionalInterceptor.java 创建一个TransactionStatus上下文类 新
springboot 切面注解方式 记录日志
1.定义GateOpLog 2.定义切面,Pointcut指向GateOpLog 3.Controller的接口中使用 测试,在调用Controller的接口时,会先执行 记录日志 的切面方法
Uncaught Error: Objects are not valid as a React child (found: object with keys {content, key, duration}). If you meant to render a collection of children, use an array instead(转)
转自:react报错 Uncaught Error: Objects are not valid as a React child (found: object with keys {a} ... 报错信息分析 Uncaught Error: Objects are not valid as a React child (found: object with keys {content, key,
SpringBoot导出Word文档的三种方式
SpringBoot导出Word文档的三种方式 一、导出方案 1、直接在Java代码里创建Word文档,设置格式样式等,然后导出。(略) 需要的见:https://blog.csdn.net/qq_42682745/article/details/120867432 2、富文本转换后的HTML下载为Word文档。相当于把HTML转为Word导出 3、使用模板技术导出。固定格式、可以
8 08|法则三:架构师如何在一定时间内最大化自己的增量价值?
你好,我是郭东白。上节课我们讲了架构活动中需要重视对商业价值的考量。作为一个架构师,必须要创造足够的商业价值,才能保障自己职业的长期。 那么你作为架构师,该如何为你的公司、部门或团队提供可量化的增量价值呢?主要有扩大收入与减少成本两种路径。今天这节课,我们就结合几个真实的案例来具体分析一下。 如何寻找扩大收入的机会? 有的架构师不关注软件之外的事情,比如很少关心公司或部门的收入。这种性格虽然可以让
为了弄清起点小说如何算字扣钱,我特意注册了作家账号
闲来无事,想起这些年也算给起点贡献了不少流量和金钱。 在起点的会员订阅规则里,如下图所示,重点关注2,3和6点,一个是怎么算钱的,一个是怎么算字数的。 计费跟字数相关,归根结底,都是怎么算钱的事儿。 1. 怎么算字数 “作品字数以起点计数系统为准。” 起点没有公布计数系统的统计标准。所以就有了本文,我们来猜一猜嘛。 在书架上随手找了一本之前订阅过的书,找了章公众章节。 如下所示,共858字。
UML类图——类之间的关系
关联关系(实线箭头) 是一种结构化关系,表示一类对象与另一类对象之间有联系。Java,c++,c#等编程语言在实现关联关系时,通常将一个类的对象作为另一个类的属性 聚合关系(带空心菱形的实线箭头) 表示一个整体与部分之间的关系,在聚合关系中成员类是整体类的一部分,即成员对象是整体对象的一部分,但是成员对象可以脱离整体对象独立存在 Engine是Car的一部分,但是Engine可以脱离C
moment指定时间
1.startOf( )设置开始时间 moment().startOf('day').subtract(15,'d)//指定前15天的日期 moment().startOf('day') 2.endOf( )设置结束时间 moment().endOf('day').add(1,'d')// 指定后一天的日期 moment().endOf('hour')