Java

组合模式-10

概述 组合模式 (Composite Pattern) 又称“整体-部分” (Part-Whole) 模式,它将多个对象组合成树状结构,表示整体-部分的层次,对不同对象的处理提供一致性。 优点:清楚地定义分层次的复杂对象。一致地对待所有对象。 缺点:设计难度高,难以限制复合对象中的元素类型。 图示: 组合模式可以扩展为:在叶子对象、复合对象之上分别再加上一个抽象叶子类、抽象 Composite

Nginx 配置

文件结构 整体结构为嵌套结构:   全局块:配置影响全局,包括运行 nginx 的用户组,进程存放,日志,配置文件等 events:配置影响 nginx 服务器与客户端的网络连接,包括进程最大连接数,数据驱动模型,序列化等 http:配置代理,缓存,日志,第三方模块等,可嵌套多个 server server:配置虚拟主机的参数 location:配置请求路由,页面处理 举个栗子: &nb

2自由度并联仿生腿的制作

1. 运动功能说明     本文实例将实现2自由度并联仿生腿模组运动起来,模拟实现狗腿行走的动作。 2. 结构说明     2自由度并联仿生腿模组是由两个舵机驱动的,它的所有动作都将在两个舵机的配合运动下实现。 3. 运动原理说明     2自由度并联仿生腿模组运动的点位如下图所示: 4. 电子硬件     在这个示例中,我们采用了以下硬件,请大家参考: 主控板 Basra主控板(

java~理解可重入锁

在Java中,可重入锁(Reentrant Lock)是一种同步机制,允许线程在持有锁的情况下再次获取该锁,而不会被自己所持有的锁所阻塞。也就是说,一个线程可以多次获得同一个锁,而不会出现死锁的情况。 可重入锁在多线程编程中非常有用,它允许线程在访问共享资源时多次获取锁,而不会引发死锁问题。当一个线程第一次获取锁后,会在内部维护一个计数器,每次成功获取锁后计数器加1,每次释放锁后计数器减1。只有当

SLF4J门面日志框架源码探索

1 SLF4J介绍 SLF4J即Simple Logging Facade for Java,它提供了Java中所有日志框架的简单外观或抽象。因此,它使用户能够使用单个依赖项处理任何日志框架,例如:Log4j,Logback和JUL(java.util.logging)。通过在类路径中插入适当的 jar 文件(绑定),可以在部署时插入所需的日志框架。如果要更换日志框架,仅仅替换依赖的slf4j b

单标签下的日间/黑夜模式切换按钮效果

前不久,在网上看到这么一张非常有趣的图: 想必很多同学都看到这张图,是一个开发小哥被一个日间/黑夜模式切换按钮效果逼疯的视频。 其最终效果大致如下: 原完整代码在这里:Night && Day Toggle ☀️/🌙 [Completed It!] 原效果用了大量 HTML 标签,大量 SVG 元素以及 350 行的 CSS 完成的上述效果。 而本文,我们将尝试优化一下代码,尝

网站访问时间设置

检测网站访问速度的方法有很多,以下是几种常见的方法: 在线网站测试工具:可以使用一些免费的在线网站测试工具,如 Pingdom、Google PageSpeed Insights、GTmetrix 等。这些工具通过向网站发出请求并收集数据来显示网站的性能和速度指标。 Chrome 网络调试工具:Chrome 网络调试工具是内置于 Chrome 浏览器中的一套可用于分析网站表现的

Nacos集群搭建

配置Nacos集群 (1)进入nacos的conf目录,修改配置文件cluster.conf.example,重命名为cluster.conf (2)添加内容:集群节点信息IP         127.0.0.1:8845         127.0.0.1.8846         127.0.0.1.8847 (3)修改application.properties文件,添加数据库配置【放开注释

到底什么是Java AIO?为什么Netty会移除AOI?一文搞懂AIO的本质!

本文由得物技术团队Uni分享,即时通讯网收录时有内容修订和大量排版优化。 1、引言 关于Java网络编程中的同步IO和异步IO的区别及原理的文章非常的多,具体来说主要还是在讨论Java BIO和Java NIO这两者,而关于Java AIO的文章就少之又少了(即使用也只是介绍了一下概念和代码示例)。 在深入了解AIO之前,我注意到以下几个现象: 1)2011年Java 7发布,它增加了AIO

