首页
学习
活动
专区
工具
TVP
发布

FunTester

Fun·BUG挖掘机·性能征服者·头顶锅盖·Tester
专栏成员
897
文章
783230
阅读量
47
订阅数
Zap高性能日志库实践
Zap 是一个由 Uber 公司开源的结构化、高性能日志记录库,旨在为 Go 语言提供一种快速、简单且高效的日志解决方案。它起源于 Uber 内部使用的日志系统,后来于 2016 年开源,迅速获得了 Go 社区的广泛关注和应用。
FunTester
2024-06-18
1210
CompletableFuture 使用指南
在Java并发编程中,传统的线程和同步机制如Thread类和Runnable接口提供了基本的并行执行能力,但它们的使用往往需要编写大量的样板代码来处理线程的创建、管理和同步,从而导致代码复杂且难以维护。为了解决这些问题,Java 5引入了java.util.concurrent包,提供了如ExecutorService和Future等高级抽象来简化并发编程。然而,Future接口在处理异步任务时仍然存在一些局限,例如无法方便地处理回调、组合多个任务以及处理异常。
FunTester
2024-06-18
930
Netty FastThreadLocal实践
在性能测试当中,经常会遇到实现线程安全的场景。使用 ThreadLocal 是一个非常简单且使用的解决方案。ThreadLocal 用于存储每个线程独立的变量,避免线程间共享数据带来的同步问题。然而,在高并发场景下,ThreadLocal 的性能可能会受到影响,因为它依赖于哈希表进行变量存取,存在一定的开销。而且 ThreadLocal 也有内存泄露的风险,如果对于一个性能测试服务来讲,ThreadLocal 的风险是显而易见的。
FunTester
2024-06-07
850
Unix套接字进程通信初探【Java版本】
前文提到了Go语言版本的Unix套接字的实践,作为Java选手,自然也必须安排上。有了Go的经验,Java写起来也比较容易。
FunTester
2024-06-07
680
MySQL写入压测几种方式
最近跟在粉丝群先聊到一个问题,数据库的写入方式,最多能写入多少行数据。经过一些网络搜索和查询,据悉MySQL单表插入极限是3w~5w。
FunTester
2024-05-29
1220
关注专栏作者,随时接收最新技术干货
FunTester
隐藏技能性能测试
用户6343696
大连东软实习生
Unix套接字进程通信初探【Go版本】
最近看到一些资料,提到了在同一台机器上进程间通讯的方式:unix套接字。起初我还以为是Socket接口,因为用到了变量SocketPath。后面经过AI助理翻译,才知道原来这是我的知识盲区了。
FunTester
2024-05-28
910
面向对象变成VS函数式编程
面向对象编程(OOP)和函数式编程(FP)是软件开发中的两种主要范式。这两种方法都为组织、设计和实现软件系统提供了不同的方法论。虽然面向对象编程几十年来一直是主导范式,但函数式编程近年来获得了巨大的吸引力,这要归功于其处理状态和数据的独特方法。我们将学习研究每种范式的特征,检查它们的优缺点。并用Java来演示两者的差异。
FunTester
2024-05-28
910
垃圾收集分析的意义
在不断发展的软件开发领域,性能是至关重要的。应用程序的效率可以决定其成功与否,而在优化软件性能方面发挥关键作用的关键元素之一是垃圾收集(GC)。这是一个确保内存有效分配和回收的过程,从而防止内存泄漏并增强应用程序可靠性。
FunTester
2024-05-08
810
多优先级线程池实践
在之前的Java线程池实践当中,我遇到了任务优先级的问题。最终采取的方案是新增一个线程池作为执行高优任务,然后将普通线程池的在执行任务执行,先去判断高优线程池是否有等待任务,如果有就先执行高优线程池等待队列中的任务。
FunTester
2024-05-08
1010
JDK14新增关键字——record
JDK 14引入了记录,这是一种新的类型声明。像 enum 一样,记录是类的受限形式。它非常适合于纯数据载体,即包含不打算更改的数据并且只包含最基本的方法(如构造函数和访问函数)的类。
FunTester
2024-04-28
1540
回归测试的四个步骤
本文提供了一个结构化的方法来创建和更新回归测试套件。回归测试套件应包含哪些类型的测试?应该运行哪些回归测试?如何应对回归测试失败?回归测试套件如何演变?这些问题以及其他考虑因素都会逐步探讨。
FunTester
2024-04-22
1110
性能测试中唯一标识的JMH测试
前文分享了几种性能测试中常用到的生成全局唯一标识的案例,虽然在文中我猜测了几种方案设计的性能,并根据自己的经验给出了适用的场景。
FunTester
2024-04-15
950
Druid MySQL连接池本地实践
本来不打算写这个题目的,因为 Druid 大多都是在 Spring 中使用的,它很多功能非常强大,但是对于 MySQL 性能测试中并不实用。但是由于特殊原因,还是得把这个拾起来。
FunTester
2024-04-03
1640
Java & Go泛型对比
在当今软件开发领域中,泛型是一种强大的编程特性,它能够在不牺牲类型安全的前提下,实现代码的复用和灵活性。Java作为一种老牌的面向对象编程语言,在其长期的发展过程中,已经积累了丰富的泛型经验和应用场景。而Go语言作为一种相对较新的编程语言,也在不断探索和发展其泛型特性,以满足现代软件开发的需求。本文将对Java和Go语言的泛型进行比较和介绍,探讨它们的实现方式、语法特点以及适用场景,帮助读者更好地理解和应用泛型编程。
FunTester
2024-03-22
970
自定义限速功能实践——Caffeine
之前使用了JDK自带的 Map 实现了自定义限速的简单需求。在当时的实现当中,有一个被隐藏的小设计,就是如果是用使用异步线程,用来根据配置给请求次数数据重置。如此这样,校验方法会非常简单方便。
FunTester
2024-03-22
760
高优异步任务解决双重异步集合点阻塞问题
在性能测试的实践当中,异步任务是离不开的。Java异步编程提高了应用程序的性能和响应性,通过避免线程阻塞提高了资源利用率,并简化了并发编程的复杂性。改善用户体验,避免死锁和线程阻塞等问题。异步编程利用CompletableFuture、Future等工具和API简化了开发流程,提高了系统的稳定性和可靠性。
FunTester
2024-03-12
780
自定义对象池实践
自从研究了 commons-pool2 之后,进行了多次实践,实现的效果也是非常好的。但是在一些轻量级场景当中,使用 commons-pool2 着实有点大材小用。
FunTester
2024-03-12
860
自定义限速功能实践——Map版本
说起 限速 ,想必各位不会陌生。通常在一个服务程序当中,限速指的是对同一类请求进行速率的限制,用来防止服务端某些资源被过度消耗,从而保障服务的稳定性。
FunTester
2024-03-04
770
2023年测试行业调查报告
2023年测试行业问卷调研有850左右同学参与,也许是受大环境影响戓其他因素的影响,较往年上千份的问卷反馈规模有所减少,但仍可以通过这近千份数据得出一些结论,来为测试行业发展的预判和个人职业发展规划做一些参考。
FunTester
2024-03-04
3430
JDK17 Groovy Caffeine 模块化报错分享
最近在升级各种依赖包的过程之总是能遇到一些Java模块化的问题。Java模块化是Java 9引入的一种新的特性,它将Java类库划分为若干个模块,每个模块都具有自己的包和类。模块化可以提高Java程序的安全性、可维护性和可移植性。
FunTester
2024-02-03
1440
点击加载更多
社区活动
AI代码助手快速上手训练营
鹅厂大牛带你玩转AI智能结对编程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档