Java

理解Set集合数据结构

一、Set的基本概念 Set是一种包含不重复元素的集合。与List(列表)不同,Set中的元素是无序的,不能通过索引来访问。Set中的每个元素都是唯一的,重复的元素将被 自动剔除。 二、Set的常见操作 1.添加元素:使用add()方法向Set中添加新元素。如果添加的元素已经存在于Set中,则不会有任何改变。 2.删除元素:使用remove()方法从Set中删除指定的元素。如果要删除的元素不存在,

奇富科技:大数据任务从诊断到自愈的实践之路

一、为什么要做诊断引擎 毓数平台是奇富科技公司自主研发的一站式大数据管理、开发、分析平台,覆盖大数据资产管理、数据开发及任务调度、自助分析及可视化、统一指标管理等多个数据生命周期流程,让用户使用数据的同时,挖掘数据最大的价值。而毓数平台的大数据任务调度底层是基于Apache DolphinScheduler实现的。 整个大数据平台有1000+机器、70P数据量,每日新增200T数据。每天在毓数工作

基于 GPU 渲染的高性能空间包围计算

空间包围检测在计算机图形学、虚拟仿真、工业生产等有着广泛的应用。 现代煤矿开采过程中,安全一直是最大的挑战之一。地质空间中存在诸多如瓦斯积聚、地质构造异常、水文条件不利等隐蔽致灾因素,一旦被触发,可能引发灾难性的后果。因此在安全生产过程中有效的管理和规避各隐蔽致灾因素,有着重要的意义。 通过对煤矿地质空间中各地质因素建模,建立空间数据库,还原地下真实场景,使用计算机图形学进行空间计算,可以实时监测

MarkDown的使用学习记录

标题 一级标题的形成:“井号”+“空格”+“标题” 二级标题的形成:“井号”+“井号”+“空格”+“标题” 三级标题的形成:“井号”+“井号”+“井号”+“空格”+“标题” (以此类推,最多有六级标题) 字体 粗体 :在字的两边各加两个* 斜体:在字的两边各加一个* 斜体加粗:在字的两边各加三个* 删除线:在字的两边各加两个~ 引用 ">"+"空格" 变成引用 分割线 分割线:三个杠-

解决 JUnit 版本引起的 SpringBoot 测试环境加载问题

SpringBoot项目初始化后尝试自己编写测试类时报错空指针异常,在此记录下解决方法,如有错误,欢迎指正! 1. 问题描述 1.1 报错信息 在执行 Spring Boot 单元测试时遇到如下报错信息: 1.2 报错代码 src/test/java/com/thr/usercenter/SampleTest.java 2. 报错分析 报错说明在代码中的这行: List<U

ThreadPoolExecutor源码阅读

目录简介继承结构ExecutorExecutorServiceAbstractExecutorServiceExecutorCompletionService线程池配置代码分析成员变量方法总结参考链接 本人的源码阅读主要聚焦于类的使用场景,一般只在java层面进行分析,没有深入到一些native方法的实现。并且由于知识储备不完整,很可能出现疏漏甚至是谬误,欢迎指出共同学习 本文基于corrett

线程分批处理数据及MyBatis的批量插入

文章目录 一、背景 二、代码实现: 三、分页查询下游批次处理场景 四、MyBatis的批量插入 1、活动表简单表结构: 2、业务层组装数据: 一、背景 数据量较多时,我们常常遇到需要分批处理的情况,比如上千上万数据需要需要操作数据库时(入库或者更新),我们想到分批处理,或者解析文件数据量较多,我们可能多线程分批处理,每个线程执行一定的批次数据等… 不管何种场景,当我们想到分批处理时,那如何分批,怎

为什么不能这样使用 Object.assign(state, { visibilityFilter: action.filter })

为什么不能这样使用 Object.assign(state, { visibilityFilter: action.filter })? 在Redux的reducer中,直接使用Object.assign(state, { visibilityFilter: action.filter })来修改状态是不推荐的做法。原因如下: 纯函数原则: Redux要求reducer必须是一个纯函数,即给定

前端获取视频编码

