Eclipse的插件机制是个非常好的东西,架构也非常灵活。我们开发的插件有时候需要提供一些扩展机制,允许他人扩展,但是如果是提供的标准的Eclipse扩展点的话无疑加大了开发扩展功能的难度,开发人员必须熟悉Eclipse插件开发才可以。在最近做的几个IDE中,为了避免这个问题,我都采用了最原始的插件扩展方式,也就是扩展功能的开发人员把扩展插件的jar包或者.class文件放到某个目录下即可,这些扩            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2007-05-19 00:32:00
                            
                                981阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在面试后台开发的过程中,集合是面试的热话题,不仅要知道各集合的区别用法,还要知道集合的扩容机制,今天我们就来谈下ArrayList 和 HashMap的默认大小以及扩容机制。// from ArrayList.java JDK 1.7
private static final int DEFAULT_CAPACITY = 10;
//from HashMap.java JDK 7
static f            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-12 10:49:04
                            
                                76阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            本章主要内容: • 加载机制概述; • 扩展点注解; • ExtensionLoader 的工作原理; • 扩展点动态编译的实现原理。 1加载机制概述 Dubbo良好的扩展性与两个方面是密不可分的, 一是整个框架中针对不同的场景, 恰好处地使用了各种设计模式, 二就是本章要介绍的加载机制。 基于Dubbo SPI加载机制, 让整个框架的接口和具体实现完全解耦, 从而奠定了整个框架良好可扩展性的基础            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-23 11:04:01
                            
                                25阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一 简述Dubbo的架构是一个微内核型的,很多组件都是可插拔的。为了解耦,很多模块都是面向接口编程,比如常见的Procotol,在dubbo中默认是dubbo协议,也可以是其他rmi协议等。如何能够使得dubbo灵活的使用接口的不同实现类,这就是本节内容讲述的重点。   
 二 dubbo 动态加载基本原理如何动态选择接口的实现类,dubbo采用了一种叫扩展点加            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-22 14:24:45
                            
                                28阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            http://macrochen.iteye.com/category/8456 众所周知,Eclipse开发平台本身就是基于插件体系的,为了实现某个功能,我们可以在Eclipse的基础上以插件的方式添加我们需要的功能,bstekIDE就是这样实现的,同时我们还可以通过给插件增加扩展点,来给插...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2012-06-19 10:35:00
                            
                                87阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            众所周知,Eclipse开发平台本身就是基于插件体系的,为了实现某个功能,我们可以在Eclipse的基础上以插件的方式添加我们需要的功能,bstekIDE就是这样实现的,同时我们还可以通过给插件增加扩展点,来给插件添加插件从而达到对已有插件进行扩展以及定制来适应我们的需要
      
为了提高bstekIDE的灵活性,我们给其增加了三个扩展点:com.bstek.ide.common.ed            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2012-06-19 10:35:00
                            
                                96阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            概述  来源: Dubbo的扩展点加载从JDK标准的SPI(Service Provider Interface)扩展点发现机制加强而来。  Dubbo改进了JDK标准的SPI的以下问题:   JDK标准的SPI会一次性实例化扩展点所有实现,如果有扩展实现初始化很耗时,但如果没用上也加载,会很浪费资源。     如果扩            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-11-30 13:23:36
                            
                                115阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            atitit.eclipse有多少api扩展点,以及扩展点的设计不赞成使用的、作废的以及内部的扩展点 [扩展]页显示了几个你不应该在你的插件中使用的扩展点。在附表C.1的[描述]栏中,我们使用如下的约定:·不赞成使用:表示扩展点在当前版本中仍然可以使用,但在未来的版本中将会作废。不赞成在任何新代码...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2015-08-23 17:57:00
                            
                                54阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            atitit.eclipse有多少api  扩展点,以及扩展点的设计  不赞成使用的、作废的以及内部的扩展点  [扩展]页显示了几个你不应该在你的插件中使用的扩展点。在附表C.1的[描述]栏中            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-08-27 11:44:31
                            
                                139阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1.它参考并且扩展了java的spi机制,获取文件的路径为"META-INF/services/","META-INF/dubbo/", 但是一般情况下都会把文件放到"META-INF/dubbo/internal/"目录下, 
 这个功能的主要实现类是采用了工厂模式的ExtensionLoader。还有一些属性用来保存解析过程当中的结果。比如每个clas            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-26 08:00:05
                            
                                25阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            我们都是知道一个合格的开源框架对于扩展的支持都要是相当弹性的,Dubbo 也不例外。Dubbo采用微内核+插件体系,使得设计优雅,扩展性强。Dubbo的扩展机制是基于SPI思想来实现的,但是并没有采用JDK中原生的SPI机制。1.什么是SPIjava spi的具体约定为:当服务的提供者,提供了服务接口的一种实现之后,在jar包的META-INF/services/目录里同时创建一个以服务接口命名的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-23 20:21:19
                            
                                28阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            # Java的扩展点和插件机制
