java中接口vs抽象类, 两者都有哪些区别?
Java本身属于面向对象编程语言,面向对象的四个特性: 继承,封装,抽象,多态。其实这里的抽象与今天所说的抽象类其实不是一个意思。特性中的抽象是对实现业务的抽象,可以通过抽象类,接口或者其他的方式对实现抽象。所以抽象类更多的是强调具体的实现。而特性抽像更多的是一种思想。
记录编程路上的点点滴滴
Java本身属于面向对象编程语言,面向对象的四个特性: 继承,封装,抽象,多态。其实这里的抽象与今天所说的抽象类其实不是一个意思。特性中的抽象是对实现业务的抽象,可以通过抽象类,接口或者其他的方式对实现抽象。所以抽象类更多的是强调具体的实现。而特性抽像更多的是一种思想。
在Java后期的迭代中,引入NIO相关的内容, 提高IO的处理效率,这篇文章主要介绍NIO的代码实现。NIO改变了BIO的工作方式,并且提供了non-blocking实现,引入了Selector实现Epoll模型,提升系统性能
在日常开发中,总是会涉及到对IO相关的操作,而在JAVA中,网络编程包含了BIO、NIO、以及AIO这几种类型,今天这篇文章主要讲解在JAVA BIO的工作模式,以及针对BIO的常见的优化方式。
在前面章节中我们介绍了ribbon的使用以及启动原理,在这篇文章中将主要介绍openfeign的原理。在Spring cloud体系中, feign其实有着很重比较重要的地位,因为feign能够大大简化我们对远程请求以及返回结果的处理,帮助我们快速开发。我们还是以一个简单的demo开始我们的代码调试和讲解步骤.
在spring中@Value实现原理解析(一)——获取环境变量文章中阐述了@Value的方式注入环境变量的值,这篇文章我们将主要介绍spring如何通过@Value注解实现表达式的计算,以及实现类型转换的。
在平常的开发中,@Value注解其实是使用频率很高的,在我锁经理的项目中主要有两种使用场景:
从上下文环境中读取配置属性值
通过该注解将配置值解析为常用集合。解析为常用集合,主要需要使用到spring SpEL表达式的使用。
而今天这篇文章的重点,我们则主要来学习下@Value在spring中是如何实现的,留下记录,便于后面自己学习。
最近在看源码过程中,发现在根据spring实现中,很多都使用了@Import注解实现动态bean的注入实现,因此自己总结了一些@Import使用方式,便于对Spring框架的细节的理解。
在spring cloud负载均衡之ribbon—demo实现 我们介绍了Ribbon的使用方式,其中给出了完整的demo使用方式,这篇文章将介绍RestTemplate类将介绍与Ribbon配合工作流程。如果对ribbon的工作原理感兴趣,可以参考spring clound负载均衡之Ribbon(三)- 工作原理 , 这篇文章介绍了Ribbon中重要的类型,以及类型的作用。
在之前文章spring clound负载均衡之Ribbon(二)- 自动装配 中,介绍了ribbon自动装配的原理,这篇文章中将主要介绍在ribbon启动过程中,涉及到的重要类型。这些类型在ribbon中充当比较重要的作用。下面我们就一起来看看吧。
在spring中,提供了@Qualifier注解,帮助我们精确的注入需要的bean实例。这边文章主要介绍该注解在spring开发中的两种使用方式,能够帮助我们优雅的实现代码。