自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (9)
  • 收藏
  • 关注

原创 掌握 @Cacheable、@CachePut 和 @CacheEvict 注解

从入门到精通:掌握 @Cacheable、@CachePut 和 @CacheEvict 注解

2024-01-30 10:10:03 1270

原创 Docker部署Java项目

关于是否应该将Java项目部署在Docker中的思考。传统方式:直接在服务器上运行jar包,依赖于服务器的环境配置,可能会遇到环境不一致的问题。Docker方式:通过容器化,你的应用和所有依赖都封装在一个Docker镜像中。部署时只需要在有Docker环境的机器上运行容器即可,环境一致性得到保障。

2024-01-24 09:00:28 472 1

原创 分布式ID解决方案

在分布式系统中,生成全局唯一ID是非常重要的,因为在分布式系统中,多个节点同时生成ID可能会导致ID冲突。下面介绍几种常用的分布式ID解决方案。

2024-01-22 09:27:34 1097

原创 使用redis秒杀的demo

模拟了一个商品秒杀过程。首先,它检查用户是否已经秒杀过,如果秒杀成功,会减少库存并记录秒杀用户。该示例中使用了Redis的事务机制,确保在多个命令之间的原子性操作。在实际生产环境中,你需要更多的优化和安全性措施,包括用户鉴权、分布式锁、防止超卖等。实现一个秒杀系统是一个复杂的任务,需要考虑诸多因素,如并发控制、库存管理、用户鉴权等。以下是一个简单的Redis秒杀Demo,用于演示基本的秒杀流程。请注意,这个示例仅用于核心库存demo演示,实际的生产环境中需要更多的安全性和性能优化。

2023-11-23 09:39:10 78

原创 Explain命令在优化查询说明

EXPLAIN命令可以帮助我们理解 MySQL 的查询执行过程,从而进行优化。通过选择合适的索引、减少数据访问、减少排序和分组、避免隐式类型转换、减少查询次数等方法,我们可以提高查询效率,并优化数据库性能。在使用EXPLAIN命令时,我们需要关注的字段包括idtabletypekeykey_lenrefrowsExtra等。通过分析这些字段,我们可以了解查询的执行计划、数据访问方式、索引使用情况、数据过滤情况、排序和分组操作、查询次数等信息,从而进行优化。

2023-11-20 08:49:24 52 1

原创 Spring Boot 常用注解大全:每个程序员必备

Spring Boot 中有许多常用的注解,这些注解用于配置、管理和定义 Spring Boot 应用程序的各个方面。以下是这些注解按大类和小类的方式分类,并附有解释和示例。

2023-11-16 09:19:12 82 1

原创 Redisson分布式锁

Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。Redisson提供了使用Redis的最简单和最便捷的方法。Redisson的宗旨是促进使用者对Redis的关注分离,从而让使用者能够将精力更集中地放在处理业务逻辑上。Redisson底层采用的是Netty 框架。支持Redis 2.8以上版本,支持Java1.6+以上版本。

2023-11-07 15:06:49 136

原创 docker创建mysql并映射本地配置

docker创建mysql并映射本地配置

2023-11-07 14:07:10 52

原创 零拷贝(Zero-copy)详解

零拷贝(Zero-copy)是一种高效的数据传输机制,在追求低延迟的传输场景中十分常用。本文先通过传统方案引出零拷贝机制,然后分析其细节,最后介绍它的部分应用。文中涉及到的操作系统理论知识都可以参考英文维基或者相关书籍,如Abraham Silberschatz著《操作系统概念》、Andrew S. Tanenbaum著《现代操作系统》等。

2023-10-10 09:24:29 185 1

原创 Nginx常用配置及和基本功能讲解

Ngnix是一款高性能反向代理服务器,学习它非常有必要,本文讲解了Ngnix核心配置,介绍了反向代理,负载均衡,动静分离三大功能,最后扩展了一些常用的指令。本文介绍了Ngnix的基础用法,后续的Ngnix内核以及原理部分有待研究。

2023-10-10 08:43:24 39 1

原创 javax.validation常用的校验

【代码】javax.validation常用的校验。

2023-10-09 08:52:53 404 1

原创 Redisson分布式锁详细介绍

官方网站 & 高性能版官方描述:Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。Redisson提供了使用Redis的最简单和最便捷的方法。Redisson的宗旨是促进使用者对Redis的关注分离,从而让使用者能够将精力更集中地放在处理业务逻辑上。Redisson底层采用的是Netty 框架。支持Redis 2.8以上版本,支持Java1.6+以上版本。

2023-10-09 08:47:04 121 1

原创 BigDecimal不可触碰的6个坑

因为double类型只能表示有限的小数,而BigDecimal可以表示任意精度的小数,当一个BigDecimal对象的小数部分超过了double类型的精度范围时,使用doubleValue方法将会丢失精度。如果需要将BigDecimal转换为double类型,应该使用BigDecimal的toBigInteger方法来获取一个BigInteger类型的值,再使用doubleValue方法进行转换。需要注意的是,setScale方法返回的是一个新的BigDecimal对象,原对象并没有被修改。

2023-10-08 09:02:33 48 1

原创 Linux CentOS下删除.swp文件

出现这种问题的原因往往是因为网络断了或者开关vpn造成与阿里云断开连接,为了保护文件防止丢失自动生成.swp文件,解决方法如下。用ls -a 可查看遗留的.swp文件。rm -rf +文件名删除.swp文件。

