自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

长河的博客

一个不断前进的开发者

  • 博客(230)
  • 资源 (2)
  • 收藏
  • 关注

原创 React组件之间通信

PropsContextPortalsRedux等十种方法,每种方法都有对应的适合它的场景,大家在设计自己的组件前,一定要好好考虑清楚采用哪种方式来解决通信问题。文初提到的那个小问题,最后我采用方案9,因为既然是小迭代项目,又是改别人的代码,当然最好避免对别人的代码进行太大幅度的改造。而pub/sub这种方式就挺小巧精致的,既不需要对别人的代码结构进行大改动,又可以满足产品需求。

2024-08-01 09:35:10 819

原创 写在34岁生日之时-随笔

短期目标:优先学习前端技术,成为全栈开发者,以获得更多职业选择的灵活性。长期目标:在继续工作的同时,逐步提升后端技术深度,确保在未来能够成为某一领域的技术专家。认证选择:根据自己的学习进度和预算,选择合适的认证进行考试,增加职场竞争力。希望这些建议对你有所帮助,祝你在职业发展中取得更大成功!短期目标:通过系统学习 React,掌握前端开发技能,成为全栈开发者。长期目标:在后端技术方面深入发展,成为微服务、高并发处理、分布式系统等领域的专家。具体计划。

2024-07-29 17:32:41 996 1

原创 Jackson使用详解

Jackson 是当前用的比较广泛的,用来序列化和反序列化 json 的 Java 的开源框架。Jackson 社区相对比较活跃,更新速度也比较快, 从 Github 中的统计来看,Jackson 是最流行的 json 解析器之一。Spring MVC 的默认 json 解析器便是 Jackson。Jackson 优点很多。Jackson 所依赖的 jar 包较少 ,简单易用。与其他 Java 的 json 的框架 Gson 等相比, Jackson 解析大的 json 文件速度比较快;

2024-07-01 16:24:15 711

原创 因为附件服务重启的问题

在使用容器时,我们应该始终使用 UseContainerSupport、InitialRAMPercentage、MinRAMPercentage 和 MaxRAMPercentage 而不是 Xmx & Xmn 来限制内存等资源。强烈建议将PRD中的最小荚数设置为大于1,否则,一旦遇到严重问题,API将完全无法对外开放,这将严重影响客户体验。需要定期检查pod的健康状态。如果前端没有遇到 503 错误,我们可能需要更多时间来确定问题。1.API报503,

2024-06-07 11:07:16 356

原创 SpringBoot web项目性能监控

用于获取 Java 应用程序的内存堆转储(heap dump)和线程转储(thread dump)。

2024-05-06 09:18:03 256

原创 提问的智慧-怎么提问

怎么提问

2024-04-02 10:38:45 1002

原创 SpringBoot2升级到SpringBoot3总结

我们这边的项目大多数都是Kotlin+SpringBoot2.X的技术栈,现在要全部升级到最新的SpringBoot3.2.2或者SpringBoot3.2.3,还是以Kotlin为主。最近公司在做监控日志平台的迁移,从NewRelic迁移到Dynatrace,为了配合迁移,有一个前提就是把SpringBoot2升级到SpringBoot3。首先做的第一件事:把JDK11升级到JDK17,以及把kotlin升级到1.9.21。注意查看升级后的驱动的依赖版本,注意出现不兼容的情况。等等,还有一些就不列举了。

2024-04-01 09:02:12 844

原创 2.并发编程

文章迁移自语雀。并发编程2

2024-03-01 17:39:21 996

原创 代码审查最佳实践与规则

当需要在现有项目中添加新代码时,应在主代码库(通常是 master/main/qa 分支)的基础上创建功能分支。这样,个人或团队就可以对新功能或任务进行开发,直到完成为止,并将他们的提交推送到这个不受保护的分支。开发完成后,就需要打开一个拉取请求(PR),将这些更改合并到主代码库中。这是为什么呢?因为代码审查必须由作者以外的人员执行,以检查源代码并查找问题,确保不良代码不会进入生产。此外,知识共享、提高安全性、降低开发成本和促进团队合作也是代码审查的好处。

2024-03-01 17:38:29 765

原创 1.并发编程

并发编程

2024-02-02 10:34:56 782

原创 springboot使用 response 做文件下载, 图片预览

​​​​​​​这样就实现了功能。

2024-02-02 10:34:14 485

原创 Spring-IOC综述

说到spring的ioc,其实就是控制反转,为啥需要控制反转呢,其实是为了功能的增强,如果不用spring, 我们直接使用工厂方法,静态工厂方法, 都是是可以获取到对象的,但是如果需求变了,我们在类的生成时,添加了很多信息,使用工厂就不方便了,还有事务等需要统一的处理.一个典型的应用就是mybatis的接口,平时我们都是只需要写mybatis的接口,但是不写他的实现类,由spring生成一个代理的实现类,来进行方法的调用.对于事务的调用,在service上添加了事务,需要调用dao进行统一的控制.所以需要一

