Java EE
文章平均质量分 89
江Sen
Coding源于生活而高于生活!
展开
-
SPI(Service Provider Interface)机制
SPI是什么SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者扩展的API,它可以用来启用框架扩展和替换组件。整体机制图如下:Java SPI 实际上是“基于接口的编程+策略模式+配置文件”组合实现的动态加载机制。系统设计的各个抽象,往往有很多不同的实现方案,在面向的对象的设计里,一般推荐模块之间基于接口编程,模块之间不对实现类进行硬编码。一旦代码里涉及具体的实现类,就违反了可拔插的原则,如果需要替换一种实现,就需要修改代码。为了实现在模原创 2021-05-28 19:33:39 · 237 阅读 · 0 评论 -
JAVA内存模型(JMM)
线程通信机制线程间的通信无非通过两种方式实现,一种是内存共享,另一种是消息传递。Java采用的是内存共享的方式。JMM内存模型Java线程间的通信由Java内存模型(JMM)控制,JMM决定一个线程对共享变量的写入何时对另一个线程可见。从抽象的角度来看,JMM定义了线程和主内存之间的抽象关系:线程之间的共享变量存储在主内存中,每个线程都有一个私有的本地内存(local memory),本地内存中存储了该线程以读/写共享变量的副本。本地内存是JMM的一个抽象概念,它不对应某一个具体硬件。它涵.原创 2021-04-30 17:07:09 · 222 阅读 · 2 评论 -
内联函数
在说内联函数之前先说说函数的调用过程: 首先调用函数实际上将程序执行顺序转移到该函数所存放在内存中某个地址,将函数的程序内容执行完后,再返回到转去执行该函数前的地方。这种转移操作要求在转去前要保护现场并记忆执行的地址,转回后先要恢复现场,并按原来保存地址继续执行。也就是通常说的压栈和出栈。因此,函数调用要有一定的时间和空间方面的开销。那么对于那些函数体代码不是很大,又频繁调用的函...原创 2019-09-23 17:28:06 · 201 阅读 · 0 评论