自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

翎野君的博客

盖闻上智不处危以侥幸,中智能因危以为功,下愚安于危以自亡。危亡之至,在人所由,不可不察。

  • 博客(371)
  • 收藏
  • 关注

原创 Dating Java8系列视频

前言Dating Java8 系列视频从实用性的角度出发介绍了Java8中的核心特性及其应用场景。通过系列视频的学习后你将掌握较之以往更为巧妙的编码方式和编程技巧,从而提升我们的开发效率。与Java8的浪漫的相遇将会使你忘掉过去繁冗的编码方式,只需用之前一半不到的时间就能写出更短、更清晰的代码。进阶到Java8之后你会意识到自己再也无法回到“旧Java时代”了。作者:翎野君博客:htt...

2020-01-01 21:41:00 76

原创 商品的spu、sku及其之间的关系

今日来总结一下,电商系统中涉及到商品时必然会遇到的几个概念,SPU、SKU、单品等。彻底搞懂和明白了这几个概念对我们设计商品表是十分必要的前提条件。SPU:标准化产品单元SPU = Standard Product Unit (标准化产品单元),SPU是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的集合,该集合描述了一个产品的特性。SKU:库存量单位SKU=stock ke...

2018-09-01 11:11:00 119

原创 java的图像处理 java图像处理为什么耗cpu

CPU: 有的应用需要大量计算,他们会长时间、不间断地占用CPU资源,导致其他资源无法争夺到CPU而响应缓慢,从而带来系统性能问题。例如:代码递归导致的无限循环,正则表达式引起的回溯,JVM 频繁的 FULL GC,以及多线程编程造成的大量上下文切换等,这些都有可能导致 CPU 资源繁忙。内存: Java 程序一般通过 JVM 对内存进行分配管理,主要是用 JVM 中的堆内存来储存 Java ...

2024-05-13 22:45:00 209

原创 千兆宽带实际网速能到达多少?

背景在生活中,经常会遇到这样的问题,我们申请的带宽是1000M,但实际下载的最高速度只有125MB(1000Mb / 8 = 125MB)有的人就会问,为什么下载速度这么慢?为什么要除以8呢?对于这个问题,首先要知道,带宽和网速,他们的计量单位是不同的,(字节和位的单位换算)能理解了这一点,就很容易理解这个问题。1. 宽带带宽 -数据传输:通信传输速度的单位-位(bit )2. 下载速...

2024-05-04 22:59:00 232

原创 剥开网线表皮,里面的8根线分别代表什么以及作用

网线是现代网络通信的核心组成部分,其八根线的作用各有不同。首先,网线由八根细线组成,每根细线都有其特定的功能和作用。第一根细线:负责发送数据信号。在计算机网络通信中,数据的传输需要依靠信号来进行。因此,第一根细线的作用就是将数据信号传输出去。第二根细线:负责接收数据信号。同样地,数据的传输需要依靠信号来进行。因此,第二根细线的作用就是接收数据信号。第三根细线:负...

2024-05-04 21:56:00 374

原创 linux提取具体某一行的日志文件信息出来

在 Linux 系统中提取某一行可以使用命令行工具 sed、awk、grep、head 或 tail。以下是各个命令的用法:sed 命令sed 命令是一个强大的文本处理工具,可以用来从文件或输入流中选择、编辑、替换某一行。下面的命令提取文件 file.txt 中的第 5 行:sed -n '5p' file.txt其中,-n 表示不输出模式空间中的内容,'5p' 表...

2024-05-03 09:16:00 358

原创 Eclipse Memory Analyzer (MAT)的安装后提示JDK版本不对要升级到jdk_17

背景在启动MAT分析内存时报错:Version1.8.0 of the jvm is not suitable for this product,Version17 or greater isrequired。问题原因很明显,我电脑的JDK和JRE的环境是1.8,需要提升版本:提示需要JDK 11才可以运行,但是我的环境变量配置的是JDK 8,这咋整?不想更改环境变量中的JDK配置信息,...

2024-05-03 09:16:00 462

原创 AWS S3 Lambda Python脚本函数实现图片自动转换为webp并上传至s3

