Java
设计模式—行为型模式之观察者模式
设计模式—行为型模式之观察者模式 观察者模式(Observer Pattern):定义对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。这是一种对象行为型模
SpringBoot项目通过注解快速解决,字典翻译,响应数据加密,数据脱敏等问题
简介 在几乎所有SpringBoot项目中都会面临字典翻译,接口数据加密,数据脱敏的问题。在每个接口中单独的解决会非常繁琐,因此接下来介绍一下怎么通过注解快速解决这些问题。 实现步骤 1.引入maven坐标 2.实现处理器接口 因为每个项目的处理方式不同(比如字典翻译可以是在项目中直接写死,也可以根据dictCode在Redis或MongoDB中查找),所以这一步是必须的。 注意:我以字典翻译
spring--集成RocketMQ
在Spring Boot中集成RocketMQ通常涉及以下步骤: 添加依赖:首先,需要在项目的pom.xml文件中添加RocketMQ的Spring Boot Starter依赖。 确保使用与你的Spring Boot版本兼容的RocketMQ Starter版本。 配置属性:在application.properties或application.yml文件中配置RocketMQ的属性,例
《程序是怎样跑起来的》第一章随笔
对我来说CPU是什么? 相当于人们的大脑,在计算机中是关键核心之一。 CPU是什么? CPU中文名为中央处理器,相当于计算机的大脑,由寄存器,控制器,运算器和时钟组成 用来将指令的执行顺序组织起来,并按照规定的顺序进行操作,以确保计算机系统能够正常运行。 寄存器 寄存器可用来暂存指令、数据等处理对象,可以看作内存(内存(大)中包含缓存)的一种。 控制器 控制器负责把内存上的指令、数据等读入寄存器,
【Servlet】Servlet快速入门
Servlet简介 在Java的Web开发中,Servlet是一种用于处理HTTP请求和响应的Java程序。 Servlet通常被部署在支持Java的Web服务器上,如Apache Tomcat。 在Servlet中,Request对象和Response对象是两个重要的接口,它们用于处理客户端发来的请求和向客户端发送响应。 Servlet快速入门 创建Maven Web项目,导入Servl
【Servlet】Request请求对象 && Response响应对象 && 资源路径问题
Request&&Response简介 在Servlet中,Request对象和Response对象是两个重要的接口,它们用于处理客户端发来的请求和向客户端发送响应。 Request对象 Request:获取请求数据 Request继承体系 Request获取请求数据 Request使用通用方式获取请求参数 Request请求参数中中文乱码问题 Request完成请
Java_讨论类加载器的双亲委派机制
双亲委派机制 简而言之,当某个类加载器在接到加载请求时,优先会将任务委托给父类加载器,一直到最顶层的类加载器,如果不能成功加载,才会尝试自己加载 java.lang.ClassLoader 按照类库的设计思路,如果想实现自己的类加载器,我们应该重写findClass(),这样不会破坏双亲委派机制 优点和限制 优点比较明显,java核心类永远由上层类加载器加载(索引指定位置),不会出现代码里自定义
『周记』2024第三周杂记(上)
『周记』2024第三周杂记(上) 这一周我彻底拥抱新生活了,已经不知道能不能写下,可能篇幅会超级翻倍!现在是1.20,周六的早上,当然,是UTC-8的。我正在听着很轻快的清晨歌单准备整理这周发生的事情,以及规划我的周末,所以下篇可能会在周日晚或周一早更新。 外面在下淅淅沥沥的小雨,窗子透进来的气息很清新。 总结 这周简直棒呆了!作息变成了非常健康的样子,可能是白天太忙太
Flink DataStream API 总结
流程如下 Environment(执行环境) -> Source(数据源) -> Transformation(转换操作) -> Sink(输出) 1.Environment(执行环境) 2.Source(数据源) Flink 从各种来源获取数据,然后构建DataStream进行转换处理。 1.分类 1.Version < Flink1.12 在 Flink1.12 以前
RabbitMQ学习五 springboot连接RabbitMQ
一、入门 引入依赖 在springboot中引入spring-amqp-starter <!--amqp的起步依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifa
RabbitMQ学习六 生产者可靠性
一、生产者重连 由于网络波动可能造成客户端连接MQ失败的情况,通过配置可以开启连接失败后的重连机制: spring: rabbitmq: addresses: xxx.xx.xx.xx port: 5672 username: xxxxx password: xxxx virtual-host: /xxxx connection-timeout:
Win32 编程 Windows API 使用(一)
1. Window API 通常,Win32 是指WindowsAPI,也指 Microsoft Windows 操作系统的 32 位环境,和 Win64 Windows 常见环境。早期的操作系统为16位(window1.0),Win98/XP之后出现32位和64位,Win32即也是32位和64位的统称。 所谓Win32 编程,即主要使用GUI 构图,编写一套程序。除了使用原生的Win
[安全警报] Npm木马利用“Oscompatible“包悄然安装AnyDesk
最近,一个名为OsCompatible的恶意包被上传到npm 。该包被发现包含一个针对 Windows 的远程访问木马。 这个名为OsCompatible的软件包于2024年1月9日发布,在被撤下之前共吸引了380次下载。 据了解,OsCompatible包含“几个奇怪的二进制文件”,包括一个可执行文件、一个动态链接库(DLL)和一个加密的DAT文件,以及一个JavaScript文件index.j
Stream toList不能滥用以及与collect(Collectors.toList())的区别
Stream toList()返回的是只读List原则上不可修改,collect(Collectors.toList())默认返回的是ArrayList,可以增删改查 1. 背景 在公司看到开发环境突然发现了UnsupportedOperationException 报错,想到了不是自己throw的应该就是操作collection不当。 发现的确是同事使用了类似stringList.stream(
Mac/Centos安装elasticsearch7.14.0
一、安装包安装 1.下载 访问 ElasticSearch 官网 进行下载 2.解压 3.配置 进入 ElasticSearch 安装目录的 config 目录在 elasticsearch.yml 文件中添加如下信息。 4.启动 进入到 /bin目录,执行sh elasticsearch看到如下日志代表启动成功 5.错误 如果出现如下错误 进入 ElasticSearch 安装目录的
在 SpringBoot 项目中使用 MDC 实现日志 traceId 的统一
前言 在项目中,对于每一次请求,我们都需要一个 traceId 将整个请求链路串联起来,这样就会很方便我们根据日志排查问题。但是如果每次打印日志都需要手动传递 traceId 参数,也会很麻烦, MDC 就是为了解决这个场景而使用的。 注:这里我们使用 slf4j + logback logback 配置 logback.xml [%X{traceId}] 就是我们系统中需要使用的唯一标识,
Java连接8.0版本以上的数据库
一. 连接数据库 在使用Java连接8.0版本以上的数据库时,可以按照如下步骤: 下载需要的包,本次教程中使用的是下面这个版本。该驱动网上有许多资源,可根据自己的需求下载。 建立与数据库的连接单元 在合适的包下新建"DButil.java"文件 并输入如下代码: ** 参考资料** https://bailey.pinruikm.com/2019/05/14/project/%
在Java中连接8.0版本以上的Mysql数据库
一. 连接数据库 在使用Java连接8.0版本以上的数据库时,可以按照如下步骤: 下载需要的包,本次教程中使用的是下面这个版本。该驱动网上有许多资源,可根据自己的需求下载。 建立与数据库的连接单元 在合适的包下新建"DButil.java"文件 并输入如下代码: ** 参考资料** https://bailey.pinruikm.com/2019/05/14/project/%
万字长文,一篇吃透WebSocket:概念、原理、易错常识、动手实践
万字长文,一篇吃透WebSocket:概念、原理、易错常识、动手实践 转载自:https://cloud.tencent.com/developer/article/1887095 原作者原文:http://www.52im.net/thread-3713-1-1.html 文章被收录于专栏:即时通讯技术即时通讯技术
Java实现Excel导入和导出
目录 目录 前言 1. 功能测试 1.1 测试准备 1.2 数据导入 1.2.1 导入解析为JSON 1.2.2 导入解析为对象(基础) 1.2.3 导入解析为对象(字段自动映射) 1.2.4 导入解析为对象(获取行号) 1.2.5 导入解析为对象(获取原始数据) 1.2.6 导入解析为对象(获取错误提示) 1.2.7 导入解析为对象(限制字段长度) 1.2.8 导入解析为
MrakDown新手使用
标题通过#加空格显示 几级标题就用几个# ,最多6级标题 MarkDown学习 二级标题 字体 字体加粗用** **,或ctrl+b 字体倾斜用* *,或ctrl+i 字体加粗且倾斜用 *** *** 字体删除线用~~ ~~,或ctrl+u helloword helloword helloword helloword 引用 引用通过>+空格 千夜学j
关于使用SSM+JSP开发时setter、getter隐式调用问题的小结
【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://www.cnblogs.com/cnb-yuchen/p/17977495 出自【进步*于辰的博客】 之前使用SSM+JSP做网站开发,由于没有注意setter、getter的隐式调用问题,出现了多次bug,对开发进度影响挺大。因此,特来作这篇文章跟大家分享,帮在使用SSM开发的博友们避避坑。 参考笔记三,P