2024-01-02 09:42:32 1073

原创 Spring-AOP综述

Pointcut("execution(* com.chenss.dao.*.*(java.lang.String))")//匹配com.chenss.dao包下的任意接口和类的只有一个参数,且参数为String类型的方法。@Pointcut("execution(* com.chenss.dao.*.*(java.lang.String))")//匹配com.chenss.dao包下的任意接口和类的只有一个参数,且参数为String类型的方法。并扩充实现了proceed()方法,用于继续执行连接点。

2024-01-02 09:41:59 892

原创 Spring源码编译

Spring源码编译

2023-12-04 10:05:28 836

原创 Spring源码解析1

去读加了注解的类 和扫描的.在看第二行代码register**()**;这个其实就是把这个配置类注册到了spring中, 当然了这里也可以放一个普通的对象, 例如放一个UserDaoImpl.class, 也是可以注册到spring中去的, 当然了, 这里注册配置类和普通类的过程有些区别, 主要是涉及到对注解的处理, 过滤过程,再就是下一行代码refresh**()**;这一行代码很重要, 这是在初始化spring的环境,加载Spring中配置的6个类.

2023-12-04 10:05:20 860

原创 再谈jdk的代理

第408行的注释, 说如果没有就使用ProxyClassFactory创建一个,否则直接从缓存里面拿, 我们不看缓存的拿去, 就是一个Map, 没事好看的. 看看这个ProxyClassFactory类.他是静态的内部类.我们模仿第二种方式,动态的生成一个.java文件, 再编译成.calss文件,最后加载到jvm中,生成对象,调用新的对象的方法,就得到的增强的目的,而且对用户是透明的.缺点很明显, 需要继承, 而且随着功能的增加, 要不断的继承, 体系混乱,越来越复杂. 最后谁就不懂了.

2023-11-02 14:26:41 118

原创 SSM使用OpenOffice+Adobe acrobat实现Office文件的在线预览

Office文件的在线预览

2023-11-02 14:25:48 198

原创 Java 21 新功能展示(含示例)

Java 21 于 2023 年 9 月 19 日发布,是 Oracle 标准 Java 实现的下一个长期支持(LTS)版本。Java 21 具有以下 15 项功能。字符串模板(预览版) [JEP-430]序列集合 [JEP-431]代 ZGC [JEP-439]记录模式 [JEP-440]开关的模式匹配 [JEP-441]外来函数和内存 API(第三次预览) [JEP-442]未命名模式和变量(预览) [JEP-443]虚拟线程 [JEP-444]

2023-10-07 09:43:36 898

原创 Gatling 入门

Gatling介绍

2023-09-01 09:40:01 322

原创 MongoDB教程-8

在之前的所有章节中,我们一直在使用MongoDB的Object Id。在本章中,我们将了解ObjectId的结构。ObjectId是一个12字节的BSON类型,具有以下结构-- 1.前4个字节代表自unix epoch以来的秒数接下来的3个字节是机器标识符接下来的2个字节是进程ID最后3个字节是一个随机的计数器值MongoDB使用ObjectIds作为每个文档的_id字段的默认值,它是在创建任何文档的时候产生的。ObjectId的复杂组合使得所有的_id字段都是唯一的。

2023-08-01 09:01:24 672

原创 MongoDB教程-7

正如在MongoDB关系的最后一章中所看到的,为了在MongoDB中实现规范化的数据库结构,我们使用了引用关系的概念,也被称为手动引用,在这个概念中,我们手动将被引用文档的id存储在其他文档中。然而,在一个文档包含来自不同集合的引用的情况下,我们可以使用MongoDB DBRefs。DBRefs与手工引用。

2023-08-01 09:00:43 884

原创 MongoDB教程-5

复制是跨多个服务器同步数据的过程。复制在不同的数据库服务器上提供数据的多个副本,从而提供冗余并提高数据可用性。复制可防止数据库丢失单个服务器。复制还允许您从硬件故障和服务中断中恢复。通过增加数据拷贝,您可以将其中一个用于灾难恢复、报告或备份。

2023-07-10 09:02:03 592

原创 MongoDB教程-6

在开始在Java程序中使用MongoDB之前,需要确保在机器上设置了MongoDB CLIENT和Java。您可以查看机器上Java安装的Java教程。现在,让我们检查如何设置MongoDB CLIENT。您需要下载jar mongodb-driver-3.11.2.jar及其依赖mongodb-deriver-core-3.11.2.jar。请确保下载这些jar文件的最新版本。您需要将下载的jar文件包含到类路径中。

2023-07-10 09:01:24 183

原创 MongoDB教程-4

mongoDB的删除和索引的创建

2023-06-02 11:02:44 512

