Java
java 自定义读取properties配置文件属性
把属性存到一个map里,并提供get方法,如果没有获取到值,则重新加载一遍配置文件,重新赋值,从而刷新数package com.aaa.demo.testProperties;
import时加{}与不加的区别
在javascript中,使用import语句导入模块时,加上花括号{}与不加的区别在于: 1.不加花括号 导入整个模块对象。 例如: 会导入整个axios模块,可以通过axios.get()等方法来使用它。 2.加上花括号 只导入模块中的指定变量或函数。 例如: 只导入了axios模块中的get和post方法,可以直接使用get()和post()调用。 3.export defaul
JavaWeb和MVC三层架构
JavaWeb 概述 网站发布和部署一定要依托技术语言吗: 不一定,一个网站可以直接发布和部署,因为因为浏览器能够识别网页只需要两样东西,网络和静态页面,还有一个装在他们的容器,比如 nginx。 静态页面面临的问题: 1:静态网页是固定的,是不可变的。如果一个网站比如腾讯首页,这里需要 1000 文章,那么就必须编写 1000 的 html 页面。 2:难以管理维护,而且需要大量人工去查
负载均衡算法: 简单轮询算法, 平滑加权轮询, 一致性hash算法, 随机轮询, 加权随机轮询, 最小活跃数算法(基于dubbo) java代码实现
直接上干活 /** * @version 1.0.0 * @@menu <p> * @date 2020/11/17 16:28 */ public class LoadBlance { static Map<String, Integer> serverWeightMap = new HashMap&
根据URL批量下载文件并压缩成zip文件
根据url批量下载图片或者视频,只需要将图片的url和名称放到数组对象即可,例如: 将fileArr文件传入到下面的函数中 函数封装好后,在对应的页面引入该函数,然后将fileArr, zipName传入即可,例如: 参考文章:https://blog.csdn.net/qq_41131745/article/details/128874556
Redis中使用Lua脚本
一、简介 Redis中为什么引入Lua脚本?Redis是高性能的key-value内存数据库,在部分场景下,是对关系数据库的良好补充。Redis提供了非常丰富的指令集,官网上提供了200多个命令。但是某些特定领域,需要扩充若干指令原子性执行时,仅使用原生命令便无法完成。Redis 为这样的用户场景提供了 lua 脚本支持,用户可以向服务器发送 lua 脚本来执行自定义动作,获取脚本的响应数据。R
快速上手NPM包管理
NPM官网 前提 安装nodejs 检测安装成功的命令 显示版本号即为安装成功 快速上手教程 第一步注册NPM账号官网在上面 第二步骤随便找个地方新建一个文件夹 然后这个文件夹我们用CMD来打开 输入命令创建一个NPM文件夹 进入文件夹拿上面的来示范吧 初始化npm 然后一直回车即可 然后返回文件夹你会看见一个json文件 内容示范 可以看见有一个入口
SpringBoot + Redis 执行lua脚本
1、背景 有时候,我们需要一次性操作多个 Redis 命令,但是 这样的多个操作不具备原子性,而且 Redis 的事务也不够强大,不支持事务的回滚,还无法实现命令之间的逻辑关系计算。所以,一般在开发中,我们会利用 lua 脚本来实现 Redis 的事务。 2、lua 脚本 Redis 中使用 lua 脚本,我们需要注意的是,从 Redis 2.6.0后才支持 lua 脚本的执行。使用 lua 脚
Apache RocketMQ 远程代码执行漏洞(CVE-2023-33246)
漏洞简介 RocketMQ 5.1.0及以下版本,在一定条件下,存在远程命令执行风险。RocketMQ的NameServer、Broker、Controller等多个组件外网泄露,缺乏权限验证,攻击者可以利用该漏洞利用更新配置功能以RocketMQ运行的系统用户身份执行命令。 此外,攻击者可以通过伪造 RocketMQ 协议内容来达到同样的效果。 影响版本 5.0.0 <= Apache R
SpringDataJpa对拿到的对象进行set,但是不save,数据库也能自动更新,由于使用了注解 @Transactional事务进行处理
SpringDataJpa对拿到的对象进行set,但是不save,数据库也能自动更新,由于使用了注解 @Transactional事务进行处理 原文链接:https://blog.csdn.net/qq_19903753/article/details/103367252
为什么list.sort()比Stream().sorted()更快?
昨天写了一篇文章《小细节,大问题。分享一次代码优化的过程》,里面提到了list.sort()和list.strem().sorted()排序的差异。 说到list sort()排序比stream().sorted()排序性能更好。 但没说到为什么。 有朋友也提到了这一点。 本文重新开始,先问是不是,再问为什么。 真的更好吗? 先简单写个demo 输出 由此可见list原生排序性能更好。
2023年8月1日 天气:晴
今天早上起来背了10个英语单词,然后学习了一个小时的java,写了一会英语阅读,然后和朋友出去打了两个小时的羽毛球,最后写了一会作业。 明天打算看一小时的电视剧,然后和朋友出去玩一会,打一两个小时的篮球,最后晚上练一小时的字,然后学习一小时的java。
线程池如何创建及使用
在 Java 中,使用线程池可以更有效地管理和控制线程的创建和回收,提高系统的性能和资源利用率。 使用原则:线程池尽量不要使用的时候创建,不要在方法中创建线程池,这样会频繁创建线程时。应该在项目启动时就把线程池创建好。 一、创建线程池: 1、使用 ExecutorService 接口的
synchronized的理解及使用
synchronized 是 Java 中用于实现线程同步的关键字,它可以应用于方法或代码块上。它的作用是确保在同一时间只有一个线程可以执行被 synchronized 修饰的代码,从而避免多线程并发访问共享资源导致的数据不一致或冲突问题。 理解 synchronized 的关键概念是"互斥访问"和"可见性": 1.互斥访问:当一个线程获得了 synchronized 修饰的方法或代码块的锁,其他
SpringBoot 打jar包后下载static文件夹下的文件
前端: 后端: @RequestMapping(value = {"downloadFile"}) public void downloadFile(HttpServletResponse response) { InputStream inputStream = null; OutputStream outputStream = null; fileName="aaa.pdf"; try {
AJAX--ajax的跨域问题及解决方案
跨域 跨域是指从一个域名的网页去请求另一个域名的资源 例如:从百度页面请求京东的资源 通过超链接是可以跨域访问 form表单发送请求可以跨域访问 window.location.href document.location.href可以跨域访问 使用script标签加载js文件,可以跨域 加载其他站点的图片也可以跨域 ajax是否可以跨域 默认情况下,发送ajax跨域请求会出现一
COS SDK有Flutter和React Native版本啦
Flutter 和 React Native 是目前最流行的跨平台框架,经过了时间的考验,也有成熟的团队在SDK、文档、社区等方面进行支持。 相对于传统的原生开发,跨平台方案在开发测试成本、产品一致性等方面有一定的优势。但是有时候使用第三方库时只有原生库,没有对应的 Flutter 和 React Native 库,这时候往往需要自行桥接,桥接会有一定的开发成本。现在COS SDK 提供了 Flu
java异常体系(错误和异常)
异常体系图示 Thorwable是整个错误和异常的父类 程序无法处理的 由JVM产生或抛出的叫做错误Error 异常Exception 包括 运行时异常和非运行时异常 运行时异常(非受检) 是程序未检测出来的异常,这种错误一般是由我们的逻辑错误所引起的 逻辑错误造成的异常仅运行期间才能被检测 ArithmeticException:算数异常 Null
cglib实现动态代理
一、jdk动态代理的问题 使用jdk动态代理存在一个问题,jdk提供的动态代理只能为拥有接口的类进行动态代理,但是对于没有实现接口的类,则没有办法进行动态代理。 二、什么是cglib动态代理 cglib是是第三方的工具库。其原理是继承,cglib通过继承目标类,创建他的子类,在子类当中重写父类的相关方法,实现功能的增强。 三、cglib基本结构 下图所示,代理类去继承目标类,每次调用代理
Sprint Boot学习路线3
嵌入式服务器 Spring Boot 的嵌入式服务器功能是一项方便而强大的功能,它允许你在应用程序中直接运行 Web 服务器,无需将其部署到单独的独立 Web 服务器中。这使得开发、测试和部署 Web 应用程序变得容易,而且它还是轻量级的、易于启动和停止的,易于配置。 Hibernate Hibernate是一个Java框架,它提供了对象关系映射到面向对象模型到关系数据库。这意味着Hibernat
【数据库】编码-基于JDBC--待补充
参考:https://www.liaoxuefeng.com/wiki/1252599548343744/1321748435828770 关键词:连接池 基本编码 代码: 核心代码是DriverManager提供的静态方法getConnection()。DriverManager会自动扫描classpath,找到所有的JDBC驱动,然后根