摘要:
在Spring Boot的自动配置中经常看到@ConditionalOnProperty注解的使用,本篇文章带大家来了解一下该注解的功能。 Spring Boot中的使用 在Spring Boot的源码中,比如涉及到Http编码的自动配置、数据源类型的自动配置等大量的使用到了@Conditional 阅读全文
摘要:
@Builder ......鲍勃是你的叔叔:用于创建对象的无懈可击的花式裤子! @Builder 在lombok v0.12.0中作为实验特征介绍。 @Builder获得了@Singular支持,并lombok从lombok v1.16.0 升级到主程序包。 @Builder与@Singular增 阅读全文
摘要:
前言 阿里的许多实践看似简单,背后却蕴涵着许多思考,譬如测试环境的管理。 互联网产品的服务通常是由Web应用、中间件、数据库和许多后台业务程序组成的,一套运行环境就是一个自成一体的小生态。最基本的运行环境是线上环境,部署产品的正式发布版本,为用户提供持续可靠的服务。 除此以外,还有许多不对外部用户开 阅读全文
摘要:
KYTMS是一套 TMS 运输管理系统,根据专线业务多点装卸、车辆跟踪、运单、订单在途回单、异常等模块,进行调研开发,配合市场专线开发而来,具备很高的学习价值。 产品设计围绕物流的专线业务,可以容纳3PL业务场景,功能强大,成熟,已经上线1年多。 此系统迭代周期为3个星期,版本更新在3个月。 适用范 阅读全文
摘要:
1.简介 对于用户来说,响应的快慢是判断一个系统的重要指标,缓存就是必不可少的优化工具,在一个高并发的场景中往往占有着非常重要的角色,所以开发人员需要根据不同的应用场景来选择不同的缓存框架,比如分布式缓存redis,或者进程缓存GuavaCache。 进程缓存与Map之间的本质区别就是能自动的回收存 阅读全文
摘要:
性能对比: Redis 只使用单核,而 Memcached 可以使用多核,所以平均每一个核上 Redis在存储小数据时比 Memcached 性 能更高。 而在 100k 以上的数据中,Memcached 性能要高于 Redis 内存使用效率对比: 简单的 key-value 存储的话,Memcac 阅读全文
摘要:
什么是ThreadLocal变量 ThreadLoal 变量,线程局部变量,同一个 ThreadLocal 所包含的对象,在不同的 Thread 中有不同的副本。这里有几点需要注意: 因为每个 Thread 内有自己的实例副本,且该副本只能由当前 Thread 使用。这是也是 ThreadLocal 阅读全文
摘要:
大公司一般持续会有自己的DevOps,开发自己的持续集成系统,甚至有自己的自动化测试团队专门开发测试用例。 但一般公司,使用Jenkins 做持续集成测试是常见的。 或者至少使用Jenkins进行自动部署,减少开发人员再进行手工部署的效率。 https://www.cnblogs.com/cheny 阅读全文
摘要:
一、概述 谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)! 类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLo 阅读全文
摘要:
Semaphore是java并发包里面的一个工具类,我们限制可以访问某些资源的线程数目就可以使用Semaphore了。这篇文章将对Semaphore的概念和使用进行一个详解。 一、概念理解 官方是这样解释的: Semaphore用于限制可以访问某些资源(物理或逻辑的)的线程数目,他维护了一个许可证集 阅读全文