Java单元测试
2020年04月04日 java

拆分单元与集成问题1:单元测试用例与集成测试用例的区别是什么?单元测试不依赖上下文环境,集成测试依赖上下文环境,比如依赖Spring的容器环境、数据库、缓存等。问题2:为什么要拆分单元测试用例与集成测试用例? 代码组织:为了避免在开发或调试过程中浪费时间,有必要将单元测试从集成测试中区分出来。 依赖框架:根据定义,单元测试不需要运行任何框架容器(JDK和JUnit应该足够),集成测试需要运行时所需的所有框架,这极大增加了编译时间。 依赖环境:集成测试依赖外部工具(数据库,外部API等...

java junit mockito powermock
阅读全文

基础解释Semaphore也叫信号量,在JDK1.5被引入,可以用来控制同时访问特定资源的线程数量,通过协调各个线程,以保证合理的使用资源。注意:Semaphore 限制了并发访问的数量而不是使用速率。 Semaphore内部维护了一组虚拟的许可,许可的数量可以通过构造函数的参数指定。 访问特定资源前,必须使用acquire方法获得许可,如果许可数量为0,该线程则一直阻塞,直到有可用许可。访问资源后,使用release释放许可。应用场景比如,通过多线程读取远端数据源实现信息采集,为防止...

SDKMAN
2020年04月04日 java

# 安装软件sdk list gradlesdk install gradle 6.7.1sdk uninstall gradle 6.7.1# 查看版本sdk currentsdk current javasdk current gradlesdk current maven# 切换软件sdk use gradle 6.7.1sdk default gradle 6.7.1# 更新SDKMANsdk selfupdate参考资料 https://sdkman.io/

java sdkman
阅读全文

Maven 版本管理mvnw 全名是 Maven Wrapper,它的原理是在maven-wrapper.properties文件中记录你要使用的 Maven 版本。当用户执行mvnw clean命令时,发现当前用户的 Maven 版本和期望的版本不一致,那么就下载期望的版本,然后使用用期望的版本来执行命令。# 添加mvnw支持mvn -N io.takari:maven:wrapper# 切换Maven版本mvn -N io.takari:maven:wrapper -Dmaven=3....

java maven
阅读全文
搭建Nexus仓库
2020年04月04日 java

Nexus 安装配置[NEXUS REPOSITORY MANAGER 3 系统配置要求](https://help.sonatype.com/repomanager3/product-information/sonatype-nexus-repository-system-requirements){:target=”_blank”}Nexus下载地址http://nexus.sontatype.org/downloads/ Nexus默认端口:8081,通过conf/nexus.pr...

java maven nexus
阅读全文

场景描述最近,项目中常常见到类似下面的一段代码,即在初始化HashMap容量的时候,将插入HashMap的元素数量除以0.75f(即乘以4/3),从而防止插入元素数量大于HashMap默认初始容量DEFAULT_INITIAL_CAPACITY=16对应阈值而导致的扩容;Map<Integer, MenuItem> tmpMap = new HashMap<>(menuList.size() * 4 / 3);源码分析查看源码发现传入的menuList.size()...