Amazon S3 自动转换图片格式Amazon S3 存储桶 新增文件自动触发 AWS Lambda。Lambda 取 S3 文件做转换并存回去 S3 同一个目录下,并增加相应的后缀名。 并且支持通过API Gateway的方式触发对图片进行修改并输出。 本 Lab 使用 Python Pillow 做图片转换,读者可以参考 Pillow 文档进行功能扩展。import osimpo...

2024-05-03 09:15:00 332

原创 BufferedImage内存泄漏和溢出问题

java的ImageIO处理图片在使用Thumbnailator时出现了OOM问题,但是其使用方法只有一行代码,无法针对其内部使用的对象进行资源释放,所以使用原生的Java类库中ImageIO来处理图片。 关键有三个类:ImageIO、BufferedImage、GraphicsImageIO类包含两个静态方法:read()和write(),通过这两个方法即可完成对位图文件的读写,调用...

2024-05-03 09:15:00 236

原创 AWS S3 Lambda Python脚本函数执行时报错AttributeError: module ‘PIL‘ has no attribute ‘,Image‘cannot import nam...

背景代码示例如下import PILdef add_image(self, tag, img, step): summary = Summary() bio = BytesIO() if type(img) == str: img = PIL.Image.open(img) elif type(img) == PIL.Image.Ima...

2024-04-24 22:13:00 240

原创 java lambda list集合中对象某属性重复,只取第一个对象

可以使用Java 8的流式编程和Lambda表达式来实现这个需求:List<MyObject> list = getList(); // 获取List集合Map<String, MyObject> map = list.stream() .collect(Collectors.toMap(MyObject::getProperty, Function...

2024-04-24 22:02:00 215

原创 java中是否所有的stream流都需要主动关闭

流的概念在输出数据时,内存中的特定数据排成一个序列,依次输出到文件中,这个数据序列就像流水一样源源不断地“流”到文件中,因此该数据序列称为输出流。同样,把文件中的数据输入到内存中时,这个数据序列就像流水一样“流”到内存中,因此把该数据序列称为输入流。输入流与输出流为什么要按照流的方式来读取和保存数据呢?因为流可以保证原始数据的先后顺序不会被打乱,在很多情况下,这都是符合实际需求的。比...

2024-04-24 21:52:00 390

原创 MySQL 死锁案例解析一则

原文链接:https://www.modb.pro/db/448666一、问题背景某业务模块反馈数据库最近出现过几次死锁告警的情况,本文总结了这次死锁排查的全过程,并分析了导致死锁的原因及解决方案。希望给大家提供一个死锁的排查及解决思路。基础环境:主机类型:x3850 X6操作系统:DB:CentOS Linux release 7.4.1708、APP:CentOS Linux rel...

2024-04-13 07:47:00 888

原创 Apache RocketMQ中如果一个topic堆积了非常多的消息会导致rockemq出现什么问题

如果一个Topic堆积了大量的消息,可能会对RocketMQ的性能产生一定影响,但不是直接导致RocketMQ宕机的原因。主要影响包括:消息存储和检索性能:如果一个Topic中包含大量的消息,每次读写都需要扫描整个Topic,这将导致磁盘IO负载增加,消息检索和存储性能下降,因此建议在业务量增长时及时进行分区或者Sharding。网络传输性能:如果一个消费者组无法处理这个Topic...

2024-04-13 07:44:00 303

原创 博客园cnblog博客迁移到Hexo(提供格式转换)

备忘https://gitcode.com/flytam/CsdnSyncHexo/overview?utm_source=csdn_github_accelerator&isLogin=1https://blog.csdn.net/huoji555/article/details/104935130/

2024-04-10 00:01:00 190

原创 导出Excel后再导入文件使用easyexcel读取,报错,用WPS打开对应Excel随便动一下然后保存又可以正常读取了。...

https://github.com/alibaba/easyexcel/issues/1738老版本的esayExcel中当样式为空时存在NPE的BUG已经在3.0.0-beta1版本修复,beta版本会在一个月内升级成正式版。本篇文章如有帮助到您,请给「翎野君」点个赞,感谢您的支持。首发链接:https://www.cnblogs.com/lingyejun/p/1812515...

2024-04-09 23:58:00 206

原创 Transaction rolled back because it has been marked as rollback-only

