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

维C果糖

那些年,我们一起追过的……?
专栏成员
242
文章
439519
阅读量
50
订阅数
浅谈基于 JUnit 的单元测试
JUnit 是一个 Java 语言的单元测试框架,它由 Kent Beck 和 Erich Gamma 建立,逐渐成为 xUnit 家族中最为成功的一个。 JUnit 有它自己的 JUnit 扩展生态圈,多数 Java 的开发环境都已经集成了 JUnit 作为单元测试的工具。在这里,一个单元可以是一个方法、类、包或者子系统。因此,单元测试是指对代码中的最小可测试单元进行检查和验证,以便确保它们正常工作。例如,我们可以给予一定的输入测试输出是否是所希望得到的结果。在本文中,我们将着重介绍 JUnit 4.X 版本的特性,这也是我们在日常开发中使用最多的版本。
CG国斌
2022-11-28
1.1K0
深入理解 JVM 垃圾回收机制及其实现原理
对于 JVM 来说,我们都不陌生,其是 Java Virtual Machine(Java 虚拟机)的缩写,它也是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM 有自己完善的硬件架构,如处理器、堆栈等,还具有相应的指令系统,其本质上就是一个程序,当它在命令行上启动的时候,就开始执行保存在某字节码文件中的指令。
CG国斌
2022-05-06
3000
记一次 JVM CPU 使用率飙高问题的排查过程
如上图所示,在 下午3:45 分之前,CPU 的使用率明显飙高,最高飙到近 100%,为什么会出现这样的现象呢?
CG国斌
2022-05-06
1.2K0
详述 IntelliJ IDEA 遇到 JavaLaunchHelper 多种实现的解决方法
该问题主要出现于 Mac 版本的 IntelliJ IDEA 之中,而引起该问题的原因,则是 Mac 中 JDK 的一个 BUG,它是由启动应用程序时 IDE 使用的 Java 代理触发的,此警告是无害的,我们可以安全地忽略,并且该问题已经在后续的 JDK 中得到了解决。
CG国斌
2022-05-06
8770
Akka 指南 之「集群指标扩展」
为了使用集群指标扩展(Cluster Metrics Extension),你需要将以下依赖添加到你的项目中:
CG国斌
2022-05-06
7080
使用 VisualVM 和 JProfiler 进行性能分析及调优
版权声明:本文的内容源自于「IBM Developer」的博文,以对原文做重大更新,并新增 JProfiler 的内容。
CG国斌
2021-12-07
1.1K0
重复读取 HttpServletRequest 中 InputStream 的方法
对于第一个问题,“为什么InputStream无法重复读取?”,最直接粗暴的回答:InputStream就是被设计为无法被重复读取的。
CG国斌
2021-12-07
1.2K0
Spring Boot 自定义 Swagger2 请求 URL 路径的两种方法
在这里,以 Spring Boot 项目为例,给出两种自定义 Swagger2 请求 URL 路径的方法。
CG国斌
2021-12-07
12.2K0
深入理解 Java 线程池的实现原理
如上述代码所示,其来自于java.lang.Thread类,State为Thread类的内部公共枚举类,表示线程的 6 种状态。
CG国斌
2021-12-07
2610
详述 Elasticsearch 通过 RESTful API 查询索引信息的方法
以 Java 语言为例,Elasticsearch 提供的接口文档为:Java API,可能我们翻遍整个 API 文档也找不到对应_cat/indices命令的接口。
CG国斌
2021-12-07
1.1K0
详述 synchronized 和 volatile 的实现原理以及两者的区别
因此,为了解决这个问题,我们需要保证当存在多个线程操作共享数据时,同一时刻有且只有一个线程能够操作共享数据,其他线程必须等到该线程处理完数据之后才能进行处理。在 Java 中,关键字synchronized就可以保证在同一个时刻,只有一个线程能够执行某个方法或者某个代码块,主要是对方法或者代码块中存在共享数据的操作。除此之外,synchronized另外一个重要的作用,是其可以保证一个线程的变化(主要是共享数据的变化)能够被其他线程所看到,即保证可见性。
CG国斌
2021-12-07
3170
详述 ThreadLocal 的实现原理及其使用方法
Threadlocal是一个线程内部的存储类,可以在指定线程内存储数据,并且该数据只有指定线程能够获取到,其官方解释如下:
CG国斌
2021-12-07
3330
详述 Java 并发编程中 CAS 以及 AQS 的实现原理
CAS(Compare And Swap),即比较并交换,是解决多线程并行情况下使用锁造成性能损耗的一种机制,CAS 操作包含三个操作数——内存位置V、预期原值A和新值B。如果内存位置的值与预期原值相匹配,那么处理器会自动将该位置值更新为新值;否则,处理器不做任何操作。无论哪种情况,它都会在 CAS 指令之前返回该位置的值。
CG国斌
2021-12-07
3330
详述 Java NIO 以及 Socket 处理粘包和断包方法
NIO 是 New I/O 的简称,是 JDK 1.4 新增的功能,之所以称其为 New I/O,原因在于它相对于之前的 I/O 类库是新增的。由于之前老的 I/O 类库是阻塞 I/O,New I/O 类库的目标就是要让 Java 支持非阻塞 I/O,所以也有很多人喜欢称其为 Non-block I/O,即非阻塞 I/O。
CG国斌
2021-12-07
2910
详述 Mac GoLand 安装后打不开(闪退)的解决方法
安装了当前最新版(2021.2.3)的 GoLand,之前的版本是2019.2.5,但比较诡异的是:
CG国斌
2021-12-07
2.4K0
重复读取 HttpServletRequest 中 InputStream 的方法
对于第一个问题,“为什么InputStream无法重复读取?”,最直接粗暴的回答:InputStream就是被设计为无法被重复读取的。
CG国斌
2020-08-07
2.2K0
详述 Java NIO 以及 Socket 处理粘包和断包方法
NIO 是 New I/O 的简称,是 JDK 1.4 新增的功能,之所以称其为 New I/O,原因在于它相对于之前的 I/O 类库是新增的。由于之前老的 I/O 类库是阻塞 I/O,New I/O 类库的目标就是要让 Java 支持非阻塞 I/O,所以也有很多人喜欢称其为 Non-block I/O,即非阻塞 I/O。
CG国斌
2020-07-08
1.8K0
在使用 Spring Boot 的过程中,你可能不太知道的点?
如题,本文主要罗列一些在使用 Spring Boot 的过程中,大家可能不太知道的点。
CG国斌
2020-06-30
1.4K0
使用 VisualVM 和 JProfiler 进行性能分析及调优
在我们开发大型 Java 应用程序的过程中,难免遇到内存泄露、性能瓶颈等问题,比如文件、网络、数据库的连接未释放,未优化的算法等。随着应用程序的持续运行,可能会造成整个系统运行效率下降,严重的则会造成系统崩溃。为了找出程序中隐藏的这些问题,在项目开发后期往往会使用性能分析工具来对应用程序的性能进行分析和优化。在本文中,我们主要介绍 VisualVM 和 JProfiler 这两款性能分析工具。
CG国斌
2020-06-22
2.8K0
使用 Redis 统计网站 UV 的方法
网站 UV 就是指网站的独立用户访问量Unique Visitor,即相同用户的多次访问需要去重。
CG国斌
2020-06-16
2.8K0
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档