2023-05-04 16:08:43 476

原创 正则获取图片地址

正则获取图片地址

2023-05-04 16:05:38 295

原创 Docker数据目录迁移

采用yum或者rpm方式安装的docker,在安装好以后,默认的数据目录是/var/lib/docker。很多人在安装好docker以后,会忽略对这个目录的修改,并开始使用docker。这就会导致系统根目录被过大的占用,下面就简单讲一下如何对该目录进行迁移。在数据迁移和备份完成以后,有通过建设软连接和修改配置文件两种方式来应用新数据目录。修改daemon.json配置文件,增加"data-root"配置信息。将新的数据目录软连接到默认目录,重启docker即可。3、 应用新数据目录。3.2 修改配置文件。

2023-05-04 16:04:40 190

原创 shell脚本中根据端口号kill对应的应用进程

在Jenkins的自动部署中,每次重新部署我们都需要先关闭原先的应用进程,然后重新部署启动。在使用tomcat时,我们可以通过startup.sh和shutdown.sh进行对应操作。但是在使用springboot的Jar包时,却无从下手了(有知道的告诉兄弟一声),所以采取的办法是直接kill掉应用的pid,然后重新部署启动。每次启动的pid都是不一样的,而已知的是应用的端口号,那么如果能通过端口号查询到应用的pid不就行了吗。

2023-05-04 16:00:10 438

原创 MongoDB为什么比Mysql高效

在分片集群中,有一个特定的MongoDB节点充当分片协调器(mongos),负责接收客户端的请求,将请求路由到对应的分片节点上,并将结果返回给客户端。总的来说,MySQL的数据存储方式是传统的关系型数据库方式,适用于结构化数据的存储和查询。具体来说,MongoDB中的数据是以BSON(Binary JSON)文档的形式组织的,每个文档都是一个键值对的集合,可以包含任何类型的数据。在MongoDB中,数据的读写操作都是基于内存的,MongoDB会将频繁访问的数据缓存在内存中,以提高查询和更新的速度。

2023-04-13 08:56:34 984

原创 Docker数据目录迁移

采用yum或者rpm方式安装的docker,在安装好以后,默认的数据目录是/var/lib/docker。很多人在安装好docker以后,会忽略对这个目录的修改,并开始使用docker。这就会导致系统根目录被过大的占用,下面就简单讲一下如何对该目录进行迁移。在数据迁移和备份完成以后,有通过建设软连接和修改配置文件两种方式来应用新数据目录。修改daemon.json配置文件,增加"data-root"配置信息。将新的数据目录软连接到默认目录,重启docker即可。3、 应用新数据目录。3.2 修改配置文件。

2023-04-13 08:54:58 278 1

原创 不知道学习点什么好

 出来也那么久了!真的不知道做什么好!

2008-03-07 00:15:00 367

原创 在技术界遗憾中生存!

出来工作也一年的了,感觉什么都需要学习和需要掌握,新手出场,难免会有很多不合适的地方,看见CSDN各技术人员写的文章,我真的很遗憾,不能把自己的作品给共享出来,因为自己写的东西实在是太差了,所以只能想大家学习,在此向大家致敬,学习程序还不到一年,感觉真的自己很渺小,做的很多东西不成熟,就学习C#NET和一个数据库,学习好的!那也很花自己的时间,学习技术没有什么界限,感觉学习会了一样,又会追求别的新

2007-11-28 00:54:00 445

AXURE 9 微信小程序元件库

AXURE 9 微信小程序元件库,多种微信小程序UI元素,方便原型设计交互。

2022-06-13

jquery滑动验证码

jquery滑动验证码,支持字符验证、滑动验证,点击验证

2021-04-30

SpringBoot整合XSS.zip

SpringBoot整合XssFilter,Jsoup等实现请求参数的过滤,处理Xss攻击及sql注入

2021-04-30

iText中文帮助文档

第一章 创建一个Document 利用iText五步创建一个PDF文件:helloword。 第一步,创建一个 iTextSharp.text.Document对象的实例: Document document = new Document(); 第二步,为该Document创建一个Writer实例: PdfWriter.getInstance(document, new FileStream("Chap0101.pdf", FileMode.Create)); 第三步,打开当前Document

2018-08-15

freemarker生成html导出word

使用Itextpdf组件通过freemarker模板技术生成好html内容并导出word文件,提供下载。

2018-08-14

mysql sql 百万级数据库优化方案

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:   select id from t where num is null

2018-08-14

vlc播放器,播放m3u8

VLC 媒体播放器是一个便携式、 免费、开源、 跨平台的媒体播放器。 VideoLAN 项目的流式媒体服务器。分为Windows Phone版本和Android版本。

2018-07-27

opencv安装包V3.4.2

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

2018-07-27

CMMI中22个KPA

CMMI中22个KPA,和其他的缩写。GG Generic Goals 通用目标 SG Specific Goals 特定目标 GP Generic Practices 通用实践 SP Specific Practices 特定实践 PA Process Area 过程域 QA Quality Assurance 质量保证 SEPG Software engineering process group 软件工程过程组 PIID Process Improvement Indicator Description 过程改进指导描述 SCAMPI Appraisal Method for Process Improvement CMMI中评估过程改进的一种方法

2010-01-26

空空如也

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

TA关注的人

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