- 首页
- > 博客
设计模式中单例模式设计时需要注意的5个问题
单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。使用的时候需要注意有状态和无状态单例的使用场景,多个JVM中会产生多个单例对象,同一个JVM中多个类加载器加载可能会导致出现多个单例对象,使用单例不能实现Cloneable和Serializable接口,否则会出现多个单例对象。一个饿汉式单例类在多线程调用的时候,在生成的时候要使用synchronized对该方法进行线程同步,否则会导致不同的线程将单例的对象属性数据进行相互覆盖。
为什么用Docker部署Workerman项目?
workerman是一个高性能的PHP socket 服务器框架,如何使用Workerman进行敏捷开发和部署一直是一个困扰研发人员的问题。使用Docker部署Workerman,既保证了代码的兼容性,也大大提高了开发效率。
十种JVM内存溢出的情况,你碰到过几种?
对于java程序员来说,在虚拟机自动内存管理机制的帮助下,不需要自己实现释放内存,不容易出现内存泄漏和内存溢出的问题,由虚拟机管理内存这一切看起来非常美好,但是一旦出现内存溢出或者内存泄漏的问题,对于不熟悉jvm虚拟机是怎么使用内存的话,那么排查错误将会是一项非常艰巨的任务。所以在了解内存溢出之前先要搞明白JVM的内存模型。
如何十步解耦你的系统?
耦合性,是对模块间关联程度的度量。耦合的强弱取决于模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差。软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准。高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。
微服务中消息总线架构设计应用1
当一个O2O电商系统到达一定规模之后,就需要考虑系统的可扩展性、松耦合和组件化。一般采用的都是基于时下比较流行SpringCloud和Dubbo的分布式的微服务的架构模式,虽然模块间能够独立部署了,但是模块间的还是强依赖关系,每次改动都需要重新发版上线,产品迭代速度又快,使用分布式的消息总线设计就可以解决这些问题。
项目中如何使用Maven进行版本管理?
Maven 是一个项目管理工具,每个项目deploy到repository中以后,都有一个坐标,坐标中就包含一个版本,那个版本将是我们进行版本控制管理的一个重点,本文重点讲述项目管理中实际使用maven进行版本控制的经验。
10分钟生成一张永久免费的SSL证书
SSL证书激活SSL协议,实现数据信息在客户端和服务器之间的加密传输,可以防止数据信息的泄露,保证了双方传递信息的安全性,而且用户可以通过服务器证书验证他所访问的网站是否是真实可靠。是网站正常的运行的必备。
要提高团队代码质量,就要这么用Git进行版本控制!
Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。非常适合做互联网产品的代码版本管理。一个团队如何如何使用git进行版本管理,如何使用git进行多人的代码写作?如何解决产品开发过程中的提出来的版本控制的问题?就是我要表达的意思。团队如何进行版本管理呢?