![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 82
摸大鱼了
这个作者很懒,什么都没留下…
展开
-
POI读写excel几万行数据时内存溢出问题,超大文件Failed to read zip entry source
POI读取Excel有两种模式,一种是用户模式,一种是SAX事件驱动模式,将xlsx格式的文档转换成CSV格式后进行读取。用户模式API接口丰富,使用POI的API可以很容易读取Excel,但用户模式消耗的内存很大,当遇到很大sheet、大数据网格,假空行、公式等问题时,很容易导致内存溢出。POI官方推荐解决内存溢出的方式使用CVS格式解析,即SAX事件驱动模式。下面主要是讲解如何读取大批量数据:2.2.1 pom.xml所需jar包2.2.2 POI以SAX解析excel2007文件解决思路:通过继原创 2023-07-17 17:27:53 · 1922 阅读 · 0 评论 -
JAVA 生成微信小程序码-分享码
小程序中得配置分享项,不然图片是裂开的。开发>开发管理>开发设置。原创 2023-06-05 10:07:26 · 1892 阅读 · 0 评论 -
JAVA8 获取list集合中重复的元素和获取去重数据
2.java8根据List对象属性获取重复数据和获取去重后数据2.1获取重复数据2.2获取去重后数据== 感谢大佬:https://blog.csdn.net/qq_41128049/article/details/127129690==原创 2023-05-07 08:36:42 · 4695 阅读 · 2 评论 -
Java-根据经纬度计算距离
【代码】Java-根据经纬度计算距离。原创 2023-04-15 08:28:06 · 540 阅读 · 0 评论 -
微信公众号开发:消息加密模式 java.security.InvalidKeyException: Illegal key size
解决办法:在官方网站下载JCE无限制权限策略文件,将下载文件中两jar文件复制替换到%JAVA_Home%/jre/lib/security下。原创 2023-03-07 12:27:26 · 177 阅读 · 0 评论 -
docker布署spring boot jar包项目
Docker是一个开源的容器引擎,它有助于更快地交付应用。 Docker可将应用程序和基础设施层隔离,并且能将基础设施当作程序一样进行管理。使用 Docker可更快地打包、测试以及部署应用程序,并可以缩短从编写到部署运行代码的周期。原创 2023-03-03 19:10:48 · 864 阅读 · 0 评论 -
Redisson实现分布式锁
Redis 是最流行的 NoSQL 数据库解决方案之一,而 Java 是世界上最流行(注意,没有说“最好”)的编程语言之一。虽然两者看起来很自然地在一起“工作”,但是要知道,Redis 其实并没有对 Java 提供原生支持。相反,作为 Java 开发人员,我们若想在程序中集成 Redis,必须使用 Redis 的第三方库。而 Redisson 就是用于在 Java 程序中操作 Redis 的库,它使得我们可以在程序中轻松地使用 Redis。原创 2023-02-22 12:34:00 · 1656 阅读 · 0 评论 -
如何防止订单重复提交
最近在做电商项目,整理一下解决方案并帮助自己巩固知识点,此方案是结合了目前的业务环境,若有更好的解决的方式很高兴与大家一起讨论。首先我们要了解一下下单流程,浏览商品,下单结算,确认下单。浏览下单提交订单结算我也不买这个。浏览商品:用户查看商品详情加购/结算:用户可以选择直接购买商品,也可以先加入购物车,用户购买的这一步就是结算确认下单:结算完成,就进入了下单页面, 提交订单,这一步就会生成一个订单,然后进入付款页面。原创 2023-02-20 20:34:34 · 4855 阅读 · 0 评论 -
synchronized详解
可以把它理解为 一个同步工具,也可以描述为 一种同步机制,它通常被 描述为一个对象。与一切皆对象一样,所有的Java对象是天生的Monitor,每一个Java对象都有成为Monitor的潜质,因为在Java的设计中 ,每一个Java对象自打娘胎里出来就带了一把看不见的锁,它叫做内部锁或者Monitor锁。也就是通常说Synchronized的对象锁,MarkWord锁标识位为10,其中指针指向的是Monitor对象的起始地址。_count = 0;// 记录个数。原创 2023-02-06 10:06:25 · 551 阅读 · 0 评论 -
Spring 源码编绎
本示例基于 spring-framework-5.2.22.RELEASE + GradleWapper + jdk1.8.0_131编译环境准备mavenjdk8+ideagit 地址。原创 2023-01-29 15:57:55 · 555 阅读 · 0 评论 -
什么是JMM模型
什么是JMM模型?Java内存模型(Java Memory Model简称JMM)是一种抽象的概念,并不真实存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式。原创 2023-01-28 16:21:18 · 701 阅读 · 0 评论 -
RocketMQ 搭建
消息队列。队列,是一种FIFO先进先出的数据结构。消息由生产者发送到MQ进行排队,然后按原来的顺序交由消息的消费者进行处理。QQ和微信就是典型的MQ。MQ的作用主要有以下三个方面:异步例子:快递员发快递,直接到客户家效率会很低。引入菜鸟驿站后,快递员只需要把快递放到菜鸟驿站,就可以继续发其他快递去了。客户再按自己的时间安排去菜鸟驿站取快递。作用:异步能提高系统的响应速度、吞吐量。解耦。原创 2022-12-31 10:39:24 · 3976 阅读 · 0 评论 -
RabbitMQ 基本使用
MQ全称 Message Queue(消息队列),是在消息的传输过程中保存消息的容器。多用于分布式系统之间进行通信。AMQP,即 Advanced Message Queuing Protocol(高级消息队列协议),是一个网络协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。2006年,AMQP 规范发布。类比HTTP。原创 2022-12-25 16:01:56 · 296 阅读 · 0 评论 -
Windows下安装RabbitMQ
关于RabbitMQ在windows 下的安装和基本设置步骤:安装对应版本的Erlang 并设置环境变量安装RabbitMQ并设置环境变量安装插件rabbitmq_management可视化插件。原创 2022-12-23 16:16:57 · 1628 阅读 · 0 评论 -
go安装及环境搭建
Go是从2007年末由Robert Griesemer (罗伯特.格利茨默),Rob Pike(罗伯.派克),Ken Thompson(肯.汤普森)主持开发,后来还加入了lan Lance Taylor(伊恩:兰斯·泰勒), Russ Cox(鲁斯.考斯)等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。Rob Pike:曾是贝尔实验室(Bell Labs)的Unix团队,和Plan 9操作系统计划的成员。原创 2022-12-19 15:00:29 · 2693 阅读 · 0 评论 -
go : 无法将“go”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
在VS Code终端(PowerShell实例)中运行以下命令,使当前的PowerShell实例从计算机加载最新的路径变量。原创 2022-12-19 14:42:20 · 6361 阅读 · 1 评论 -
DNS 是啥
DNS是域名系统的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务。域名是由圆点分开一串单词或缩写组成的,每一个域名都对应一个唯一的IP地址,在Internet上域名与IP地址之间是一对应的,DNS就是进行域名解析的服务器。原创 2022-12-17 22:57:48 · 489 阅读 · 0 评论 -
Redis 缓存雪崩、缓存穿透、缓存击穿
以上我们针对的都是读多写少的情况加入缓存提高性能,如果写多读多的情况又不能容忍缓存数据不一致,那就没必要加缓存了,可以直接操作数据库。当然,如果数据库抗不住压力,还可以把缓存作为数据读写的主存储,异步将数据同步到数据库,数据库只是作为数据的备份。放入缓存的数据应该是对实时性、一致性要求不是很高的数据。切记不要为了用缓存,同时又要保证绝对的一致性做大量的过度设计和控制,增加系统复杂性!原创 2022-12-17 21:07:27 · 149 阅读 · 0 评论 -
Redis持久化、主从与哨兵架构搭建
Redis的安装及单线程和高性能_摸大鱼了的博客-CSDN博客目录Redis 简介Redis 优势Redis与其他key-value存储有什么不同?Redis安装Redis是单线程吗?Redis 单线程为什么还能这么快?Redis 单线程如何处理那么多的并发客户端连接?其他高级命令scan:渐进式遍历键Info:查看redis服务运行信息,分为 9 大块,每个块都有非常多的参数,这 9 个块分别是: Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。Redis 与其他原创 2022-12-09 10:59:23 · 105 阅读 · 0 评论 -
Redis的安装及单线程和高性能
目录Redis 简介Redis 优势Redis与其他key-value存储有什么不同?Redis安装Redis是单线程吗?Redis 单线程为什么还能这么快?Redis 单线程如何处理那么多的并发客户端连接?其他高级命令scan:渐进式遍历键Info:查看redis服务运行信息,分为 9 大块,每个块都有非常多的参数,这 9 个块分别是: Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。Redis 与其他 key - value 缓存产品有以下三个特点:Redis有原创 2022-12-08 11:04:43 · 135 阅读 · 0 评论 -
Docker安装、详解与部署
目录 Docker简介Docker的优点如下:1、简化程序2、避免选择恐惧症 3、节省开支Docker的架构Docker 的安装1、Docker 要求 CentOS 系统的内核版本高于 3.102、使用 root 权限登录 Centos。确保 yum 包更新到最新。3、卸载旧版本(如果安装过旧版本的话)4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的5、设置yum源,并更新 yum 的包索引 6、可以查看所有仓库中所有doc原创 2022-12-06 14:50:29 · 2605 阅读 · 0 评论 -
java文字、图片识别之tess4j Tesseract-OCR
Tesseract,一款由HP实验室开发由Google维护的开源OCR(Optical Character Recognition , 光学字符识别)引擎,与Microsoft Office Document Imaging(MODI)相比,我们可以不断的训练的库,使图像转换文本的能力不断增强;如果团队深度需要,还可以以它为模板,开发出符合自身需求的OCR引擎。Tess4J 是Java (JNA) 对 Tesseract OCR API 的封装。1.使用创建java项目。引入mave原创 2022-12-03 08:35:51 · 2412 阅读 · 1 评论 -
Elasticsearch Windows版安装配置
Elasticsearch是用Java开发并且是当前最流行的开源的企业级搜索引擎。能够达到实时搜索,稳定,可靠,快速,安装使用方便。客户端支持Java、.NET(C#)、PHP、Python、Ruby等多种语言。是一个开源的搜索文献的引擎,大概含义就是你通过Rest请求告诉它关键字,他给你返回对应的内容,就这么简单。封装了Lucene,Lucene是apache软件基金会一个开放源代码的全文检索引擎工具包。Lucene的调用比较复杂,所以Elasticsearch。原创 2022-12-01 11:19:11 · 1777 阅读 · 0 评论 -
JVM指令手册
栈和局部变量操作将常量压入栈的指令aconst_null 将null对象引用压入栈iconst_m1 将int类型常量-1压入栈iconst_0 将int类型常量0压入栈iconst_1 将int类型常量1压入操作数栈iconst_2 将int类型常量2压入栈iconst_3 将int类型常量3压入栈iconst_4 将int类型常量4压入栈iconst_5 将int类型常量5压入栈lconst_0 将long类型常量0压入栈lconst_1 将long类型常量1压入栈fconst_0 将float类型常量原创 2022-12-01 09:50:58 · 104 阅读 · 0 评论 -
SpringBoot Spring Security OAuth2 密码模式
SpringBoot Spring Security OAuth2 授权码模式_没有计划。的博客-CSDN博客我们可以通过Spring Security OAuth2构建一个授权服务器来验证用户身份以提供access_token,并使用这个access_token来从资源服务器请求数据。:用户认证就是判断一个用户的身份是否合法的过程,用户去访问系统资源时系统要求验证用户的身份信息,身份合法方可继续访问,不合法则拒绝访问。常见的用户身份认证方式有:用户名密码登录,二维码登录,手机短信登录,指纹认证等方式。原创 2022-11-28 20:10:46 · 1153 阅读 · 0 评论 -
SpringBoot Spring Security OAuth2 授权码模式
我们可以通过Spring Security OAuth2构建一个授权服务器来验证用户身份以提供access_token,并使用这个access_token来从资源服务器请求数据。:用户认证就是判断一个用户的身份是否合法的过程,用户去访问系统资源时系统要求验证用户的身份信息,身份合法方可继续访问,不合法则拒绝访问。常见的用户身份认证方式有:用户名密码登录,二维码登录,手机短信登录,指纹认证等方式。: 授权是用户认证通过根据用户的权限来控制用户访问资源的过程,拥有资源的访问权限则正常访问,没有权限则拒绝访问。原创 2022-11-28 17:44:03 · 2841 阅读 · 0 评论 -
Skywalking ui页面功能
仪表盘:查看被监控服务的运行状态;拓扑图:以拓扑图的方式展现服务之间的关系,并以此为入口查看相关信息;追踪:以接口列表的方式展现,追踪接口内部调用过程;性能剖析:对端点进行采样分析,并可查看堆栈信息;告警:触发告警的告警列表,包括服务失败率,请求超时等;自动刷新:刷新当前页面数据内容;原创 2022-11-25 23:20:03 · 393 阅读 · 0 评论 -
SpringCloud Skywalking微服务链路追踪组件
1、多种监控手段,可以通过语言探针和service mesh获得监控的数据;2、支持多种语言自动探针,包括 Java,.NET Core 和 Node.JS;3、轻量高效,无需大数据平台和大量的服务器资源;4、模块化,UI、存储、集群管理都有多种机制可选;5、支持告警;6、优秀的可视化解决方案;原创 2022-11-25 22:12:36 · 994 阅读 · 0 评论 -
Spring Cloud (boot) 集成Sentinel
在 Sentinel 里面,所有的资源都对应一个资源名称(resourceName),每次资源调用都会创建一个 Entry 对象。Sentinel 是面向分布式服务架构的流量控制组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。它可以是 Java 应用程序中的任何内容,例如,由应用程序提供的服务,或由应用程序调用的其它应用提供的服务,甚至可以是一段代码。围绕资源的实时状态设定的规则,可以包括流量控制规则、熔断降级规则以及系统保护规则。原创 2022-11-25 12:27:42 · 4197 阅读 · 0 评论 -
MongoDB的安装(详细教程)
MongoDB 由 C++语言编写,是一个介于关系型数据库和非关系型数据之间的产品,是非关系型数据库中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似与 json 的 bson 格式,因此可以存储比较复杂的数据类型。MongoDB 最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据单表查询的绝大部分功能,而且还支持对数据建立索引。MongoDB 的设计目标是高性能、可扩展、易部署、易使用,存储数据非常方便。原创 2022-11-24 07:34:22 · 401 阅读 · 0 评论 -
SpringCloud Gateway简单搭建
网关作为流量的入口,常用的功能包括路由转发,权限校验,限流等。Spring Cloud Gateway 是Spring Cloud官方推出的第二代网关框架,定位于取代 Netflix Zuul。相比 Zuul 来说,Spring Cloud Gateway 提供更优秀的性能,更强大的有功能。Spring Cloud Gateway 是由 WebFlux + Netty + Reactor 实现的响应式的 API 网关。它不能在传统的 servlet 容器中工作,也不能构建成 war 包。原创 2022-11-21 16:47:22 · 2396 阅读 · 0 评论 -
QQ空间批量删除留言
删除qq空间的留言。操作多了容易{ "code":-4012, "subcode":512, "message":"操作过于频繁咯!休息会再来操作吧!", "notice":0, "time":1611556467, "tips":"9A7C-0", "data":{}}package com.demo.demo;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson....原创 2021-01-25 14:43:58 · 1753 阅读 · 2 评论