使用指南 线程 指南java
为获取导入百分比,使用easyexcel获取导入excel表总行数
背景 分批读取大量数据的excel文件,每次读取1000行数据,然后插入数据库,并且去执行一个方法,执行完毕后更新此行数据的状态。需要获取已更新数据的占比,即计算百分比。 因为是分批读取的,我们不可以直接用已更新状态数量/数据库中总数。因为可能一次读取的1000行数据更新状态很快,直接1000/10 ......
使用RabbitMQ时使用MemoryPack序列化和反序列化对象
[MemoryPackable] public partial class UserEto { public String Name { get; set; } } 发送端 public class EventBus : IEventBus { public void Publish(string ......
Java网络编程--Lesson
一.InetAddress 此类是获取网络地址实例的一个类,但是不能通过new 来实例化这个类,因为它没有构造器,但是可以通过组合的方式来使用类中的方法 拿取主机为localhost的网络地址实例 InetAddress address=InetAddress.getByName("localhos ......
jdk21-虚拟线程
jdk文档:https://openjdk.org/jeps/444 关键内容整理 虚拟线程是轻量级线程,可显著减少编写、维护和观察高吞吐量并发应用程序的工作量。 默认情况下,直接使用 API 创建的虚拟线程(而不是通过 创建的虚拟线程)现在也会在其整个生命周期内受到监视,并且可以通过观察虚拟线程部 ......
Swagger 3.0使用
一、Swagger简介 Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。 总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法、参数和模型紧密集成到服务器端的代码,允许 API 来始终保持同步。Swagger 让部署管理和使 ......
【Python】类的声明和使用
1、类的声明 语法: class MainWindow: """class information """ pass # class body 2、特殊方法 2.1 init 构造函数,类会调用该方法构造对象。 语法: class Test: def __init__(self, args...): ......
java和python混编如何实现服务注册和服务发现呢
在Java和Python混合编程环境中实现服务注册和发现,你可以考虑以下几种方案: 使用服务注册表/服务发现工具 服务注册表 1.Consul:Consul 是一个开源的服务网格解决方案,它提供了服务注册和发现的功能。Consul允许你注册服务并发现其他服务的位置信息。 服务发现 2.Netflix ......
Java8中将List优雅地转Map的多种方式
在代码开发过程中,我们经常需要将List中的元素根据某一个字段进行分组,这个时候,我们就需要把List来转换成Map来满足我们的业务需求,通常我们转换的场景有以下几种: 一、List 转 Map<String, String> 二、List 转 Map<String, Object> (返回对象本身 ......
【问题记录】【IDEA】启动突然报错 java: Internal error in the mapping processor: java.lang.NullPointerException
1 启动报错 换了个高版本的 IDEA,启动突然报错: 2 解决办法 添加编译配置参数: -Djps.track.ap.dependencies=false ......
Java集合框架主要接口及实现类详解
Java集合框架是Java编程语言提供的一组接口,用于处理对象集合。Java集合框架中包括了一系列的接口、实现类和算法,可以方便地操作和管理各种类型的集合数据。 Java集合框架主要包括以下接口: Collection接口:是所有集合接口的根接口,提供了基本的集合操作,如添加、删除、遍历等操作。 L ......
ArrayList、LinkedList、Vector三种Java集合框架的同义
ArrayList、LinkedList、Vector是Java集合框架中的三种数据结构,它们的相同点和不同点如下: 相同点: 都实现了List接口,可以存储有序的元素序列,可以允许重复元素的存在; 都支持随机访问(根据元素的索引访问元素),并且访问效率较高; 都支持添加、删除、修改等操作,可以动态 ......
LinkedList的常见使用方法
1、addboolean add(E e):在链表后添加一个元素,如果成功,返回true,否则返回false;void addFirst(E e):在链表头部插入一个元素;addLast(E e):在链表尾部添加一个元素;void add(int index, E element):在指定位置插入一 ......
ArrayList的常见使用方法
List接口常用方法:1、add(Object element): 向列表的尾部添加指定的元素。 2、size(): 返回列表中的元素个数。 3、get(int index): 返回列表中指定位置的元素,index从0开始。 4、add(int index, Object element): 在列表 ......
正则表达式的几个函数,sub、match、search、findall、split的几个函数的使用
import repattern='\d\.\d+'s='I study 3.114 python every and 2.71 python I love you's2='python I love you'match= re.findall(pattern,s) #findall 函数获取匹配对 ......
页面静态化——Django中Template和Context模块的使用方法
1.Template和Context的导入 from django.template import Template, Context 2.生成静态页面 ——在后端调用模板语法生成HTML页面,并保存到指定路径 2.1 我们想生成一个前端页面,代码如下 后端视图层传入的对象: user_data = ......
Java——lambda表达式
一、概述 简化代码开发,可以实现函数式的编程。利用函数式的编程可以避免面向对象过程中一些的繁琐的问题 lambda是一把双刃剑 二、使用场景 1.能够使用lambda表达式的一个重要依据是必须有相应的函数接口。所谓函数接口,是指内部有且仅有一个抽象方法的接口。 2.lambda表达式的另一个依据是类 ......
Oracle数据库 使用存储过程判断索引是否存在,再删除索引
不多废话 DECLARE index_count NUMBER; BEGIN -- 判断索引 UK_TEST_2 是否存在 SELECT COUNT(*) INTO index_count FROM user_indexes WHERE index_name = 'UK_TEST_2'; IF in ......
Java系列---【时间格式合法性校验】
# 不能用LocalDate.parse(),解析不了20230231,默认会解析成20230228,并且不抛异常,用Strict模式,虽然会抛异常但无法解析20230201,推荐下面的 public static boolean isValidDateFormat(String date, Str ......
java集合框架(三)ArrayList的常见使用
1、ArrayList简介 在集合框架中,ArrayList是一个类,实现了List接口: 1.ArrayList是以泛型的方式实现的,使用时必须先实例化2.ArrayList实现了randomAccess接口,所以ArrayList支持随机访问3.ArrayList实现了cloneable接口,A ......
主线程如何获取子线程异常
主线程如何获取子线程异常 常规情况: 一般我们没有办法通过主线程去获取子线程的异常 举个例子:public class test11_29{ public static void main(String[] args) { try { Thread thread = new Thread(new m ......
java 令牌解析_SpringSecurity 原理解析【4】:令牌还原与Session String changeSessionId(); // 修改SessionId
java 令牌解析_SpringSecurity 原理解析【4】:令牌还原与Session String changeSessionId(); // 修改SessionId SpringSecurity 原理解析【4】:令牌还原与Session Session:一般称为会话,不同环境中含义不同,在S ......
Servlet - 使用 changeSessionId() 改变SessionId 防止会话固定攻击
Servlet - 使用 changeSessionId() 改变SessionId 防止会话固定攻击 在会话固定攻击,黑客获取/设置(通过任何方式)另一个人的会话ID。然后,黑客可以冒充他人并获取敏感信息。 Java Servlet 3.1 引入了以下 HttpServletRequest 方法: ......
windows 使用vs2015 如何新建C++或者C语言版的lib文件
来自: https://www.cnblogs.com/ahcc08/p/6810033.html VS2015如何新建C++或者C语言版的lib文件 当我们不想公开我们的代码的时候,可以把我们的代码封装成静态数据连接库,即lib文件。下面介绍下如何生成lib文件。 以VS2015为例,一种是C++ ......
java集合框架(二)LinkedList的常见使用
LinkedList是Java中的一个双向链表。它实现了List和Deque接口,在使用时可以像List一样使用元素索引,也可以像Deque一样使用队列操作。LinkedList每个节点都包含了前一个和后一个节点的引用,因此可以很方便地在其中进行节点的插入、删除和移动。相比于ArrayList,Li... ......
java基础学习:random随机数,random案例
1.Random使用步骤: package com.itheima.Random; import java.util.Random; public class Random1 { public static void main(String[] args) { Random random=new R ......
使用C#将几个Excel文件合并去重分类
需要将几个Excel表格里面的数据去重,然后将每个站点的数据另存为一张Sheet上。 几个表格如下所示: 实现效果如下所示: 具体实现 需要使用EPPlus操作Excel 安装EPPlus如下所示: 为了更好的演示与说明,把步骤进行了拆分,先导入Excel数据,再去重,再进行数据分类,最后再导出为E ......
IDEA插件:Apipost Helper使用
Apipost-Helper是由Apipost推出的IDEA插件,写完接口可以进行快速调试,且支持搜索接口、根据method跳转接口,还支持生成标准的API文档,注意:这些操作都可以在代码编辑器内独立完成,非常好用!这里给大家介绍一下Apipost-Helper的安装和使用 安装 在IDEA编辑器插 ......
JAVA的swap实现
JAVA的swap实现 JAVA不能操作地址,所以不能像CPP那样方便地实现对基本数据类型的swap。 java中的基本数据类型传递属于引用传递,并不会像c/c++实现指针传递; 通过包装类对象配合反射可以实现数据的交换。 只能通过以下几种方式。 通过数组对象交换 public class Test ......
开源的.NET混淆工具使用
一、ConfuserEx https://github.com/mkaring/ConfuserEx 使用方法: 1、到Releases中下载最新的GUI包 2、解压后,打开ConfuserEx.exe,进入程序主页,再点击画圈的“+”按钮,选择要混淆的dll文件 3、切换到“Setting”标签, ......