CN104199653B - 一种Java集成开发环境的实现方法及装置 - Google Patents
一种Java集成开发环境的实现方法及装置 Download PDFInfo
- Publication number
- CN104199653B CN104199653B CN201410425658.7A CN201410425658A CN104199653B CN 104199653 B CN104199653 B CN 104199653B CN 201410425658 A CN201410425658 A CN 201410425658A CN 104199653 B CN104199653 B CN 104199653B
- Authority
- CN
- China
- Prior art keywords
- class
- relation
- classes
- variable
- java
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种Java集成开发环境的实现方法及装置,用以获得Java集成开发环境中各变量的调用情况,避免开发中的逻辑错误。所述实现方法包括:遍历当前类,获得所述当前类中引用的所有方法及变量;利用Java语言的规则性,通过规则匹配找到所述方法及变量所在的类作为所述当前类的关联类,从而获得表示所述当前类与所有关联类的调用关系的关系表;遍历当前程序中所有的类,获得所有类之间调用关系的总关系表,并存储在集成开发环境中。
Description
技术领域
本发明涉及互联网技术领域,特别涉及一种Java集成开发环境的实现方法及装置。
背景技术
Java语言是非常流行的编程语言,它的定义是:一种简单的,跨平台的,面向对象的,分布式的,解释的,健壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。
Java语言中,最常见的是类和方法,举例如下:
1)写一个球员类(Player.java),该类中有如下私有属性:球员姓名(name),球员平均薪水(salary),为该类提供一个带参数的构造器。
2)写一个球队类(Team.java),该类中有如下私有属性:球队名称(name),球队球员数量(num),球员(player)。
3)在球队类中提供一个判断球队薪水是否超标的方法。该方法输入参数为一支球队(该球队已经实例化并为它的属性赋值),返回值是球队薪水是否超标的判断结果。
目前的java编程,在每个类实现的时候都是相互独立,无法直观的得到类之间互相调用方法、变量的情况,会出现空指针等异常的情况和资源没有释放等问题。
因此,针对一个Java程序,在现有的集成开发环境下无法直观的得到各类、函数或变量之间的逻辑关系,不利于编程人员有效编写程序。
发明内容
本发明提供一种Java集成开发环境的实现方法及装置,用以获得Java集成开发环境中各变量的调用情况,避免开发中的逻辑错误。
为了实现上述目的。本发明提供一种Java集成开发环境的实现方法,包括:
遍历当前类,获得所述当前类中引用的所有方法及变量;
利用Java语言的规则性,通过规则匹配找到所述方法及变量所在的类作为所述当前类的关联类,从而获得表示所述当前类与所有关联类的调用关系的关系表;
遍历当前程序中所有的类,获得所有类之间调用关系的总关系表,并存储在集成开发环境中。
优选的,上述的实现方法中,在所述集成开发环境中,以图形的方式显示所述总关系表。
优选的,上述的实现方法中,所述规则匹配为字符串的匹配。
优选的,上述的实现方法中,所述Java语言的规则性为引用类时要导入所引用的类的全类名或包名。
优选的,上述的实现方法中,所述图形为网状关系图。
本发明还提供一种Java集成开发环境的实现装置,包括:
遍历单元,用于:遍历当前类,获得所述当前类中引用的所有方法及变量;
关系表单元,用于:利用Java语言的规则性,通过规则匹配找到所述方法及变量所在的类作为所述当前类的关联类,从而获得表示所述当前类与所有关联类的调用关系的关系表;
总关系表单元,用于:遍历当前程序中所有的类,获得所有类之间调用关系的总关系表,并存储在集成开发环境中。
优选的,上述的实现装置中,还包括显示单元,用于:在所述集成开发环境中,以图形的方式显示所述总关系表。
优选的,上述的实现装置中,所述规则匹配为字符串的匹配,所述图形为网状关系图。
优选的,上述的实现装置中,所述Java语言的规则性为引用类时要导入所引用的类的全类名或包名。
优选的,上述的实现装置中,所述遍历单元、所述关系表单元、所述总关系表单元和所述显示单元位于所述集成开发环境的插件中。
本发明具有以下技术效果:
1)在本发明实施例中,利用java语言的规则性,通过规则匹配,能够获得所有类之间调用关系的总关系表,并存储在集成开发环境中,从而在该集成开发环境中可以随时得到各类、函数或变量之间的逻辑关系,能有效避免开发中的逻辑错误,提高开发效率,有利于编程人员有效编写程序。
2)在本发明实施例中,在所述集成开发环境中,以图形的方式显示所述总关系表。这样可以使得各类、函数或变量之间的逻辑关系一目了然,使得集成开发环境变得友好、易用。
3)在本发明实施例中,通过插件的形式将上述方法集成集成开发环境中,在软件开发过程中,或者分析一段完整的程序时,都可以随时调用该插件,调用过程简单方便。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例的实现方法的流程图;
图2为本发明实施例的实现装置的结构图;
图3为本发明实施例的规则匹配的示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1为本发明实施例的实现方法的流程图,如图1所示,本发明实施例提供一种Java集成开发环境的实现方法,包括:
步骤101,遍历当前类,获得所述当前类中引用的所有方法及变量;
步骤102,利用Java语言的规则性,通过规则匹配找到所述方法及变量所在的类作为所述当前类的关联类,从而获得表示所述当前类与所有关联类的调用关系的关系表;
步骤103,遍历当前程序中所有的类,获得所有类之间调用关系的总关系表,并存储在集成开发环境中。
可见,本发明实施例中,利用java语言的规则性,通过规则匹配,能够获得所有类之间调用关系的总关系表,并存储在集成开发环境中,从而在该集成开发环境中可以随时得到各类、函数或变量之间的逻辑关系,能有效避免开发中的逻辑错误,提高开发效率,有利于编程人员有效编写程序。
在本发明的一个实施例中,在所述集成开发环境中,以图形的方式显示所述总关系表。这样可以使得各类、函数或变量之间的逻辑关系一目了然,使得集成开发环境变得友好、易用。
在本发明的一个实施例中,所述规则匹配为字符串的匹配。所述Java语言的规则性为引用类时要导入所引用的类的全类名或包名。
在本发明的一个实施例中,所述图形为网状关系图,采用网状图更为直观。
图2为本发明实施例的实现装置的结构图,如图2所示,本发明实施例提供一种Java集成开发环境的实现装置,包括:
遍历单元201,用于:遍历当前类,获得所述当前类中引用的所有方法及变量;
关系表单元202,用于:利用Java语言的规则性,通过规则匹配找到所述方法及变量所在的类作为所述当前类的关联类,从而获得表示所述当前类与所有关联类的调用关系的关系表;
总关系表单元203,用于:遍历当前程序中所有的类,获得所有类之间调用关系的总关系表,并存储在集成开发环境中。
在本发明一个实施例中,实现装置还包括显示单元,用于:在所述集成开发环境中,以图形的方式显示所述总关系表。
在本发明一个实施例中,所述规则匹配为字符串的匹配,所述图形为网状关系图。所述Java语言的规则性为引用类时要导入所引用的类的全类名或包名。
在本发明一个实施例中,所述遍历单元、所述关系表单元、所述总关系表单元和所述显示单元位于所述集成开发环境的插件中。
图3为本发明实施例的规则匹配的示意图,如图3所示,下面详细描述本发明的实现流程,包括利用Java规则性,通过字符串匹配获得本类应用的相关类的信息结构。
本发明实施例是利用java语言的规则性,在使用其他类需要导入全类名或包名的特性,通过字符串的匹配和规则。可以很清楚的得到本类引用的相关类的变量,方法信息。把此类信息收集遍历,用一张网状的结构图形可以轻松的获知各个方法变量的调用情况,很大程度上避免了开发中的逻辑错误。
如图3所示,Java语言的规则,引用其它类的方法及变量的时候需要使用如下字段:
import+引用类的全类名(包名和类名)
通过字符串的匹配和java语言的反射规则就可以得到,本类中引用的第三方类中方法及变量的关系和调用的位置。
遍历A类中的所有方法变量便可以得到A和所有其他类的关系,可以保存到存储空间中保存这种关系。以此类推,遍历程序中的所有类就可以得到各个类相互之间互相调用的关系。
在集成开发环境中,可以通过插件的形式将上述方法集成到IDE(IntegratedDevelopment Environment,集成开发环境)中,在软件开发过程中,或者分析一段完整的程序时,都可以随时调用该插件,分析代码中各种类之间的关系,并用图形的形式将各种类的引用关系展示在开发界面中,能够方便的让程序开发人员了解当前各类、函数或变量之间的逻辑关系。
由上可知,本发明具有以下优势:
1)在本发明实施例中,利用java语言的规则性,通过规则匹配,能够获得所有类之间调用关系的总关系表,并存储在集成开发环境中,从而在该集成开发环境中可以随时得到各类、函数或变量之间的逻辑关系,能有效避免开发中的逻辑错误,提高开发效率,有利于编程人员有效编写程序。
2)在本发明实施例中,在所述集成开发环境中,以图形的方式显示所述总关系表。这样可以使得各类、函数或变量之间的逻辑关系一目了然,使得集成开发环境变得友好、易用。
3)在本发明实施例中,通过插件的形式将上述方法集成集成开发环境中,在软件开发过程中,或者分析一段完整的程序时,都可以随时调用该插件,调用过程简单方便。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (2)
1.一种Java集成开发环境的实现方法,其特征在于,包括:
遍历当前类,获得所述当前类中引用的所有方法及变量;
利用Java语言的规则性,通过规则匹配找到所述方法及变量所在的类作为所述当前类的关联类,从而获得表示所述当前类与所有关联类的调用关系的关系表;
遍历当前程序中所有的类,获得所有类之间调用关系的总关系表,并存储在集成开发环境中;
在所述集成开发环境中,以图形的方式显示所述总关系表;所述图形为网状关系图;
所述规则匹配为字符串的匹配;
所述Java语言的规则性为引用类时要导入所引用的类的全类名或包名。
2.一种Java集成开发环境的实现装置,其特征在于,包括:
遍历单元,用于:遍历当前类,获得所述当前类中引用的所有方法及变量;
关系表单元,用于:利用Java语言的规则性,通过规则匹配找到所述方法及变量所在的类作为所述当前类的关联类,从而获得表示所述当前类与所有关联类的调用关系的关系表;
总关系表单元,用于:遍历当前程序中所有的类,获得所有类之间调用关系的总关系表,并存储在集成开发环境中;
还包括显示单元,用于:在所述集成开发环境中,以图形的方式显示所述总关系表;
所述规则匹配为字符串的匹配,所述图形为网状关系图;
所述Java语言的规则性为引用类时要导入所引用的类的全类名或包名;
所述遍历单元、所述关系表单元、所述总关系表单元和所述显示单元位于所述集成开发环境的插件中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410425658.7A CN104199653B (zh) | 2014-08-26 | 2014-08-26 | 一种Java集成开发环境的实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410425658.7A CN104199653B (zh) | 2014-08-26 | 2014-08-26 | 一种Java集成开发环境的实现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104199653A CN104199653A (zh) | 2014-12-10 |
CN104199653B true CN104199653B (zh) | 2017-12-15 |
Family
ID=52084950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410425658.7A Expired - Fee Related CN104199653B (zh) | 2014-08-26 | 2014-08-26 | 一种Java集成开发环境的实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104199653B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102141919A (zh) * | 2010-01-28 | 2011-08-03 | 北京邮电大学 | 模块化java应用软件在线更新系统及方法 |
CN103593222A (zh) * | 2013-09-29 | 2014-02-19 | 中国人民解放军第二炮兵装备研究院科研试验中心 | 一种逆向提取Java软件程序类图的方法 |
CN103678118A (zh) * | 2013-10-18 | 2014-03-26 | 北京奇虎测腾科技有限公司 | 一种Java源代码的合规性检测方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011151111A1 (en) * | 2010-06-03 | 2011-12-08 | International Business Machines Corporation | Method and system of adapting a data model to a user interface component |
-
2014
- 2014-08-26 CN CN201410425658.7A patent/CN104199653B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102141919A (zh) * | 2010-01-28 | 2011-08-03 | 北京邮电大学 | 模块化java应用软件在线更新系统及方法 |
CN103593222A (zh) * | 2013-09-29 | 2014-02-19 | 中国人民解放军第二炮兵装备研究院科研试验中心 | 一种逆向提取Java软件程序类图的方法 |
CN103678118A (zh) * | 2013-10-18 | 2014-03-26 | 北京奇虎测腾科技有限公司 | 一种Java源代码的合规性检测方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104199653A (zh) | 2014-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105739983B (zh) | 脚本程序编辑装置及其实现方法 | |
CN104424018B (zh) | 分布式计算事务处理方法及装置 | |
US7111280B2 (en) | System and method for implementing a project facility | |
CN105190547B (zh) | 用于数据更新的图表的分阶段的动画化 | |
CN106909543B (zh) | 一种规则引擎的模式匹配方法和装置 | |
Rufiange et al. | Animatrix: A matrix-based visualization of software evolution | |
US10360027B2 (en) | Automatically extracting a model for the behavior of a mobile application | |
US20140223408A1 (en) | Integration project center | |
CN107545182B (zh) | 一种ios应用中绕过函数调用链检测的方法及系统 | |
CN104049974B (zh) | 控件动态组装方法和系统 | |
CN110069312A (zh) | 一种ui组件配置和生成ui组件库的方法及装置 | |
CN108829728A (zh) | 一种医学术语库的存储方法和装置 | |
US10192334B2 (en) | Displaying a live stream of events using a dynamically-constructed three-dimensional data tree | |
CN105144098B (zh) | 不可变的对象类型 | |
CN108417275A (zh) | 一种临床指南知识的表征模型及方法 | |
CN104199653B (zh) | 一种Java集成开发环境的实现方法及装置 | |
CN106294530B (zh) | 规则匹配的方法和系统 | |
Lucci et al. | Analysing how users prefer to model contextual event-action behaviours in their smartphones | |
Van Tendeloo | Foundations of a multi-paradigm modelling tool | |
CN108536434A (zh) | 一种基于高级程序设计语言实现钩子函数的方法及装置 | |
CN103853554A (zh) | 一种软件重构位置确定方法及装置 | |
Thorn | Mastering Unity Scripting | |
van Diggelen et al. | Mutual empowerment in mobile soldier support | |
US8875119B2 (en) | System and method for generating a source code for a computer program | |
CN105976427B (zh) | 一种用于安卓平台的三维医学图像数据体绘制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: An implementation method and device of Java integrated development environment Effective date of registration: 20201224 Granted publication date: 20171215 Pledgee: Inner Mongolia Huipu Energy Co.,Ltd. Pledgor: SHANGHAI TIANMAI JUYUAN CULTURE MEDIA Co.,Ltd. Registration number: Y2020990001505 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171215 Termination date: 20210826 |
|
CF01 | Termination of patent right due to non-payment of annual fee |