示例结构(红框内的)
工厂模式(Factory Pattern)是 Java
中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。
作为一种创建类模式,在任何需要生成复杂对象的地方,都可以使用工厂方法模式。有一点需要注意的地方就是复杂对象适合使用工厂模式,而简单对象,特别是只需要通过
new
就可以完成创建的对象,无需使用工厂模式。如果使用工厂模式,就需要引入一个工厂类,会增加系统的复杂度。
Read More
单点登录 (SSO)
是一种身份验证过程,在该过程中,用户仅使用一组登录凭据即可访问多个应用程序或网站,这避免了用户分别登录不同应用程序需要输入不同验证信息的麻烦。用户凭据和其他识别信息由称为身份提供者(IdP)的集中式系统存储和管理。身份提供者是一个受信任的系统,可以提供对其他网站和应用程序的访问。基于单点登录
(SSO)
的身份验证系统通常用于员工需要访问其组织的多个应用程序的企业环境中。
Read More
我在日常工作中常用Stream方式去重,满足了工作上业务的需求即可,并没有深入了解和尝试其他方式的去重操作,这对于个人的成长是很有局限性的,遂借此机会整理ArrayList的去重方法。
Read More
HashMap 和 Hashtable
都用于以键和值的形式存储数据。两者都使用散列技术来存储唯一密钥。但是HashMap和Hashtable
类之间也是有许多区别。
Read More
之前在某篇公众号文章中,看到工资10K、15K、20K的Java程序员应该掌握的技术。大致对应着初、中、高级开发人员,所以我打算针对这三个阶段,写三篇文章,一边学习,一边总结。
曾经读过王小波的时代三部曲,分别是《青铜时代》、《白银时代》、《黄金时代》,遂借用来类比程序员的三个阶段。
Read More
之前在某篇公众号文章中,看到工资10K、15K、20K的Java程序员应该掌握的技术。大致对应着初、中、高级开发人员,所以我打算针对这三个阶段,写三篇文章,一边学习,一边总结。
曾经读过王小波的时代三部曲,分别是《青铜时代》、《白银时代》、《黄金时代》,遂借用来类比程序员的三个阶段。
Read More
在工作中,用java.util.ArrayList.retainAll(Collection<?>)方法判断两个list集合是否有交集(两个list是否有相同的元素)。如果两个集合有相同元素,那么retainAll返回true。但是如果两个集合的元素完全相同,返回的结果却是false,而如果两个list集合的元素都不一样,retainAll却返回true。
这是怎么回事呢?
Read More
IDEA运行SpringBoot项目,遇到以下有关 @Autowired 注解的警告:Field injection is
not recommended .
这篇文章浅析这个问题,为什么会有这样的提示?为什么字段注入的方式不推荐?
Read More
Java 8
API添加了一个新的抽象称为流Stream,以一种声明的方式处理数据。Stream
使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java
集合运算和表达的高阶抽象。Stream
API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。这种风格将要处理的元素集合看作一种流,
流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选,
排序,聚合等。元素流在管道中经过中间操作(intermediate
operation)的处理,最后由最终操作(terminal
operation)得到前面处理的结果。
————《菜鸟教程》
本片文章记录了工作中常用的Stream流操作,方便之后回顾。
Read More
自己部署了一个Spring Cloud微服务项目,实践Spring Cloud
Config分布式配置组件,按照Spring Cloud Config 资料Config:Spring
Cloud分布式配置组件 先后创建了Eureka注册中心服务、 Spring Cloud
Config Server服务、 Spring Cloud Config Client客户端,在最后启动 Spring
Client Config Client 客户端时,客户端始终无法访问 Config
Server服务,读取上传在Gitee上的配置文件的内容。
在Baidu、
Google搜索了大量资料,问题是最终解决了,但是这其中的原因,还需要继续探讨。
Read More