Java
do...while循环和for循环
do...while循环 对于while语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。 do...while循环和while循环相似,不同的是,do...while循环至少会执行一次。 While和do-While的区别: while先判断后执行。dowhile是先执行后判断! Do...While总是保证循环体会被至少执行一次!这是他们的主要
Java21 + SpringBoot3集成七牛云对象存储OSS,实现文件上传
目录前言实现步骤引入maven依赖修改配置文件创建七牛云配置类创建文件操作服务类创建文件操作控制器前端实现运行效果总结 前言 近日心血来潮想做一个开源项目,目标是做一款可以适配多端、功能完备的模板工程,包含后台管理系统和前台系统,开发者基于此项目进行裁剪和扩展来完成自己的功能开发。本项目为前后端分离开发,后端基于Java21和SpringBoot3开发,后端使用Spring Security、JW
本地缓存Ehcache的应用实践 | 京东云技术团队
java本地缓存包含多个框架,其中常用的包括:Caffeine、Guava Cache和Ehcache, 其中Caffeine号称本地缓存之王,也是近年来被众多程序员推崇的缓存框架,同时也是SpringBoot内置的本地缓存实现。但是除了Caffeine之外,还有一款也不错的本地缓存框架Ehcache,具有快速、灵活,并支持内存和磁盘缓存,且提供了丰富的配置选项和缓存策略,接下来一起了解下Ehca
面试官:Sentinel是如何实现限流的?
限流是一种通过控制系统对外提供的资源、服务或接口的访问数量或速率,以保护系统免受过载的一种策略。 它的目的是确保系统能够在承受范围内提供稳定和可靠的服务,避免因过多的请求而导致系统崩溃、资源耗尽或响应延迟过高的情况发生。 在 Sentinel 中,实现限流的方法有以下两种: 通过代码方法实现限流。 通过 Sentinel 控制台设置实现限流。 1.通过代码实现限流 通过代码实现限流需要以
js 数组和对象的深拷贝的方法
数组深拷贝的方法 方法一:for循环实现 方法二:slice方法原理也比较好理解,他是将原数组中抽离部分出来形成一个新数组。我们只要设置为抽离全部,即可完成数组的深拷贝,如下 方法三:concat方法原理更加粗暴。它是用于连接多个数组组成一个新的数组的方法。那么,我们只要连接它自己,即可完成数组的深拷贝。代码如下 &nbs
C#学习笔记-类型、变量、对象
数据类型 数据类型是性质相同的值的集合,并且伴随着针对不同数据类型的操作。例如 int 和 double 类型,这两种类型在内存中的存储方式不一样,进行各种运算及操作的方式也不一样。容纳数据的内存过小会导致数据丢失精度,容纳的内存过大则会浪费内存空间。 C#是强类型语言,数据受数据类型约束,不允许将一个类型的值赋给另一个类型,如果不强制转换则永远为该类型。而JavaScript为弱类型语言
智能合约进行dapp的开发涉及工具
metamask:浏览器插件钱包 remix:基于流浪起的solidity在线编辑器 geth:以太坊客户端(go语言) web3.js: 以太坊javascript api库 truffle:以太坊开发框架,瑞士军刀 完成 ganache: 搭建以太坊私链
DBeaver Ultimate破解教程
首先感谢大佬们的无私奉献,原文地址:https://www.52pojie.cn/thread-1668629-1-1.html注:本破解方法需要以下工具和开发环境,如果没有,请自行下载搭建或寻找其他的破解方法Java 11+IdeaDBeaverr Ultimate下面开始破解教程1.使用idea创建一个Java项目,并将下面的代码粘贴到main文件中模版下载: DBeaverLicenseCr
SpringBoot - Controller
package com.example.demo.controller; import com.alibaba.fastjson2.JSONObject; import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/books") public class BookController
测试与优化工具及应用
Jmeter Apache JMeter使用教程 下载、配置和使用,创建线程组、HTTP测试等。 Jmeter使用教程 基础使用,HTTP测试,监听器等 Jmeter——数据库压力测试 介绍数据库压力测试,需要根据URL添加响应的驱动包 JMeter 连接MySQL&n
javaee平台技术
3.spring和springboot 3.3spring容器 BeanFactory:创建Bean对象以及管理Bean对象。 ApplicationContext:BeanFactory的子接口,继承了其所有能力外,还追加了其他功能。 控制反转实现机制: 将对象间的依赖交给容器去处理,利用set或构造函数的方法把依赖注射进来,告诉其关联关系,主要已jav
解决缓存与数据库同步下的同步锁问题之分段锁
契子 在实际业务会我们会使用第三方的缓存例如:Reids、Memcache等;但是,并且我们在查询使用缓存时都得尽可能的保证缓存的一致性,在读取时得保证尽可能的保证缓存拿到的是数据库的最新数据,那么在实现的逻辑上一般都为这样: 1、请求线程先读取缓存实现 2、如果缓存没有数据的话触发读取数据库动作 3、将从数据库读取的数据写入缓存 线程安全问题 一般在这里进行缓存加载时都
设计模式--创建者模式
设计模式--创建者模式 目录设计模式--创建者模式创建者模式 创建者模式 单例模式: 破坏单例模式的方法(对枚举方式创建的无效): 序列化和反序列化 反射 解决方法: 对于序列化和反序列化(添加 readResolve( )方法) 对于反射 工厂模式: 简单/静态 工厂,(不属于设计模式,且违背了“开闭原则”) 工厂方法模式 缺点:拓展时,添加
一些值得推荐的golang库
通用工具类增强库: goutil 项目地址:https://github.com/gookit/goutil 简介:Helper Utils(700+): int, byte, string, array/slice, map, struct, dump, convert/format, error, web/http, cli/flag, OS/ENV, filesystem, system,
解决vue eslint 报错 error Component name “about“ should always be multi-word问题
搜索网上大部分解决方案都是在vue.config.js文件下,加入以下代码 如果你会发现并没有什么作用,那么你不妨试试以下操作 找到.eslintrc.js在rules里面加上这么一句 优秀不够,你是否无可替代 软件测试交流QQ群:721256703,期待你的加入!! 欢迎关注我的微信公众号:软件测试君
Java压缩文件为ZIP并加密
1:引入jar包 2:单文件压缩 3.多个文件压缩到一个压缩包里面并加密 4.感谢 原文作者:小小小小真 原文链接:https://blog.csdn.net/a1150499208/article/details/132764591?spm=1001.2014.3001.5502
详解磁盘IO、网络IO、零拷贝IO、BIO、NIO、AIO、IO多路复用(select、poll、epoll)
1. 什么是I/O在计算机操作系统中,所谓的I/O就是输入(Input)和输出(Output),也可以理解为读(Read)和写(Write),针对不同的对象,I/O模式可以划分为磁盘IO模型和网络IO模型。IO操作会涉及到用户空间和内核空间的转换,先来理解以下规则: 内存空间分为用户空间和内核空间,也称为用户缓冲区和内核缓冲区
Stream流的常用操作
Stream流的一些操作 这段时间在项目开发中使用到Java8 的 Stream流操作发现真的特别方便,这里总结了一些常用的stream流操作. 1 简介 在使用Stream流之前先来简单介绍一下: 1 Stream事java8才提供的一种以流的方式来处理数据集的一种手段,凡是属于Collection接口之下的所有字类或者子接口都可以使用Collection.stream()方法来获取到一
Springboot项目发布war到tomcat
springboot项目有些日子没有开发了,新做一个min spring boot项目,复习下项目开发及发布流程。 1.新建项目: 2.新建一个业务controller controller名称及方法,名称随意,项目结构如下: testcontroller代码文件的内容如下: 3.修改启动配置 然后在项目的启动文件APP.java中修改启动配置如下: 其中继
MyBatis的逆向工程教程
MyBatis逆向工程是指根据数据库表结构自动生成对应的实体类、Mapper接口以及SQL映射文件的过程。这个过程可以通过MyBatis提供的逆向工程工具来完成,极大地方便了开发人员,避免了重复的代码编写,提高了开发效率。 创建逆向工程的步骤 1、添加依赖&插件 构建完成以后,Maven插件管理列表: 2、创建逆向工程配置文件generatorConfig.xml 在resources
[LeetCode] 292. Nim Game
You are playing the following Nim Game with your friend: Initially, there is a heap of stones on the table. You and your friend will alternate taking turns, and you go first. On each turn, the person
RocketMQ—RocketMQ发送同步、异步、单向、延迟、批量、顺序、批量消息、带标签消息
RocketMQ—RocketMQ发送同步、异步、单向、延迟、批量、顺序、批量消息、带标签消息 发送同步消息 生产者发送消息,mq进行确认,然后返回给生产者状态。这就是同步消息。 前文demo程序就是发送的同步消息。 发送异步消息 异步消息通常用在对响应时间敏感的业务场景,即发送端不能容忍长时间地等待Broker的响应。发送完以后会有一个异步消息通知。 代码如下: 从运行结果可以看到是不同的
设计模式浅析(二) ·观察者模式
设计模式浅析(二) ·观察者模式 日常叨逼叨 java设计模式浅析,如果觉得对你有帮助,记得一键三连,谢谢各位观众老爷😁😁 案例介绍 假设存在下面这个场景: 你有一个监测空气湿度和温度的仪器,在该仪器获取到数值之后,你需要获取到一些数值,然后分别显示在一些显示设备(手机,平板,手环 巴拉巴拉巴拉 无所谓了)上。 然后呢,硬件设备的开发人员告诉你,这个data对象呢类图如下,其中包含两个变
jquery+向上滚动
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta
2023/01/23
设计找回密码页面,为了达到页面的复用,这里设计了两层,一层用来查询账号是否存在,另一层用于修改密码。 新增一条数据库查询操作方法 然后是在servlet里的操作和重定向 然后就是修改密码界面
安卓开发六——账本的条目视图的适配
我们的一条数据项目包括,收入(指出)、说明、日期、金额四项,所以我们要自定义一个适配器 这里适配器的一个列表的各个单位的类型是一个打包好的类的类型。这个类也是自己创建的 最后再在我们的页面操作了Java程序中按照我们打包好的列表进行适配得到我们需要的页面。