在软件开发中,我们经常会遇到需要在不改变原有代码的情况下扩展功能或添加新功能的需求。Java中的扩展点和插件机制为我们提供了一种灵活的解决方案,使得我们可以通过插件的方式来扩展应用程序的功能,而无需修改原有的代码。
## 扩展点和插件机制概述
扩展点是指在代码中提供的可以供其他开发者扩展的接口或方法,开发者可以实现这些接口或方法来添加新的功能。而插件是包含扩展            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-06-05 07:31:22
                            
                                88阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            介绍如果你的插件写的有特色,想拿来用,但是还不能或者不适合直接修改你的代码,怎么办呢?            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-10-18 01:52:15
                            
                                500阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            文章目录一、SPI简介1.JDK SPI2.Dubbo SPI二、Dubbo 扩展点机制源码阅读1.ExtensionLoader的属性2.getExtensionLoader()方法获取加载器实例3.getExtension()方法获取扩展点的实现类实例getExtension()createExtension()injectExtension()getExtensionClasses()lo            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-30 09:29:09
                            
                                87阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            相关博客:Dubbo的SPI机制(一)(Java的SPI)Dubbo的SPI机制(二)(Dub            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-12-22 00:50:44
                            
                                51阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            前面我们了解过了Java的SPI扩展机制,对于Java扩展机制的原理以及优缺点也有了大概的了解,这里继续深入一下Dubbo的扩展点加载机制。Dubbo扩展点加载的功能Dubbo的扩展点加载机制类似于Java的SPI,我们知道Java的SPI在使用的时候,只能通过遍历来进行实现的查找和实例化,有可能会一次性把所有的实现都实例化,这样会造成有些不使用的扩展实现也会被实例化,这就会造成一定的资源浪费。有            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-14 10:11:14
                            
                                92阅读
                            
                                                        
                                点赞
                            
                                                                             
                 
                
                             
         
            
            
            
            前言Dubbo作为一款开源的,轻量级的Java RPC框架。它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。那么Dubbo是如何提供这样的能力的呢?底层实现是一种怎样的风景?带着疑问,今天我们先来了解Dubbo实现可插拔式插件的设计的基石,走入我们的Dubbo源码分析第一篇-Dubbo扩展点的实现原理。Java中的SPIJDK中的SPI(Service P            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-16 20:57:28
                            
                                120阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            atitit.eclipse有多少api 扩展点,以及扩展点的设计 不赞成使用的、作废的以及内部的扩展点 [扩展]页显示了几个你不应该在你的插件中使用的扩展点。在附表C.1的[描写叙述]栏中。我们使用例如以下的约定: · 不赞成使用:表示扩展点在当前版本号中仍然能够使用。但在未来的版本号中将会作废。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2017-07-06 17:15:00
                            
                                45阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            前言我们在使用 spring 框架的时候,有时候需要做一些定制化开发,这个时候就有必要对 spring 进行一些个性化扩展。spring 的代码本身就是一门艺术,可以非常方便进行扩展,但是有时候应用场景比较复杂,可能会觉得无从下手,笔者也曾有这样的困惑,因此,本文总结了一些常用的扩展点,希望能起到抛砖引玉的作用,开拓大家的思路。spring 扩展点BeanPostProcessor首先,我们来看下            
                
         
            
            
            
            介绍在当今的市场中,组织需要不断发展。这导致了一场知识革命,通过战略性            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-01-11 07:09:19
                            
                                770阅读
                            
                                                                             
                 
                
                                
                    