自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Happy Simon

致力于前后端开发技术——一个90后程序员,终身学习者!The Code Can Change The World.

  • 博客(190)
  • 资源 (4)
  • 收藏
  • 关注

原创 来了来了,Java14它真的来了!

语言必须发展,否则它们就有变得无关紧要的风险,” Brian Goetz (甲骨文公司)在2019年11月在 Devoxx 举行的“ Java 语言期货”演讲中说。作为 Java 语言架构师,他扮演了一个重要的角色,尽管 Java 已经发展了25年,但仍然远远没有过时。在本文中,我们将研究 JDK 14的创新近年来,甲骨文做出了一些突破性的决定。他们包括新的半年发布模式与预览功能和更短的发布和反...

2020-03-25 13:15:16 714

原创 程序中的十大经典排序算法

排序算法是《数据结构与算法》中最基本的算法之一。排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。用一张图概括:点击以下图片查看大图:关于时间复杂度平方阶 (O(n2)) 排序 各...

2020-01-17 21:53:11 2326

原创 The Java Developer Roadmap

许多Java开发人员都希望通过某种Java成长路线图,来解答有关:该学习哪些技术,使用哪些工具以及框架之类的问题。在此,我将向大家展示一张根据自己多年经验总结出的路线图。该路线图在保持简单可行的基础上,介绍了各种具有业界标准、且方便多数人遵循的工具和程序库。该路线图如下所示,希望能够对您起到指导和借鉴的作用。Java开发人员的必备技能下面,我们将根据上述Java路线图,来一起探讨那些开发人员...

2019-11-04 18:28:54 863

原创 从Java到json:探索 Jackson 的魔力

你可以创建自定义序列化器和反序列化器以自定义特定字段或类的序列化和反序列化行为。为此,请创建一个实现JsonSerializer或JsonDeserializer接口的类,并在需要自定义的字段或类上使用@JsonSerialize和@JsonDeserialize注解。@Override// ...其他代码...Jackson的优势和局限性。

2024-03-21 18:35:39 106

原创 再见 Pandas,又一数据处理神器

cuDF:cuDF是一个Python GPU DataFrame库,它基于Apache Arrow的列式内存格式,用于加载、连接、聚合、过滤和以类似pandas的DataFrame风格API操纵表格数据。它允许数据工程师和数据科学家通过类似于pandas的API轻松加速其工作流程,而无需深入研究CUDA编程的细节。cuDF的设计旨在在GPU上处理大规模数据集,提供了对数据处理任务的高性能支持。Dask:Dask是一个灵活的Python并行计算库,使得在工作流程中平滑而简单地实现规模化。

2024-03-17 22:16:38 606

原创 为什么要进行URL编码?

我们都知道Http协议中参数的传输是"key=value"这种简直对形式的,如果要传多个参数就需要用“&”符号对键值对进行分割。如"?name1=value1&name2=value2",这样在服务端在收到这种字符串的时候,会用“&”分割出每一个参数,然后再用“=”来分割出参数值。针对“name1=value1&name2=value2”我们来说一下客户端到服务端的概念上解析过程:上述字符串在计算机中用ASCII吗表示为:6E616D6531 3D 76616C756

2021-11-27 20:36:07 559

原创 MyBatis 三种批量插入方式的比较,我推荐第3个

数据库使用的是SQLServer,JDK版本1.8,运行在SpringBoot环境下 对比3种可用的方式反复执行单条插入语句xml拼接sql批处理执行先说结论:少量插入请使用反复插入单条数据,方便。数量较多请使用批处理方式。(可以考虑以有需求的插入数据量20条左右为界吧,在我的测试和数据库环境下耗时都是百毫秒级的,方便最重要)无论何时都不用xml拼接sql的方式。拼接SQL的xmlnewId()是sqlserver生成UUID的函数,与本文内容无关<insert id="insert

2021-11-23 14:43:37 364

原创 private修饰的方法可以通过反射访问,那么private的意义是什么?