原创 MongoDB教程-3

mongoDB的插入,保存数据操作

2023-06-02 11:00:26 1281

原创 MongoDB教程-2

如果数据库不存在,该命令将创建一个新数据库,否则将返回现有数据库。若并没有创建任何数据库,那个么集合将存储在测试数据库中。Options参数是可选的,因此您只需指定集合的名称。如果您尚未选择任何数据库,则它将删除默认的“测试”数据库。在插入文档时,MongoDB首先检查封顶集合的size字段,然后检查max字段。MongoDB的db.collection.drop()用于从数据库中删除集合。在命令中,name是要创建的集合的名称。如果成功删除所选集合,drop()方法将返回true,否则将返回false。

2023-05-04 09:37:02 592

原创 cassandra数据库入门-4

CQL 提供了创建和使用用户定义数据类型的便利。您可以创建一个数据类型来处理多个字段。本章说明如何创建、更改和删除用户定义的数据类型。创建用户定义的数据类型命令 CREATE TYPE 用于创建用户定义的数据类型。其语法如下 -例子下面给出了创建用户定义数据类型的示例。在此示例中,我们正在创建一个包含以下详细信息的 card_details 数据类型。属性属性名数据类型numintpinintnametextcvvcvvintphoneset... );

2023-05-04 09:33:59 916 1

原创 cassandra数据库入门-3

您可以使用命令 CREATE TABLE 创建表。下面给出了创建表的语法。句法定义列您可以定义一个列,如下所示。example:age int,name text主键主键是用于唯一标识一行的列。因此,在创建表时必须定义主键。主键由表的一个或多个列组成。您可以定义表的主键,如下所示。例子下面给出了使用 cqlsh 在 Cassandra 中创建表的示例。我们在这里 -使用键空间 tutorialspoint创建名为 emp 的表。

2023-04-03 14:08:46 1117 1

原创 cassandra数据库入门-2

Cassandra的安装:请参考博客:本章介绍 Cassandra 查询语言 shell 并解释如何使用其命令。默认情况下,Cassandra 提供了一个提示 Cassandra 查询语言 shell (cqlsh),允许用户与其进行通信。使用此 shell,您可以执行 Cassandra 查询语言 (CQL)。使用 cqlsh,您可以 定义模式,插入数据,和执行查询。cqlsh>启动 cqlsh使用命令 cqlsh 启动 cqlsh,如下所示。

2023-04-03 14:08:24 1227

原创 Docker安装Cassandra数据库,在SpringBoot中连接Cassandra

Cassandra的基本介绍,集成Cassandra到SpringBoot中使用。

2023-03-02 14:25:26 1397

原创 Cassandra数据库入门-1

Cassandra系列教程-1 ,入门介绍

2023-03-02 14:25:10 1748

原创 写给Java开发者看的-C#与Java的语法差异

Java语言和C#语法对比

2023-02-21 15:26:27 2059

原创 MongoDB教程-1

MongoDB 入门级教程

2023-02-06 18:07:46 488

原创 SpringBoot中Kafka的SSL链接-消费者配置

在上一篇文章:SpringBoot中Kafka的SSL链接_长河的博客-CSDN博客_kafka ssl连接中我们配置了kafka的SSL的生产者的配置, 现在配置其消费者:首先是测试代码:private static void testConusmer() throws Exception { String truststorePath = "./" + UUID.randomUUID().toString().replace("-", ""); FileToBase64Too

2023-01-01 08:56:18 696

原创 MariaDB数据库中测试数据的生成

测试MariaDB的单表的复杂SQL的查询性能

2022-12-01 14:16:30 476

原创 Jmeter教程

Jmeter高级教程,高并发接口测试

2022-11-01 16:59:41 949

原创 Java使用cucumber完成component-test

业务场景的component test

2022-10-08 09:51:50 481

原创 分布式缓存-3

缓存穿透2.缓存雪崩京东开源了一个热点key的检测项目, Java写的, 可以看看.

2022-10-08 09:49:40 111

原创 分布式缓存-2

缓存的介绍

2022-09-01 09:16:30 97

原创 分布式缓存-1

缓存: 可以进行快速数据交换的存储器系统级缓存:硬盘缓存:CPU缓存:内存和缓存的区别:缓存淘汰的几种策略:1.先进先出,FIFO2.最不经常使用, LRU3.最近最少使用,LFU缓存应用场景:使用前提: 应用扛不住用户的并发访问时.缓存的应用场景:1.分布式session2.热点排名3.发布订阅4.分布式锁从单体架构看缓存:......

2022-09-01 09:15:25 71

Java系统分布式缓存PPT

Java系统分布式缓存PPT

2022-04-06

UML基础与Rose建模教程-GOOG.pdf

UML基础与Rose建模教程.pdf,非常好的文档教程

2019-06-24

空空如也

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

TA关注的人

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