背景最近在看程序日志的时候,发现频繁出现 Transaction rolled back because it has been marked as rollback-only这个异常,查了很久资料才知道是什么原因导致抛出这异常的,下面解析一下;原因字面上的意思就是:事务已回滚,因为它已被标记为仅回滚,那为什么会标记为仅回滚呢?其实原因就是嵌套事务导致的,因为spring事务有传递性,sp...

2024-04-09 23:51:00 325

原创 制造业的三种模式——OEM、ODM和OBM

OEM 原始设备制造商 (不设计只生产)OEM(Original Equipment Manufacturer),直译为“原始设备制造商”。俗称“贴牌生产”或“代工”,是指一家厂商有设计,但是没有自己的工厂,所以找另一家厂商,为其生产产品或配件。OEM特征是:技术在外,资本在外,市场在外,只有生产在内。A设计,B生产,A品牌,A销售,主体是生产商。这种委托他人生产的合作方式就是OEM,...

2024-04-09 23:43:00 520

原创 mysql中将where条件中过滤掉的group by分组后查询无数据的行进行补0

背景mysql经常会用到group By来进行分组查询,但也经常会遇到一个问题,就是当有where条件时,被where条件过滤的数据不显示了。例如我有一组数据:我想查询创建时间大于某一范围的spu的分组下的sku的数量正常的sql查出的话,假如不存在相关记录SELECTproduct_id ,count( *) countFROMproduct_skuWHEREcreat...

2024-04-09 23:34:00 216

原创 代码逻辑死循环导致线上CPU飙升问题排查

背景今天下午出现告警提示线上环境机器的CPU突增到100%,持续约两分钟又回落到正常水平。结论文件导出时由于逻辑漏洞导致部分场景,填充excel时出现死循环,当数据填充到一定量时,就会抛异常而后捕捉到,跳出循环。一般场景分析一般来说,CPU高有以下几种常见原因:业务请求和处理的并发量大,并且业务中包含较大的运算量;业务代码存在Bug,出现了过多的冗余计算或者死循环;由于可用内存空间不...

2024-03-04 23:01:00 354

原创 GitHub Pages使用过域名解析,停止后还能跳转到原有地址的原因

问题之前使用hexo+GitHub Pages搭建个人博客,同时使用了在腾讯云买了域名,使用了域名解析,将GitHub Pages的访问地址解析到了自己买的域名,在GitHub仓库里面使用了CNAME文件指定域名,如我的lingyejun.com。因此如果需要停止域名解析就需要现在阿里云域名解析那里暂停解析该网址(或者删除,严格来说这一步在这个问题里面其实可以没有,关键是后面的);然后将Git...

2024-03-04 22:24:00 304

原创 PostgreSQL 在使用连表语句时报错 ERROR: operator does not exist: bigint = character varying

背景在使用PostgreSQL数据库过程中,使用了连表语句如下所示,其中a表的order_no为bigint类型,b表的order_no为varchar类型select * from table_order a inner join table_order_item b on a.order_no = b.order_no;遇到提示:ERROR: operator does not e...

2024-03-04 22:24:00 510

原创 MySQL锁系列(一)之锁的种类和概念

原文链接https://keithlan.github.io/2017/06/05/innodb_locks_1/背景锁是MySQL里面最难理解的知识,但是又无处不在。一开始接触锁的时候,感觉被各种锁类型和名词弄得晕头转向,就别说其他了。本文是通过DBA的视角(非InnoDB内核开发)来分析和窥探锁的奥秘,并解决实际工作当中遇到的问题锁的种类&概念想要啃掉这块最难的大骨头,...

2024-03-04 22:23:00 223

原创 MySQL锁系列(二)之 锁解读

原文链接https://keithlan.github.io/2017/06/05/innodb_locks_show_engine/背景锁系列第一期的时候介绍的锁,我们要如何去解读呢?在哪里能够看到这些锁?锁信息解读工欲善其事必先利其器show engine innodb status 关于锁的信息是最详细的案例一(有索引的情况)前期准备dba:lc_...

2024-03-04 22:23:00 415

原创 两个死锁案例分析

背景死锁发生后,可以直接执行 show engine innodb status; 查看最近的死锁日志。案例一:索引唯一键冲突导致的死锁,解决办法,在进行事务操作前先对数据进行一个排序,降低互相锁冲突的概率。=====================================2024-02-18 15:36:00 0x7f2146991700 INNODB MONITOR ...

2024-02-20 23:04:00 385

