163 search results
在软件开发中,性能测试是不可或缺的一环。但是编写基准测试来正确衡量大型应用程序的一小部分的性能却又非常困难。当基准测试单独执行组件时,JVM或底层硬件可能会对您的组件应用许多优化。当组件作为大型应用程序的一部分运行时,这些优化可能无法应用。因此,实施不当的微基准测试可能会让您相信组件的性能比实际情况更好。编写正确的Java微基准测试通常需要防止JVM和硬件在微基准测试执行期间应用的优化,而这些优化在实际生产系统中是无法应用的。这就是JMH(Java 微基准测试工具)可以帮助您实现的功能。这篇文章我会全面给大家介绍下JMH的各个方面。
随着业务规模增长、业务逻辑演进,项目工程的依赖树(二方依赖、三方依赖)变得愈发复杂。随之而来的便是【依赖冲突】问题。 当几个软件包对相同的共享包或库有依赖性,但它们依赖于不同的、不兼容的共享包版本时,就会出现依赖性问题。如果共享包或库只能安装一个版本,用户可能需要通过获得较新或较旧版本的依赖包来解决这个问题。反过来,这可能会破坏其他的依赖关系。 【依赖冲突】问题是软件工程广泛存在的问题,换句话说,各语言生态如Python、Golang、Nodejs、Java等都存在类似问题。但是由于Java语言的特殊机制,【依赖冲突】问题在Java中似乎有完美的解决方案,那就是【类隔离容器】。 从2000年的开源规范OSGI,到阿里巴巴自研Pandora容器,再到蚂蚁金服开源sofa-ark,业界在【类隔离容器】这个领域的实践方兴未艾。那到底什么是类隔离容器?怎么实现类隔离容器?为什么它听起来很完美但是却没有成为主流实践?