eclipse是Java开发者最喜欢的工具之一,它具有强大的编辑,调试功能。很多人把eclipse作为一款IDE来使用,但从本质上而言,eclipse不仅仅局限于一个IDE,只是它实现了一般IDE具有的普遍功能,同时经过多年历史的沉淀,现如今成为了Java开发的必备工具。

就eclipse本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

eclipse的设计思想:一切皆为插件。其底层封装了一个核心,其他功能都基于此核心写成插件。从而扩展整个eclipse的功能。

整个eclipse的体系框架表示为如上。对这个图我们可以这样理解:

整个eclipse核心就像一个什么都不放的花瓶,在花瓶里面不插花时,他只是一组服务和框架,并不能做很多事情。突然有一天,你想给这个花瓶外部添加一点色彩,例如个花瓶的瓶身画个小图案,这时,eclipse就有了图形界面,就好比下面这样:

这就是我们在eclipse中最常见的界面,有菜单栏MenuBar,有工具栏ToolBar,有编辑器Editor等等。如果这时候你还不满足,你可能想往这个花瓶里插上一束花,你往eclipse加入了Java开发环境插件(Java Development Tools ,简称JDT),从而就能用来开发Java了(注意,现在的eclipse都已经默认加载了JDT)。可想而知,你还可以往eclipse加入C/C++开发环境插件(简称CDT),这样你有可以让eclipse成为C/C++开发工具。当然也不仅局限于加入各种语言的开发环境插件,也可加入类似于

Java Decomplier这种反编译插件,用于反编译Java的.class文件,从而看到源码。

那么问题来了,为什么eclipse能加入CDT呢?

上面已经说了,eclipse其本质并不是一个纯粹的Java开发工具,它是一组服务和框架,在这个基础上,它集成了插件开发环境(Plug-in Development Environment ,简称PDE),允许开发人员加入不同的插件,从而扩展整个eclipse功能。好比你可以往花瓶里面插入玫瑰花,也可以插入月季花!

那么往里面加入这么多插件,会导致eclipse崩溃吗?

并不会!因为eclipse对这些插件是动态载入并动态调用的。可以这么理解,eclipse启动后要真正的用到某个插件时,这个插件才会被调入内存中,当插件不被使用时,就会在一定时间被清除出内存。

总结:eclipse本质上是一组服务和框架,其底层为一个主要核心,在核心的基础上,集成了PDE,从而允许开发人员加入不同的插件,从而扩展整体功能!!!

Eclipse详解(一)相关推荐

  1. spark最新源码下载并导入到开发环境下助推高质量代码(Scala IDEA for Eclipse和IntelliJ IDEA皆适用)(以spark2.2.0源码包为例)(图文详解)...

    不多说,直接上干货! 前言   其实啊,无论你是初学者还是具备了有一定spark编程经验,都需要对spark源码足够重视起来. 本人,肺腑之己见,想要成为大数据的大牛和顶尖专家,多结合源码和操练编程. ...

  2. java调用项目中的文件_详解eclipse项目中.classpath文件的使用

    1 前言 在使用eclipse或者myeclipse进行java项目开发的时候,每个project(工程)下面都会有一个.classpath文件,那么这个文件究竟有什么作用? 2 作用 .classp ...

  3. eclipse调试详解

    eclipse调试详解 作者: 高州人家 来源: 网络转载 浏览: 1610 次 好评: 0分 [ 小 中 大 ] 2007-11-16 本地调试     Java   调试器具有客户机/服务器设计, ...

  4. 多图详解教程:Eclipse 3.6连接Tomcat 7

    多图详解教程:最新版本Java环境Eclipse 3.6连接最新版本开源Web服务器Tomcat 7.假如我们想将Java 的项目自己配环境浏览的话可以来看一下本文. 本文总共分为3大步分别为配置JR ...

  5. Eclipse编译运行Native代码步骤详解

    Eclipse编译运行Native代码步骤详解 标签: android jni层   android jni步骤   android jni接口   转自: http://blog.csdn.net/ ...

  6. 【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好的编译源码及eclipse可调试播放器源码下载)

    作者 : 韩曙亮  博客地址 : http://blog.csdn.net/shulianghan/article/details/42707293 转载请注明出处 : http://blog.csd ...

  7. Java web 开发的概念、环境配置、创建项目过程详解(Eclipse)

    Java Web 开发 Java Web 开发概念 搭建过程 详解 在eclipse创建Dynamic Web Project 创建时选择Tomcat的版本 创建项目成功 eclipse环境下如何配置 ...

  8. eclipse版本详解以及下载安装步骤及启动eclispe报错整理

    一.eclispe版本详解 本段内容转载自:https://www.cnblogs.com/chenmingjun/p/8404628.html 1.eclipse版本代号一览表 Eclipse的设计 ...

  9. U-Boot 之二 详解使用 eclipse + J-Link 进行编译及在线调试

      在上一篇博文 U-Boot 之一 零基础编译 U-Boot 过程详解 及 编译后的使用说明 中,最后使用阶段遇到了一些错误,然后发现不能调试(靠打印信息)实在是难受,就开始摸索如何调试 U-Boo ...

最新文章

  1. python基础教程3-Python基础教程(三)
  2. linux下多线程实现服务端
  3. Angular view container删除view实例的过程
  4. bzoj4278[ONTAK2015]Tasowanie bzoj1692[USACO 2007Dec]队列变换(Best Cow Line) 贪心正确性证明...
  5. Source Generators实现简版AutoMapper
  6. 晋中学院计算机考研,晋中学院有多少人死在考研路上
  7. 【转】DICOM入门(一)——语法
  8. 基于Verilog的4-PAM
  9. 使用C#客户端访问FTP服务的一个解决方案
  10. 50 行代码教你爬取猫眼电影 TOP100 榜所有信息
  11. 无人车前轮转向参数校准分析
  12. node 压缩图片_设计神器!图片在线工具–Online Image Tool
  13. 通俗易懂的MonteCarlo积分方法(七)
  14. Redis相关面试题总结
  15. visio导出图片模糊的解决方案
  16. C#重写和重载的区别分析
  17. Win10下安装Ubuntu双系统Ubuntu分区
  18. 如何制作一个完美的全屏视频H5
  19. Mac远程控制软件有哪些?Macos好用的远程桌面连接软件推荐
  20. html的时间格式转换为本地时间,将UTC日期字符串转为本地时间字符串,如@yyyy-MM-dd'T'HH:mm:ssZ转换为本地时间...

热门文章

  1. jar包与war包部署的区别及jar包部署的一个路径访问问题
  2. 手把手教你如何从0开始开展UI自动化测试
  3. 不黑学社代表孙溟㠭匪石参访南普陀寺
  4. javaWeb---Filter
  5. 使用docker启动 MySQL8.0
  6. 无序数组中找第K大的数
  7. 常用的vue动画组件库
  8. 记录下炫龙u盘启动安装ubuntu18.04的坑
  9. uniapp如何实现返回上一级页面并传值刷新
  10. 支付宝沙箱 出现支付存在钓鱼风险