「java模型图」java 图

博主:adminadmin 2023-03-18 22:17:10 419

今天给各位分享java模型图的知识,其中也会对java 图进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

JAVA开发一个系统,开发文档中用什么图来描述 逻辑模型,功能模型,有过开发经验的帮助下,急急急~~

功能模型:用例图,业务流程图

逻辑模型:部署图,类图,类关系图,时序图,协作图,状态图,程序流程图……

jvm中线程本地内存是真实存在的,还是一个抽象概念

jvm内存模型:Java代码是运行在Java虚拟机之上的,由Java虚拟机通过解释执行(解释器)或编译执行(即时编译器)来完成,故Java内存模型,也就是指Java虚拟机的运行时内存模型。

运行时内存模型,分为线程私有和共享数据区两大类,其中线程私有的数据区包含程序计数器、虚拟机栈、本地方法区,所有线程共享的数据区包含Java堆、方法区,在方法区内有一个常量池。java运行时的内存模型图,如下:

从图中,可知内存分为线程私有和共享两大类:

(1)线程私有区,包含以下3类:

程序计数器,记录正在执行的虚拟机字节码的地址;

虚拟机栈:方法执行的内存区,每个方法执行时会在虚拟机栈中创建栈帧;

本地方法栈:虚拟机的Native方法执行的内存区;

(2)线程共享区,包含以下2类

Java堆:对象分配内存的区域;

方法区:存放类信息、常量、静态变量、编译器编译后的代码等数据;

常量池:存放编译器生成的各种字面量和符号引用,是方法区的一部分。

楼主提到的Java栈,一般而言是指图中的虚拟机栈,在代码中的方法调用过程中,往往需要从一个方法跳转到另一个方法,执行完再返回,那么在跳转之前需要在当前方法的基本信息压入栈中保存再跳转。

三、关于寄存器的问题

对于java最常用的虚拟机,sun公司提供的hotspot虚拟机,是基于栈的虚拟机;而对于android的虚拟机,则采用google提供的dalvik,art两种虚拟机,在android 5.0以后便默认采用art虚拟机,这是基于寄存器的虚拟机。 楼主问的是jvm(即java vm),这是基于栈的虚拟机。那么关于虚拟机栈,这块内存的内容,我们再进一步详细分析,如下图:

可以看到,在虚拟机栈有一帧帧的 栈帧组成,而栈帧包含局部变量表,操作栈等子项,那么线程在运行的时候,代码在运行时,是通过程序计数器不断执行下一条指令。真正指令运算等操作时通过控制操作栈的操作数入栈和出栈,将操作数在局部变量表和操作栈之间转移。

java中子类对象和父类对象的内存模型图?

左边是栈空间,右边是堆空间,栈空间的变量t储存着一个指向堆空间某个对象的地址

如何从JAVA代码生成UML类图

推荐使用ModelGoon!

*ModelGoon是什么?

它是一个Eclipse插件,用于基于UML图的模型设计,以及逆向工程(即从已有源代码生成类图等,以作为代码分析或者文档使用)。

*适用条件

ModelGoon目前最新的版本是3.0.0,适用于Eclipse3.4+,包括最新的Eclipse 3.6版本

*如何安装

推荐在线安装,site地址是

需要注意的是,有时必须使用代理服务器才能连接成功。

也可以离线安装,下载包的地址是

下载完该jar之后,直接拷贝到Eclipse安装目录下的dropins目录下,重启Eclipse即可

*如何使用

安装成功后,file=new=other菜单里面会多出一项ModelGoon Diagrams,在自己已有的java工程中新建一个class diagram,用以生成类图。创建完成后你会发现生成了一个.mgc后缀的文件,现在你可以用这个文件创建自己的类图了。用法相当直接,你可以把若干个java类拖拽进这个文件视图中,UML类图自然被生成,以及各个类之间的关系。

*参考资料

需要注意的是,有时必须使用代理服务器才能连接成功。

*为什么选择ModelGoon而不是其他的插件

其他的UML插件也能完成类似的功能,但是在安装使用的过程中会碰到种种问题。

常有人推荐EclipseUML这个插件,但是目前这个项目的主页无法打开,似乎已停止维护;

还有Slime UML据说也不错,但是找不到下载源;

此外还有AgileJ口碑也不错,可惜是付费的,没有免费版;

至于papyrusuml,只是单向的,做模型设计、绘制UML图时使用,而并不支持逆向工程;

架构模型图怎么画java

软件架构是一种无法以简单的一维方式进行说明的复杂实体。

-Paul Clements 《软件架构编档》

正如上面提到的,不同的受众,比如用户、客户、开发人员、测试人员、运维人员,需要从各自工作的角度去理解和使用架构。所以回答这个问题,需要首先了解这幅架构图画出来是给谁看,你想从那个维度去入手。

确定了这个问题之后,再来了解架构视图有哪些维度和组成要素:

1. 架构视图

最经典的当属4+1视图:

逻辑视图

开发视图

过程视图

物理视图

场景视图

4+1视图提出后,业界也有其它的观点提出,诸如SEI(模块视图、组建和连接件视图、分配视图)、西门子4种视图(概念、模块、代码、执行视图)、以及RM-ODP(企业视图、信息视图、计算视图、工程师图)等。

常见的视图除了上述4+1视图外还包括:数据视图、安全视图、实现视图等。

2. 了解架构视图的四要素

图示化主要元素和元素之间的关系

具有明确的图例、定义和说明元素

每个元素具备明确的接口和行为规范

设计原理和设计决策的信息

3. 简单说一下几个视图针对的角色和维度:

逻辑视图一般针对客户、用户、业务人员、开发组织,主要从系统的功能元素、以及它们的接口、职责、交互维度入手。主要元素包括系统、子系统、功能模块、子功能模块、接口等。

开发视图一般针对开发和测试相关人员,主要描述系统如何开发实现;主要元素包括描述系统的分层、分区、框架、系统通用服务、业务通用服务、类和接口、系统平台和大基础框架。用途是知道开发设计和实现。

物理视图一般针对系统运维人员、集成人员,它是系统逻辑组件到物理节点的映射,节点与节点间的物理网络配置等,主要关注非功能性需求,诸如性能(吞吐量)、可伸缩性、可靠性,可用性等,从而得出相关的物理部署结构图。

4. 写在最后

了解这些,确定了你的受众和切入的维度后,你就可以决定你要用什么样的视图和视图组合来表达你的内容,挑选一个你得心应手的工具去实施就可以了。

在我看来,用白板和团队一起画出来是一件极美的好玩的事情。

关于java模型图和java 图的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。