在一个类中,为了不让外界访问到某些属性和方法,通常将其设置为private,用正常的方式(对象名.属性名,对象名.方法名)将无法访问此属性与方法,但有没有其他方法可以访问呢?答案是有的,这就是java反射带来的便利。利用反射访问类的私有属性及方法如下:/** * @Description: 反射 * @author: Mr_VanGogh */public class Reflect { private String name; private int age; p

2021-11-22 19:17:24 402

原创 进程间通信和线程间通信的几种方式及区别

进程和线程的区别:对于进程来说,子进程是父进程的复制品,从父进程那里获得父进程的数据空间,堆和栈的复制品。而线程,相对于进程而言,是一个更加接近于执行体的概念,可以和同进程的其他线程之间直接共享数据,而且拥有自己的栈空间,拥有独立序列。共同点:它们都能提高程序的并发度,提高程序运行效率和响应时间。线程和进程在使用上各有优缺点。线程执行开销比较小,但不利于资源的管理和保护,而进程相反。同时,线程适合在SMP机器上运行,而进程可以跨机器迁移。他们之间根本区别在于 多进程中每个进程有自己的地址空间,线程则

2021-11-22 19:11:28 495

原创 JavaBean为什么要重写hashCode()方法和equals方法

记得有一次去面试Java软件开发工程师,面试官问了我一个关于JavaBean为什么要重写hashCode()方法和equals方法,我记得当时我巴拉巴拉半天就是没有说到重点,现在想一想归根到底还是我对这两个的理解不深刻,现在我特定来总结下:hashCode 方法用于散列集合的查找,equals 方法用于判断两个对象是否相等。一、我们为什么需要重写hashCode()方法和equals()方法?(Why)有时在我们的业务系统中判断对象时有时候需要的不是一种严格意义上的相等,而是一种业务上的对象相等。在这种

2021-11-22 19:09:18 225

原创 Springboot 解决跨域的四种姿势

简介跨域我就不多说了,我们今天开门见山直接解决跨域的几种姿势,那就上姿势姿势姿势一实现WebMvcConfigurer#addCorsMappings的方法import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.CorsRegistry;import org.springframework.web.servlet.co

2021-11-20 21:31:41 188

原创 Docker + Intellij IDEA,提升10倍生产力

IDEA是Java开发利器,springboot是Java生态中最流行的微服务框架,docker是时下最火的容器技术,那么它们结合在一起会产生什么化学反应呢?一、开发前准备1.Docker安装可以参考:https://docs.docker.com/install/2.配置docker远程连接端口vi /usr/lib/systemd/system/docker.service 找到 ExecStart,在最后面添加 -H tcp://0.0.0.0:2375,如下图所示3.重启doc

2021-11-19 20:17:13 254

原创 数据治理常犯的7个错误

相信,所有 CIO 都明白一个道理,如果数据治理失败,会给企业带来重大损失,包括财产损失、品牌名誉受损等,甚至会带来法律方面的风险。所以,如何制定一个强大的数据治理策略,以确保企业数据在满足安全和合规性要求的同时,更易于访问和管理,成为企业数字化转型过程中必修的一个课题。随着企业对数据重视程度的不断增加,数据治理解决方案越来越成熟,技术越来越先进。但不幸的是,仍有很多IT从业者,正陷入数据治理的泥潭中,无法自拔。为了帮助更多企业解决数据治理难题,本文梳理了7个常犯的错误。把数据治理视为一个技术项目数据

2021-11-19 19:56:04 1937

原创 Http 会话Cookie与Session

Cookie技术会话数据保存在浏览器客户端。Cookie类:用于存储会话数据1.构造Cookie对象Cookie(java.lang.String name, java.lang.String value)2.设置cookievoid setPath(java.lang.String uri) :设置cookie的有效访问路径void setMaxAge(int expiry) : 设置cookie的有效时间void setValue(java.lang.String newValue

2021-11-17 21:38:18 396

原创 什么是跨域?

什么是跨域跨域概念上来说就是浏览器遵守了非同源禁止协议.通俗的讲就是浏览器会阻止你请求非同一个域返回结果,目的是防止跨站攻击,但是需要注意的是,非同源协议是针对非同源的请求的,而不是针对浏览器的,浏览器本身是可以去访问和返回结果的.跨域出现的条件1.域名不同(可能跨域)之所以说可能跨域只有域名是二级或这二级以上域名不同,才跨域二级域名解释:.com顶级域名baidu.com一级域名www.baidu.com二级域名bbs.baidu.com二级域名tieba.baidu.com二级域名

2021-11-17 21:26:03 3258

原创 从 Spring 的环境到 Spring Cloud 的配置

需求不知不觉,web 开发已经进入 “微服务”、”分布式” 的时代,致力于提供通用 Java 开发解决方案的 Spring 自然不甘人后,提出了 Spring Cloud 来扩大 Spring 在微服务方面的影响,也取得了市场的认可,在我们的业务中也有应用。前些天,我在一个需求中也遇到了 spring cloud 的相关问题。我们在用的是 Spring Cloud 的 config 模块,它是用来支持分布式配置的,原来单机配置在使用了 Spring Cloud 之后,可以支持第三方存储配置和配置的动态修

2021-11-15 17:50:34 706

原创 JAVA内存模型与线程

主内存与工作内存java内存模型规定了所有的变量都存储在主内存(Main Memory)中。每条线程还有自己的工作内存(Working Memory),线程的工作内存中保存了被该线程使用的变量的主内存副本,线程对变量的所有操作(读取、赋值等)都必须在工作内存中进行,而不能直接读写主内存中的数据。线程间变量值的传递均需要通过主内存来完成。内存间交互操作lock(锁定)作用于主内存的变量,把一个变量标识为一条线程独占的状态unlock(解锁)作用于主内存的变量,把一个处于锁定状态的变量释放出

2021-11-13 11:14:38 981

原创 写时复制(Copy-On-Write)在Java中是如何被应用的吗?

前言写时复制(Copy-on-write,简称COW)是一种计算机程序设计领域的优化策略。其核心思想是,如果有多个调用者同时请求相同资源(如内存或磁盘上的数据存储),他们会共同获取相同的指针指向相同的资源,直到某个调用者试图修改资源的内容时,系统才会真正复制一份专用副本(private copy)给该调用者,而其他调用者所见到的最初的资源仍然保持不变。这个过程对其他的调用者是透明的(transparently)。此作法的主要优点是如果调用者没有修改该资源,就不会有副本(private copy)被建立

2021-11-12 11:06:36 922

原创 Java类加载过程梳理

最近在看Java虚拟机,正好看到类加载这块,所以简单记录下所学到的知识,作为笔记。首先,我们编写好的Java代码,经过编译变成.class文件,然后类加载器把.class字节码文件加载到JVM中,接着执行我们的代码,最后将类卸载出JVM。而从类加载到虚拟机到卸载出虚拟机的这一整个生命周期总共可以分为7个步骤,分别为加载、验证、准备、解析、初始化、使用和卸载,其中验证、准备和解析又称为连接阶段。接下来简单介绍下各个阶段是干嘛的。加载是“类加载”的第一个阶段,就是将需要用到的类对应的.class字节码文件加

2021-11-11 16:06:23 540

原创 C语言线程库的使用

1. 线程概述线程是轻量级的进程(LWP:light weight process),在 Linux 环境下线程的本质仍是进程。在计算机上运行的程序是一组指令及指令参数的组合,指令按照既定的逻辑控制计算机运行。操作系统会以进程为单位,分配系统资源,可以这样理解,进程是资源分配的最小单位,线程是操作系统调度执行的最小单位。先从概念上了解一下线程和进程之间的区别:1.进程有自己独立的地址空间,多个线程共用同一个地址空间线程更加节省系统资源,效率不仅可以保持的,而且能够更高在一个地址空间中多个线程独享

2021-11-11 12:57:12 684

原创 SQL优化不会?推荐4 款工具

对于正在运行的mysql 性能如何?参数设置的是否合理?账号设置的是否存在安全隐患?是否了然于胸?俗话说工欲善其事,必先利其器,定期对你的MYSQL数据库进行一个体检,是保证数据库安全运行的重要手段。今天和大家分享几个mysql 优化的工具,你可以使用它们对你的mysql进行一个体检,生成awr报告,让你从整体上把握你的数据库的性能情况。1、mysqltuner.pl这是mysql一个常用的数据库性能诊断工具,主要检查参数设置的合理性包括日志文件、存储引擎、安全建议及性能分析。针对潜在的问题,给出

2021-11-10 21:48:39 790

原创 Linux共享内存原理

在Linux系统中,每个进程都有独立的虚拟内存空间,也就是说不同的进程访问同一段虚拟内存地址所得到的数据是不一样的,这是因为不同进程相同的虚拟内存地址会映射到不同的物理内存地址上。但有时候为了让不同进程之间进行通信,需要让不同进程共享相同的物理内存,Linux通过 共享内存 来实现这个功能。下面先来介绍一下Linux系统的共享内存的使用。共享内存使用1. 获取共享内存要使用共享内存,首先需要使用 shmget() 函数获取共享内存,shmget() 函数的原型如下:int shmget(key_t

2021-11-10 21:20:14 962

原创 推荐一款 Shell 装逼神器

今天我要给大家介绍一个生产力工具(装逼神器)Shell,它叫Nushell,它是用Rust写的,安全性提高的同时,Bug率也降低了,NuShell 专注于实现以下目标:创建具有现代感的灵活的跨平台Shell允许你将命令行应用程序与可理解数据结构的Shell进行混合和匹配具有现代命令行应用程序提供的用户体验优化目前,NuShell 已经在Github上标星13.9K,累计分支631(详情:https://github.com/nushell/nushell)在 Linux / macOS 系统

2021-11-09 11:49:59 431

原创 再见MybatisPlus,阿里推出新ORM框架

使用fluent mybatis也可以不用写具体的 xml 文件,通过 java api 可以构造出比较复杂的业务 sql 语句,做到代码逻辑和 sql 逻辑的合一。不再需要在 Dao 中组装查询或更新操作,或在 xml 与 mapper 中再组装参数。那对比原生 Mybatis,Mybatis Plus 或者其他框架,FluentMybatis提供了哪些便利呢?需求场景设置我们通过一个比较典型的业务需求来具体实现和对比下,假如有学生成绩表结构如下:create table `student_scor

2021-11-08 22:10:47 400

原创 Spring Boot 进行优雅的字段校验

前段时间提交代码审核,同事提了一个代码规范缺陷:参数校验应该放在controller层。到底应该如何做参数校验呢?Controller层 VS Service层去网上查阅了一些资料,一般推荐与业务无关的放在Controller层中进行校验,而与业务有关的放在Service层中进行校验。那么如何将参数校验写的优雅美观呢,如果都是if - else,就感觉代码写的很low,还好有轮子可以使用常用校验工具类使用Hibernate Validate引入依赖<dependency>

2021-11-08 10:26:33 336

原创 这一行代码,很有温度

今天,来讲一个由腾讯公司员工志愿者自主发起的互联网公益活动:宝贝,公益 404 带你们回家。https://www.qq.com/404接入方式非常简单,就只需要加入一行代码到你的 404 页面即可:<script type="text/javascript" src="//qzonestyle.gtimg.cn/qzone/hybrid/app/404/search_children.js" charset="utf-8"></script>同时,在4

2021-11-08 08:47:36 407

原创 2021编程语言排行榜出炉

今日,IEEE Spectrum 发布了 2021 年度编程语言排行榜,其中 Python 在总榜单以及其他几个分榜单中依然牢牢占据第一名的位置。另外值得关注的是微软 C# 语言,它的排行从 2020 年的第 23 名跃升至了今年的第 6 名,称得上是今年的大势语言。2021 年度编程语言排行榜依然从 8 个信息源按照 11 种指标收集数据,最终得到了数十种编程语言流行度的整体排名。这 8 个信息源分别为 CareerBuilder、GitHub、Google、Hacker News、IEEE、Reddi

2021-11-08 08:40:20 96848 46

原创 Docker常用命令大全

导读本文介绍内容包括“容器生命周期管理命令”、“容器操作命令”、“容器rootfs命令”、“镜像仓库命令”、“本地镜像管理命令”和“基础版本信息命令”。容器生命周期管理命令run创建一个新的容器。 使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。 docker run --name mynginx -d nginx:latest # 使用镜像 nginx:latest,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端

2021-11-07 22:36:47 586

原创 Java类(接口)的新类型——密封类

密封类是Java 17正式支持的一个新特性,它让Java中类的继承可以更加细粒度的进行控制。今天就来认识一下这个新的功能。密封类在以往的Java类继承中,Java类的继承控制非常有限,仅能通过final关键字和访问控制符来控制类的继承。例如final类无法被集成;包私有类仅仅只能在该包下进行继承。这显然是不够的。如果一个功能只允许出现在Phone和Pad上,不允许出现在Computer上。如果不对该功能的继承实现进行限制,开发人员将很容易滥用该功能的实现类,错误地重用一些代码。这就是密封类产生的原因。

2021-11-07 19:05:10 163

原创 一次 QPS 翻倍的 Java 服务性能优化

| 背景前段时间我们的服务遇到了性能瓶颈,由于前期需求太急没有注意这方面的优化,到了要还技术债的时候就非常痛苦了。在很低的 QPS 压力下服务器 load 就能达到 10-20,CPU 使用率 60% 以上,而且在每次流量峰值时接口都会大量报错,虽然使用了服务熔断框架 Hystrix,但熔断后服务却迟迟不能恢复。每次变更上线更是提心吊胆,担心会成为压死骆驼的最后一根稻草,导致服务雪崩。在需求终于缓下来后,leader 给我们定下目标,限我们在两周内把服务性能问题彻底解决。近两周的排查和梳理中,发现并解

2021-11-07 15:41:42 196

原创 MySQL索引和SQL调优手册

MySQL索引MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引。MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。MySQL索引原理索引目的索引的目的在于提高查询效率,可以类比字典,如果要查“mysql”这个单词,我们肯定需要

2021-11-07 12:36:47 197

原创 IBM新设计,Linux性能有望大幅提升

命名空间(Namespace)是 Linux 内核的一个特性,它对内核资源进行分区,使得一组进程看到一组资源,而另一组进程看到一组不同的资源。该功能的工作原理是为一组资源和进程使用相同的命名空间,但这些命名空间引用不同的资源。资源可能存在于多个空间中。此类资源的示例包括进程 ID、主机名、用户 ID、文件名以及一些与网络访问和进程间通信相关的名称。IBM 工程师 Pratik Sampat 近日发表了 Linux 内核的 CPU Namespace 接口的早期原型。设计这个命名空间是为了解决当前查看可用

2021-11-07 12:17:12 142

原创 分库分表有哪些思路和技巧?

一个完整电商系统用户从零到上亿的研发过程,在业务的不断发展与变化过程中,演化出电商系统和基于大数据的商品精准实时推荐平台。在系统的研发过程中,随着数据量的不断增长,单库单表已无法满足数据的存储需求,此时,我们就需要对数据库进行分库分表操作。那在互联网大厂,分库分表通常有哪些思路和技巧呢?今天,我就将这些思路和技巧分享给大家。分库分表分库分表是随着业务的不断发展,单库单表无法承载整体的数据存储时,采取的一种将整体数据分散存储到不同服务器上的不同数据库中的不同数据表的存储方案。分库分表能够有效的缓解

2021-11-06 22:37:56 490

原创 如何写好代码?这些书里面有答案

一个程序员具有一定编码基础之后,一定想要再进一步提升,从会写基础代码,到会写可读的优秀代码,重构现有代码以及设计模式等如果你已经有了一定的编程基础,想要进一步的提升自己,不妨从以下几本书开始:1、《测试驱动开发》测试驱动开发,就是先写测试,再写程序,颠覆了先写程序再做测试的传统。书中大部分的示例都是采用Java代码,部分采用Python代码,但是即便你不具备Python基础也可以顺利读完这本书。2、《重构: 改善既有代码的设计》这本书已经成为全球有经验的程序员手中的利器,既可用来改善既有代码的

2021-11-06 18:07:02 935

原创 为什么IDEA不推荐你使用@Autowired ?

@Autowired注解相信每个Spring开发者都不陌生了!在DD的Spring Boot基础教程(https://blog.didispace.com/spring-boot-learning-2x/)和Spring Cloud基础教程(https://blog.didispace.com/spring-cloud-learning/)中也都经常会出现。但是当我们使用IDEA写代码的时候,经常会发现@Autowired注解下面是有小黄线的,我们把小鼠标悬停在上面,可以看到这个如下图所示的警告信息:.

2021-11-06 14:17:43 575

原创 SpringBoot中实现通用Auth认证的几种方式

前言最近一直被无尽的业务需求淹没,没时间喘息,终于接到一个能让我突破代码舒适区的活儿,解决它的过程非常曲折,一度让我怀疑人生,不过收获也很大,代码方面不明显,但感觉自己抹掉了 java、Tomcat、Spring 一直挡在我眼前的一层纱。对它们的理解上了一个新的层次。挑一个方面总结一下,希望在梳理过程中再了解一些其他的东西。由于 Java 繁荣的生态,下面每一个模块都有大量的文章专门讲述。所以我选了另外一个角度,从实际问题出发,将这些分散的知识串联起来,各位可以作为一个综述来看。各个模块的极致详细介绍,

2021-11-05 22:39:10 187

原创 谁再说不熟悉Linux命令,就把这个给他扔过去

虽然平时大部分工作都是和Java相关的开发, 但是每天都会接触Linux系统, 尤其是使用了Mac之后, 每天都是工作在黑色背景的命令行环境中. 自己记忆力不好, 很多有用的Linux命令不能很好的记忆, 现在逐渐总结一下, 以便后续查看.基本操作Linux关机,重启标题关机shutdown -h now重启shutdown -r now查看系统,CPU信息查看系统内核信息uname -a查看系统内核版本cat /proc/version查看当前用户环境变量envcat

2021-11-05 16:22:43 358

原创 必须了解的mysql三大日志-binlog、redo log和undo log

背景日志是 mysql 数据库的重要组成部分,记录着数据库运行期间各种状态信息。mysql日志主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。作为开发,我们重点需要关注的是二进制日志( binlog )和事务日志(包括redo log 和 undo log ),本文接下来会详细介绍这三种日志。binlogbinlog 用于记录数据库执行的写入性操作(不包括查询)信息,以二进制的形式保存在磁盘中。binlog 是 mysql的逻辑日志,并且由 Server 层进行记录,使用任何存

2021-11-04 11:39:19 193

原创 Java并发:五种线程安全类型、线程安全的实现、枚举类型

1.Java中的线程安全Java线程安全:狭义地认为是多线程之间共享数据的访问。Java语言中各种操作共享的数据有5种类型:不可变、绝对线程安全、相对线程安全、线程兼容、线程独立① 不可变不可变(Immutable) 的对象一定是线程安全的,不需要再采取任何的线程安全保障措施。只要能正确构建一个不可变对象,该对象永远不会在多个线程之间出现不一致的状态。多线程环境下,应当尽量使对象成为不可变,来满足线程安全。如何实现不可变?如果共享数据是基本数据类型,使用final关键字对其进行修饰

2021-11-04 11:18:19 273

原创 这可能是最中肯的 Redis 使用规范了

昨天我被公司 Leader 批评了。我在单身红娘婚恋类型互联网公司工作,在双十一推出下单就送女朋友的活动。谁曾想,凌晨 12 点之后,用户量暴增,出现了一个技术故障,用户无法下单,当时老大火冒三丈!经过查找发现 Redis 报 Could not get a resource from the pool。获取不到连接资源,并且集群中的单台 Redis 连接量很高。于是各种更改最大连接数、连接等待数,虽然报错信息频率有所缓解,但还是持续报错。后来经过线下测试,发现存放 Redis 中的字符数据很大

2021-11-03 20:00:25 189

Axure设计专用.zip

Axure设计专用.zip

2021-11-04

how2j_offline.zip

Java基础进阶

2021-11-03

Java_how2j_offline.rar

本站提供的主要课程,总共 7 个阶段,69个模块,共 1476 个知识页面!包含:Java基础、Java中级、Java高级、Java应用、Java框架、Java工具及中间件、分布式和集群、数据库、第三方开发、实践项目、面试题!

2020-05-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除