java实时_JAVA实时编程笔记

JAVA实时编程规范:

RTSJ实现必须包含是个类的定义,实现Schedualable:RealtimeThread、NoHeapRealtioneThread、AsyncEventHandler、BoundAsyncEventHandler。

内存管理:

RTSJ定义了共有四种内存区域:标准的JAVA堆、作用域内存、不朽内存和物理内存,这些区域被JAVA类代表,每个扩展了MemoryArea轴基类,他们分别是:HeapMemory、ScopedMemory、ImmortalMemory、ImmortalPhysicalMemory,每个表示各自的内存区域。

堆:表示动态分配和自动回收的JAVA对象使用的并被单身JAVA对象HeapMemory引用的可用的内存区域。

作用域内存:这是一个ScopedMemory类或其之内的对象所代表的内存区域。你在开发是创建和确定其大小。你可以指定参数,撸作用域的处事大小,可以增长到的最大尺寸,以及可选的将在此作用域内自行的Runnable对象。其类图为:

01068b92b1c64ac5884de8725c2fad34.png

在创建对象是,每个线程的有一个与之对应的分配上下文,或者是一个内存的区域,但作用于的其中一个enter方法被调用时,或者在Schedualble对象作为参数使用ScopedMemory对象时,Schedulable对象将开始在作用域内存区域内自行。一旦发生,这种情况,所有分配的内存和创建的对象将会自此作用于吃作用域内存区域。

另外作用域内存是通过引用计数器的方式来一次性回收的。

不朽内存:是一个特殊的实时JAVA虚拟机启东市创建的全局区域,在RTSJ中,只有一个不朽的内存区域,而且在其中创建的对象穿在于JAVA虚拟机的生命周期,因此获得不朽的名字。不朽内存中的对象可以从任何地方被引用,并且可以应用除作用域内存区域外的其他任何地方贮存的对象。不朽内存可以被实现了Ruannablehe和Schedulable的对象访问。

默认情况下,所有的静态数据驻留在不朽内存中,如被拘禁的String对象和执行在哪里的静态初始化方法一样。不朽内存是有限的非垃圾回收的资源,如果你生命静态的变量和类,而且经常在代码中使用静态初始化快,那么会迅速耗尽不朽内存。

必须内存类似于JAVA虚拟机中的“永远年轻代”!

物理内存:三个可以使对象在指定范围的物理内存中创建的类似LTPhysicalMemory、VTPhysicalMemory和ImmortalPhysicalMemory。作为构建者,这些内存区域的每一个都用参数指定该区域的物理内存的基地址、大小和对象模型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值