https://github.com/gpac/mp4box.js

推荐几款IDEA插件,助你玩转Mybatis开发

在软件开发的征程中,MyBatis 框架一直是 Java 开发者中的首选,其简洁的 SQL 映射和强大的灵活性使其成为持久层框架的瑰宝。然而,在我们开发过程中,很多人都曾面对过一个相对繁琐的问题:如何高效而准确地将数据库表映射到实体类和相应的 Mapper 文件中?如何将单测日志中的SQL LOG 快速高效的解析出来? 当然在将数据库表映射到实体类和相应的 Mapper 文件中我们可以采用代码生成

C++ Qt开发:运用QJSON模块解析数据

Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用QJson组件的实现对JSON文本的灵活解析功能。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和编写,也易于机器解析和生成。该格式是基于Java

【滑动窗口】应用 II

目录题目列表应用Leetcode 643. 子数组最大平均数 I题目解题思路代码实现Leetcode 3. 无重复字符的最长子串题目解题思路代码实现Leetcode 159. 至多包含两个不同字符的最长子串题目解题思路代码实现Leetcode 209. 长度最小的子数组题目解题思路代码实现 题目列表 题目列表: 序号 题目 难度 1 643. 子数组最大平均数 I 简单 2 3.

synchronized和ReentrantLock有什么区别?

在 Java 中,常用的锁有两种:synchronized(内置锁)和 ReentrantLock(可重入锁),二者的功效都是相同得,但又有很多不同点,所以我们今天就来聊聊。 区别1:用法不同 synchronized 可用来修饰普通方法、静态方法和代码块,而 ReentrantLock 只能用在代码块上。 synchronized 基础使用 使用 synchronized 修饰代码块: R

全屏 & 退出全屏

