Java
reduce实现异步串行重复请求同一个接口
在项目中会遇到循环请求接口的情况,不管使用 for、forEach、map 进行循环都会出现并行请求接口出现高并发,使用reduce实现异步串行重复请求同接口,等待上一次请求结束后在进入下一次请求。 需要循环的对象数组: let loopList = [ { code:1, name:"名称1", para:"1" },{
go并发编程系列六:线程分组及控制线程的合作执行
背景:线程的合作执行,体现的是团结协作,应该是比较理想的状态,如果人人都能够少一些算计、多一点互帮互助,那该有多好啊?班主任不是资本家,班级更应该提倡团队精神,学生之间不应该竞争,应该互相协作!本文以团结协作为出发点,讲解线程的合作执行。 TRANSLATE with x English Arabic Hebrew Polish Bulgarian Hi
MultipartFile 接口的理解
MultipartFile 是一个常见于Java Web应用程序中的接口,通常用于处理HTTP请求中的文件上传。这个接口的主要目的是允许开发者在服务器端处理客户端通过表单上传的文件数据。以下是对 MultipartFile 接口的一些关键含义和解释: 文件上传处理:MultipartFile 接口使Java开发者能够轻松地处理客户端上传的文件。通过它,您可以在后端代码中获取、保存、验证和处理上
06 微信登录、商品浏览
06 微信登录、商品浏览 苍穹外卖-day06 课程内容 HttpClient 微信小程序开发 微信登录 导入商品浏览功能代码 功能实现:微信登录、商品浏览 微信登录效果图: 商品浏览效果图: 1. HttpClient 1.1 介绍 HttpClient 是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具
Leetcode 剑指 Offer 58 - II. 左旋转字符串(Zuo xuan zhuan zi fu chuan lcof)
题目链接 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。 示例 1: 示例 2: 提示: 1 <= k < s.length <= 10000 思路 首先反转前n个字符, 再反转后n个字符, 最后将整个字符串反转即可得
纯分享:将MySql的建表DDL转为PostgreSql的DDL
背景 现在信创是搞得如火如荼,在这个浪潮下,数据库也是从之前熟悉的Mysql换到了某国产数据库。 该数据库我倒是想吐槽吐槽,它是基于Postgre 9.x的基础上改的,至于改了啥,我也没去详细了解,当初的数据库POC测试和后续的选型没太参与,但对于我一个开发人员的角度来说,它给我带来的不便主要是客户端GUI工具这块。 我们读写数据库,程序这块还好,CURD代码用到的语法,基本是sql标准兼容的那些
【性能测试】JVM自带内存分析工具详解
一、Jstat使用(重点) Jstat命令是jvm调优非常重要,且非常有效的命令。具体用法如下: 1. 垃圾回收统计 jstat -gc jstat -gc 进程id这个命令非常常用,在线上有问题的时候,可以通过这个命令来分析问题。 下面我们来测试一下,启动一个项目,然后在终端驶入jstat -gc 进程id,得到如下结果 上面的参数分别是什么意思呢?先识别参数的含义,然后根据参数进行分析 S0
设计模式:迭代器模式
设计模式 wiki中将设计模式分为四类,分别是: 创建模式(creational patterns) 结构模式(structural patterns) 行为模式(behavioral patterns) 并发模式(concurrency patterns) 迭代器模式属于其中的行为模式。 迭代器做的只有一件事,就是解决集合的遍历问题。 以下是wiki对迭代器模式的概括性描述: Provid
FastJson中将JSON解析成对象时发生错误:Exception in thread “main“ java.lang.ClassFormatError: Illegal UTF8 string
转: FastJson中将JSON解析成对象时发生错误:Exception in thread “main“ java.lang.ClassFormatError: Illegal UTF8 string 原因 实体类 路径不能包含中文 包的名称包含了中文 解决方法 将包的名称中的中文字符删除,就不会出现非法字符串错误了 结果
Typora具体格式应用
Typora具体格式应用 一.标题: #+空格 一级标题 ##+空格 二级标题 .......最多六级标题 二. 字体样式: 粗体 斜体 加粗加斜 删除 引用 第一次写博客,请大家多多关照 分割线 “***”“---” 三. 链接,列表 1. 超链接 超链接 2. 列表 有序列表 a b c 无序列表 A B C 四. 表格 | 名字 | 性别 | 生日
weblogic-CVE-2018-2894-任意文件上传漏洞复现
目录weblogic/CVE-2018-2894漏洞复现 weblogic/CVE-2018-2894 复现环境:Vulhub 访问 http://192.168.80.141:7001/console/,即可看到后台登录页面 执行sudo docker-compose logs | grep password可查看管理员密码,管理员用户名为weblogic。 密码为:cxg7mOes 登
【HTML】HTML笔记
HTML笔记 网页相关概念 HTML是超文本标记语言(Hyper Text Markup Language),是用来描述网页的一种语言。 HTML不是一种编程语言,而是一种标记语言。 超文本指的是: 超越了文本限制:可以加入图片、声音、动画、多媒体等内容。 超级链接文本:可以从一个文件跳转到另一个文件,与世界各地主机的文件连接。 常用浏览器及其内核 浏览器内核(渲染引擎):负责读取网页信息,整
MQTT vs. XMPP,哪一个才是IoT通讯协议的正解
MQTT vs. XMPP,哪一个才是IoT通讯协议的正解 这是个有趣的话题! 先来聊几个小故事。 关于我和MQTT 我在人生第一个IoT项目里,第一次接触到MQTT协议。 我很快就理解了这个协议。因为,它和企业开发用的MQ产品实在是太像了。 在我职业生涯早期,是的,20年前,当时做一个银行的项目,就用过MQ这东西,那个项目使用了IBM MQ。随着工作经验的增加,在另外一些项目中,也会接触使用到M
[LeetCode] 1921. Eliminate Maximum Number of Monsters
You are playing a video game where you are defending your city from a group of n monsters. You are given a 0-indexed integer array dist of size n, where dist[i]
vue--day76--vuex 模块化+命名空间
7.模块化+命名空间 1. 目的:让代码更好维护,让多种数据分类更加明确。 2. 修改```store.js``` ```javascript const countAbout = { namespaced:true,//开启命名空间 &n
基于SpringBoot框架实现策略设计模式
策略设计模式属于行为设计模式,这种模式可以使得程序在运行的时候,可以根据场景动态的选择适合的策略逻辑去执行,并且根据不同的需求可以去新增、修改不同的策略逻辑,具有极强的扩展性、可维护性 前几日面试,遇见这么一个业务场景: 饮品订单计价实现 饮品店有6种饮品出售: 椰果奶茶:10元 西米奶茶:10元 蜂蜜奶茶:12元 杏仁奶茶:14元 美
ElasticSearch使用实践(文档操作)
可以使用Docker安装ES和Kibana: 使用docker-compose安装ElasticSearch和Kibana: 执行: 运行完毕后,访问本机的5601端口就可以看到Kibana的界面 数据基本操作 数据层面的基本概念: 索引:一类相似文档的集合,ES将数据存储在一个或多个index中。一个索引有多个分片,索引的数据会以某种方式分散到各个分片上存储 mapping:定义了索引里的
【UE入门】学习指导
学习虚幻的15个途径 UE官方文档 UE在线学习平台(网课视频教学) UE官方论坛 UE官方微信订阅号 bilibili视频教学网站 UE相关书籍(从入门到显卡冒烟) 系列系统教程 / 报班 CSDN相关UE技术文章 Reddit论坛网(需高效上网,英文论坛) 搜索引擎(谷歌,百度) youtube油管(需高效上网,英文视频教程) 各种UE的QQ群
JAVA SE基础《十一》 ---- 面对对象高级二
目录 一、面对对象的三大特征之三:多态 1、认识多态 2、使用多态的好处 3、多态下的类型转换问题 二、final 1、认识final 2、补充知识:常量详解 三、抽象类 1、认识抽象类 2、使用抽象类的好处 3、抽象类的常见应用场景:模板方法设计模式 四、接口 1、接口概述 2、接口的综合案例 3、接口的其他细节:JDK8开始,接口中新增的三种方法、
go并发编程系列五:线程分组及控制线程的按序执行
背景:本文是对:go并发编程系列四:线程分组及控制线程的交替执行 的扩展,假定场景基本一致,唯一不同的是:本文中的张三、李四需要按序执行,通俗的讲就是:张三、李四对应的线程虽然同属于一组,但谁的线程先执行,就由谁优先完成班主任规定的一组任务。 拆分为技术片段的话,意味着:张三、李四对应的线程由普通线程变成了各自持有互斥锁的线程,哪个线程先获得锁,就由哪个线程先执行规定的一组任务。 代码如