网站接入微信支付后如何实现退款和取消预约?

需求 取消预约分两种情况: 未支付取消订单,直接通知医院取消预约状态并更新相关数据,然后修改平台订单状态 已支付取消订单,退款给用户并在数据库中记录退款记录,通知医院取消预约状态并更新相关数据,然后修改平台订单状态 第01章-未支付取消预约 1、后端接口 1.1、Controller FrontOrderInfoController中添加接口方法 1.2、Service 在OrderStat

由JAVA环境变量Classpath与logging.config配置冲突的异常:

  Classpath与logging.config配置冲突 异常信息:    Caused by: ch.qos.logback.core.LogbackException: Unexpected filename extension of file [file:/D:/JobSpaceLab/testProject/.;C:/Program%20Files/Java/jdk

oracle和MySQL区别在大数据上体现

原文,https://blog.csdn.net/weixin_39569543/article/details/111090287 结论: 阿里java开发手册禁止三张表join 大数据量下使用join导致数据冗余更大,MySQL处理不了过大的数据量,Oracle可以正常处理

Integer、Long包装类的比较==/equals

@Test void test() { Long i = Long.valueOf(-1); Long j = Long.valueOf(1); Long k = 1L; Long m = 100L; Long u = 200L; System.out.println(i==-1); System.out.println(i.equals(

解决IDEA中注释@param 参数名称不存在时提示报错

File -> Settings -> Editor -> Inspections 搜索Javadoc,找到Declaration has problems in Javadoc references 将提示级别修改为Warning    

每周一个报表小技巧:如何在报表中引入数据筛选功能

每周一个报表小技巧:如何在报表中引入数据筛选功能 摘要:本文由葡萄城技术团队于博客园原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 前言篇 在当今信息爆炸的时代,面对海量的数据,我们常常需要从中提取有价值的信息,做出更好的决策。而数据筛选,正是一种可以帮助我们在众多信息中快速找到所需的内容的方法。通过使用数据筛选工具,可以轻松地筛选出特定

【Java】使用 validation 完成自定义校验注解

总括: validation 让我们简化了开发过程,可以使用简单的一个注解就实现了很多常见的检验数据的功能,同时支持自定义注解。spring-boot-starter-validation 是由 Spring Boot 整合的一套用于处理 validation 的约定化自动配置启动器。Spring 系列框架通过简单的安装依赖即可直接使用 validation 提供的参数校验功能,通过为接

架构设计的历史背景

架构设计的历史背景 在探讨架构设计的历史背景时,了解软件开发进化的历史是一个重要的起点。了解软件开发的演变过程可以帮助我们更好地理解架构设计的起源和发展。现在,让我们来简要回顾一下软件开发的历史,并探索软件架构出现的背景。 首先,我们可以回顾软件开发的初期阶段。在计算机科学的早期,软件开发主要集中在低级编程语言和硬件相关的编程。当时的软件往往是简单的、单一的程序,由一小部分程序员编写和维护。这时期

架构的本质

架构到底是指什么 对于技术人员来说,“架构”是一个再常见不过的词了。我们会对新员工培训整个系统的架构,参加架构设计评审,学习业界开源系统(例如MySQL和Hadoop)的架构,研究大公司的架构实现(例如微信架构和淘宝架构)…… 虽然“架构”这个词很常见,但如果深究一下,“架构”到底是指什么,大部分人就搞不清楚了。例如以下这些问题,你能够准确地回答吗? 微信有架构,微信的登录系统也有架构,微信的

获取几个不重复的随机数到数组中

                理解break在嵌套循环里的作用     import java.util.Random; public class Test { public static void main(String[] args) { Random r=

Nacos配置管理

微服务的配置一旦更新则需要重启服务,但是在生产环境下服务器特别多,修改十分复杂。服务重启的影响也十分大。 Nacos:配置管理服务 在Nacos控制台中新建配置:填写配置名称【服务名称-环境.后缀】,yaml结尾,配置内容只填写核心有热更新需求的配置。   配置获取的步骤: 从bootstrap.yml【优先级比application.yml高】中先读取nacos地址,再读取naco

Dubbo01

1.分布式基础理论 1.1. 什么是分布式系统 分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统 分布式系统(distributed system)是建立在网络之上的软件系统 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服 务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。 2.RPC 2.1. 什么是

springboot+spring cloud gateway开发,配置动态路由

所谓的动态路由,就是可以根据运行时环境(负载情况、头信息、版本号),动态的修改路由规则,从而转发到不同的目标服务上。 动态路由是相对于传统的静态路由而言的,静态路由一旦配置好之后需求有变动,就很难进行灵活的调整。 Spring Cloud Gateway 或 Zuul 都可以实现动态路由,本文以Spring Cloud Gateway 为例。   在写代码前,有必要对Spring Clo

从0开始,手写MySQL事务

文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 :《尼恩Java面试宝典》 持续更新+ 史上最全 + 面试必备 2000页+ 面试必备 + 大厂必备 +涨薪必备 免费赠送 :《尼恩技术圣经+高并发系列PDF》 ,帮你 实现技术自由,完成职业升级, 薪酬猛涨!加尼恩免费领 免费赠送 经典图书:《Java高并发核心编程(卷1)加强版》 面试

Java的7种位运算符

位运算符 在Java语言中,提供了7种位运算符,分别是按位与(&)、按位或(|)、按位异或(^)、取反(~)、左移(<<)、带符号右移(>>)和无符号右移(>>>) 操作符 语义 描述 运算规则 &    按位与      二进制数据按位与操作 如果两个二进制位上的数都是1,那么运算结果为1,其他情况运算结果均为0。 (0&a

Nacos-配置热更新【自动刷新】

Nacos中的配置文件变更后,微服务无需重启就可以感知,通过下面两种配置实现: 方式一:在@Value注入的变量所在类上添加注解@RefreshScope   方式二:使用@ConfigurationProperties注解读取配置文件内容 Nacos配置更改后,微服务可以实现热更新,方式:   (1) 通过@Value注解注入,结合@RefreshScope来刷新   (

七、Spring Cloud Alibaba Sentinel简介

随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。 一、特性 丰富的场景:Sentinel支持阿里巴巴双11购物节的关键场景超过10年,如秒杀(即控制突然爆发的流量,使其在系统容量的可接受范

基于springboot+vue的药房管理系统、药店管理系统,附源码+数据库+论文+PPT,适合课程设计、毕业设计

1、项目介绍 本文主要面向逍遥大药房管理中出现的一些常见问题,将其与计算机管理系统结合起来。通过这个系统,管理员可以更加方便的管理逍遥大药房信息;可以清楚的了解逍遥大药房信息管理情况;以管理员登录系统,通过首页,个人中心,用户管理,保健品分类管理,药品分类管理,药品信息管理,疫情常识管理,保健品管理,系统管理,订单管理等功能模板,可以有效的分配各用户的权限。逍遥大药房管理系统在逍遥大药房管理中的应

VMware + CentOS linux命令

安装VMware VMware三种网络配置方式 Bridged桥接模式(推荐):VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器,你需要手工为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信,虚拟系统和宿主机器的关系,就像连接在同一个Hub上的两台电脑。 NAT网络地址转换模式:虚拟系统借助NAT的功能,通

SpringBoot+MyBatisPlus实现读写分离

前言 随着业务量的不断增长,数据库的读写压力也越来越大。为了解决这个问题,我们可以采用读写分离的方案来分担数据库的读写负载。本文将介绍如何使用 Spring Boot + MyBatis Plus + MySQL 实现读写分离。 读写分离原理 读写分离是指将数据库的读操作和写操作分别放到不同的数据库实例上,从而达到分担数据库负载的目的。一般情况下,写操作的频率比读操作高,因此可以将写操作放到主库上

跨平台.NET IDE集成开发-Rider 2023 mac/win版

Rider 2023是一款跨平台的.NET集成开发环境(IDE),由JetBrains开发。它专为开发.NET应用程序而设计,提供了丰富的功能和工具,以提高开发人员的生产力。 →→↓↓载Rider 2023 mac/win版   Rider支持多种编程语言,包括C#、VB.NET、F#、ASP.NET、JavaScript、TypeScript和HTML。这使得开发人员可以在同一个ID

<<  <  1078  1079  1080  1081  1082  1083  1084  1085  1086  1087  1088  >  >>