原创 一例MySQL的insert死锁

原文链接:https://fanyilun.me/2022/03/09/%E4%B8%80%E4%BE%8BMySQL%E7%9A%84insert%E6%AD%BB%E9%94%81/ 分享一个最近遇到的一例MySQL死锁。关于MySQL的锁,几年前写过一篇原理类的文章,基础知识建议移步MySQL加锁分析。背景  我们使用MySQL实现了一个通用的分布式DB锁,建表语句如下:1...

2024-02-19 23:12:00 428

原创 Mysql中使用rule作为表的别名引发的语法错误

不可以使用rule作为别名MySQL表别名不能为"rule",因为"rule"是MySQL的保留关键字。你可以使用其他名称作为别名,例如:SELECT * FROM your_table AS rule;将"your_table"替换为你的表名,将"rule"替换为你想要的别名。"rule"是MySQL的保留关键字吗在MySQL中,“rule”作为保留关键字,通常与“show”命...

2024-02-19 23:11:00 426 1

原创 君子终日乾乾,夕惕。若厉,无咎。

惕龙当慎,好多人就迷失在初级的成功之中,开始飘飘然,浑浑噩,然后败下阵来。终日乾乾,夕惕”是什么意思呢?夕惕,是“终夕惕惕”的缩写,与“终日乾乾”相对应。从天象看,九三指春分,此时东方苍龙星宿一半在白天出现,一半在夜里出现,所以称“日”、称“夕”。古人用苍龙星宿象征人的行为,“终日”指整个白天,“乾乾”指勤奋努力,如同苍龙星宿运行不息。“终夕”指整个深夜。“惕惕”指警觉。意为白天努力,晚上...

2024-02-17 21:39:00 402

原创 曾仕强:龙马精神的寓意和详解

人们经常用“龙马精神”来作为祝愿或期许语。唐代李郢《上裴晋公》诗中,有“四朝忧国鬓如丝,龙马精神海鹤姿”两句,大约是“龙马精神”最早出处。很多人都把其中的“龙马”,理解为古代传说中形状象龙的骏马;而“龙马精神”也就成了比喻人精神旺盛的词语了。大家知道,《易经》中乾卦以龙德为喻,乾卦六爻可归纳为潜龙、现龙、惕龙、跃龙、飞龙、亢龙六个阶段,都是以龙来作比方或作例证。坤卦以马德为喻,而且还是以牝马也...

2024-02-16 15:34:00 376

原创 代码变更风险可视化系统建设与实践

2023年09月22日作者: 桂来文章链接9054字19分钟阅读1 软件系统风险与变更变更是软件系统进化的推动力,同时也是孕育风险的温床。如果一个系统没有了相应的迭代和变更,那这个系统就会逐渐失去了活性和价值。不过,随着系统进行了变更迭代,软件风险也会慢慢衍生,而规避变更引发的软件风险在质量保障领域是一个较大的挑战。通过对下面典型软件系统架构图分析,我们可提炼出3大类变更维度:...

2024-02-12 16:45:00 364

原创 MySQL的CHAR、VARCHAR、TEXT等字符串字段在等值比较("=")时,会忽略掉尾部的空格,导致有空格也能匹配上的坑...