export const requestFullScreen = ele => { if (ele.requestFullscreen) { ele.requestFullscreen() } else if (ele.webkitRequestFullScreen) { ele.webkitRequestFullScreen() } else if (ele.

swagger的使用

swagger的使用 1、导入依赖 <!-- swagger依赖--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId>

java 两个mongo库数据迁移

public static void main(String[] args) { String collectionname = "test"; // MongoDB URI String uri = "mongodb://用户名:密码@ip:端口/mydatabase?authSource=mongo"; // Con

项目整体架构设计,技术选型:架构师要通盘考虑项目技术

技术选型:架构师要通盘考虑项目技术 1 用户层 H5、Vue.js、ElementUI、apache echarts(展示图表)等技术。而在构建移动端应用时,我们会使用到微信小程序。 2 网关层 Http服务器,部署静态资源,访问性能高。在Nginx中还有两个比较重要的作用: 反向代理和负载均衡 3 应用层 SpringBoot: 快速构建Spring项目, 采用 "约定优于配置" 的思想, 简化

java用多线程批次查询大量数据(Callable返回数据)方式

我看到有的数据库是一万条数据和八万条数据还有十几万条,几百万的数据,然后我就想拿这些数据测试一下,发现如果用java和数据库查询就连一万多条的数据查询出来就要10s左右,感觉太慢了。然后网上都说各种加索引,加索引貌似是有查询条件时在某个字段加索引比较快一些,但是毕竟是人家的库不能瞎动,再者说了,数据量偏大一点的,条件加上也还有好多数据怎么办,我想到了多线程的方式,话不多说,开始弄 多线程有好几种方

LIst<实体>复制

要将一个List<实体>复制到另一个List<实体2>上,你可以使用以下方法: 遍历原始列表,将每个元素转换为实体2,然后添加到新列表中。 使用Java 8的Stream API进行转换和收集。 这里是一个示例: import java.util.ArrayList;import java.util.List;import java.util.stream.Collec

一站式指南:ClkLog部署环境配置指南

在今天的数字化世界中,数据管理和分析工具的选择对于企业的成功至关重要。ClkLog作为一款强大的日志分析工具,能够帮助企业从海量数据中洞察业务、提升效率。然而,如何才能顺利部署ClkLog系统,使其最大化地服务于您的业务呢?本篇文章将提供一站式的ClkLog部署指南,无论您是IT新手还是资深工程师,都能通过我们的指南,轻松掌握ClkLog的部署步骤和技巧,使得数据的收集、分析和管理变得更加简单、

进程启动

进程启动 三个常规api 1.WinExec 函数介绍:运行一个指定的程序。 函数原型如下: 函数成功:return Value>31 函数失败:返回以下值 0:系统内存资源不足 ERROR_BAD_FORMAT:exe文件无效 ERROR_FILE_NOT_FOUND:找不到文件 ERROR_PATH_NOT_FOUND:找不到路径 使用 WinExec 函数执行删除 C 盘下的所有

云原生周刊:K8s 1.26 到 1.29 版本的更新 | 2024.1.29

开源项目推荐 Skaffold Skaffold 是一个命令行工具,有助于 Kubernetes 应用程序的持续开发。您可以在本地迭代应用程序源代码,然后部署到本地或远程 Kubernetes 集群。Skaffold 处理构建、推送和部署应用程序的工作流程。它还提供构建块并描述 CI/CD 流水线的自定义。 Jib Jib 无需 Docker 守护进程,也无需深入掌握 Docker 最佳实践,即可

thingsboard

安装部署 官网:http://www.ithingsboard.com/docs/user-guide/install/docker/ 添加设备 官网:http://www.ithingsboard.com/docs/getting-started-guides/helloworld/ http://www.ithingsboard.com/docs/reference/mqtt-api/ 1、在

如何打造个性化的幻兽帕鲁私服

幻兽帕鲁服务器部署完成之后,如果您想要按照自己的喜好来对游戏世界进行DIY,打造个性化的私服,那么就需要通过手动配置游戏参数来完成。由于直接编辑配置文件的成本较高,且可能会因为换行、未区分中英文逗号等问题导致配置不成功,本文推荐以下方案: 复制幻兽帕鲁默认配置文件 Windows 操作系统 建议您通过幻兽帕鲁服务器部署保姆级教程的 Windows 服务器一键部署幻兽帕鲁。其他部署方式可能在配置文

go-zero modd开发配置

目录go-zero modd开发配置modd配置项目打包编排文件nginx配置文件各服务中的配置里要写上如下配置 go-zero modd开发配置 modd配置 modd.conf 项目打包编排文件 docker-compose.yml nginx配置文件 deploy/nginx/conf.d/looklook-gateway.conf deploy/prometheus/server/p

Redis分布式锁的正确实现方式

来源:博客园(作者-沫小淘) 1、前言 分布式锁一般有三种实现方式: 1. 数据库乐观锁; 2. 基于Redis的分布式锁; 3. 基于ZooKeeper的分布式锁。 本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如何正确地实现Redis分布式锁。 2、可靠性 首先,

Java基于minio的视频下载

1、前端代码(Vue)   2、后端代码 Minio客户端: 获取带签名的临时下载地址: Service层调用工具类方法,给前端返回临时下载路径: 3、注意:需要把minio上的bucket桶修改为read-write权限

2024.1.29

因为放假之后这几天有点事,都没有在家,所以还没学习,今天简单做个计划,假期还剩二十天,计划七天复习一下数据结构,因为感觉上学期学的数据结构并不是很牢固,然后这七天数据结构复习完另外读完《构建之法》,剩下十三天上午学javaweb的前端部分,下午学一下GitHub,每天两个小时进行记账本app的开发,加油!

UTF-8格式编码的文件分为带BOM和不带BOM windows下编程,Linux下编程建议使用“UTF-8无BOM格式,“建议使用”UTF-8带BOM格式“

UTF-8格式编码的文件分为带BOM和不带BOM windows下编程,Linux下编程建议使用“UTF-8无BOM格式,“建议使用”UTF-8带BOM格式“ Notepad++支持“UTF-8无BOM格式”和“UTF-8带BOM格式”两种UTF-8。一直以来不知道二者有什么区别。程序员 它们的区别是:UTF-8带BOM格式,就是在文件头添加了3个bits的b

<<  <  581  582  583  584  585  586  587  588  589  590  591  >  >>