一、现象CREATE TABLE `user_info` ( `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键自增ID', `user_name` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '名字', PRIMARY KEY (`id`), KEY `idx_us...

2024-01-28 10:38:00 440

原创 冬天早晨轮胎胎压变低是什么原因导致的

原因冬天胎压会自动变低,根据热胀冷缩的特性,轮胎中的气体会进行收缩,胎压自然就会降低了。其他冬天早晨轮胎气压低的原因可能包括:热胀冷缩现象:气体在温度下降时会发生收缩,导致轮胎内的气压降低。这是一种自然现象,因为轮胎中的气体体积会随着外部温度的变化而变化。轮胎漏气:如果轮胎充气后不久气压又迅速下降,可能是轮胎存在漏气的情况。这时应该检查轮胎是否有被扎或其他损坏,以及气门嘴是否密...

2024-01-21 21:44:00 423 1

原创 使用ChatGPT解决在Spring AOP中@Pointcut中的execution如何指定Controller的所有方法

背景使用ChatGPT解决工作中遇到的问题,https://xinghuo.xfyun.cn/desk切指定类在Spring AOP中,@Pointcut注解用于定义切点表达式,而execution属性用于指定切点表达式的具体匹配规则。要指定Controller的所有方法,可以使用以下方法:使用类名和方法名进行精确匹配。例如,如果要匹配名为com.example.controller....

2024-01-17 23:19:00 522

原创 人生难得糊涂,不要刻意追求真相,真相有时就是假象。

故事想去做基因检测,去探求到底是什么原因导致你之前的疾病的。就算你知道了又能怎样,你又不是专业的医师,哪根基因链条出现了问题,对你而言并不重要,重要的是当下的人生,是健康的、是充实的、是充满朝气的。假如检测结果是没病,各方面正常,那你忙活这一趟,最终的结果不就是个庸人自扰的下场吗。假如检测结果是有病,还有可能有基因遗传,那你会怎么样,难道会自暴自弃吗?难道不是踏踏实实的过好每一天,开开心...

2024-01-08 00:33:00 445

原创 [RFC6238] TOTP: 基于时间的一次性密码生成算法

原创翎野君翎野君2019-03-28 22:42在闲暇时间做了一个TOTP相关的开源项目,在项目初步完成之余,我尝试对[RFC6238]文档进行了翻译,供大家参考与查阅,若有不妥之处,还望各位前辈海涵斧正。生活中我们会经常使用到TOTP的算法应用,如银行的动态口令器、网络游戏中的将军令、登录场景下的手机二次验证等等。下图便是一个常见的OTP动态密码生成器:为了提高游戏账号的安全...

2024-01-04 23:57:00 954

原创 Dating Java8系列之Java8中的‘流’

翎野君/文流的概念1.流是什么流是Java API的新成员,它允许你以声明性方式处理数据集合(通过查询语句来表达,而不是临时编写一个实现)。就现在来说,我们可以把它们看成遍历数据集的高级迭代器。代码:按价格排序后得到手机名称列表使用新的流式方法有几个显而易见的好处。代码是以声明性方式写的:说明想要完成什么而不是说明如何实现一个操作(如利用循环和if条件等控制流语句)。...

2024-01-04 23:56:00 862

原创 Dating Java8系列之用流收集数据

翎野君/文收集器简介1.收集器介绍Java 8中流支持两种类型的操作:中间操作(如filter或map)和终端操作(如count、findFirst、forEach和reduce)。中间操作可以链接起来,将一个流转换为另一个流。这些操作不会消耗流,其目的是建立一个流水线。与此相反,终端操作会消耗流,以产生一个最终结果,例如返回流中的最大元素。2.概念辨析collect:Strea...

2024-01-04 23:56:00 752

原创 Dating Java8系列之default默认方法

翎野君/文引言传统上,Java程序的接口是将相关方法按照约定组合到一起。实现接口的类必须为接口中定义的每个方法提供一个实现,或者从父类中继承它的实现。不断迭代的API默认方法的引入就是为了,以兼容的方式,解决像 Java API这样的类库,演进迭代问题。理解演进迭代为了理解为什么一旦API发布之后,它的演进就变得非常困难,我们假设你是一个Github上的开源作者,兴致勃勃的写了一...

2024-01-04 23:56:00 940

原创 Dating Java8系列之巧用Optional之优雅规避NPE问题

翎野君/文避之不及的 NullPointerExceptionNPE : NullPointerException空指针异常是最常见的Java异常之一,抛出NPE错误不是用户操作的错误,而是开发人员的错误,应该被避免,那么只能在每个方法中加入非空检查,阅读性和维护性都比较差。以下是一个常见的嵌套对象:一个用户所拥有的汽车,以及为这个汽车配备的保险。public class User...

2024-01-04 23:56:00 790

原创 Dating Java8系列之并行数据处理

翎野君/文分支合并框架分支合并框架介绍分支/合并框架的目的是以递归的方式将可以并行的任务拆分成更小的任务,然后将每个子任务的结果合并起来生成整体结果。它是ExecutorService接口的一个实现,它把子任务分配给线程池(称为ForkJoinPool)中的工作线程。把任务提交到这个池,必须创建RecursiveTask<R>的一个子类,其中R是并行化任务(以及所有子任务...

2024-01-04 23:56:00 857

空空如也

空空如也

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

TA关注的人

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