简单介绍Java实时应用程序中的内存管理

2016-02-19 19:12 4 1 收藏

get新技能是需要付出行动的,即使看得再多也还是要动手试一试。今天图老师小编跟大家分享的是简单介绍Java实时应用程序中的内存管理,一起来学习了解下吧!

【 tulaoshi.com - 编程语言 】

  垃圾收集是一个比较复杂的过程。通常,Java运行时会遍历堆,检查不再被其他对象引用、从而可以安全删除的对象,然而,由于垃圾收集占用CPU周期,所以它可能会影响应用程序代码的执行。即,假如在执行应用程序代码的过程中执行垃圾收集,则应用程序代码的响应时间可能延长。这会导致用户事务延迟的延长。更为糟糕的是,因为用户不知道何时会进行垃圾收集,因此延迟的延长是不可预知的。

  实时应用程序有严格的时间要求,即它们必须在确定的、已知的延迟条件下执行应用程序代码。因此垃圾收集所引起的不可预知的延迟延长就成为一个问题。

  那么这个问题的解决方案是什么呢?一个明显的解决方案就是不要对实时应用程序使用Java。这是一个下下选。作为一种编程语言和一个开发平台,Java具有许多优点。我们应该能够解决Java中的这个问题。

  另一种解决方案是在Java中使用另一种内存治理方法来代替垃圾收集程序。RTSJ (Real-Time Specification for Java)定义了immortal memory和scoped memory的概念。不朽内存(Immortal memory)是从不进行垃圾收集的内存,只要JVM存在,它就也存在。作用域内存(Scoped memory)则是按块分配和释放的内存。即,用户显式地创建一个内存区域来存放对象,该区域中的对象将在该区域被销毁时释放。不管是不朽内存还是作用域内存,都不需要进行垃圾收集。不过,这也有一个缺点:治理内存的重担又落在了用户身上,就像C/C++应用程序一样。这个代价仍然很高。有没有更好的方法呢?

  我们来重新考虑一下垃圾收集。垃圾收集的主要问题是它所引起的不可预知的延迟峰值。能否避免这种不可预知的行为呢?或者,能否限制(即约束)这种不可预知的行为呢?通过更频繁地执行垃圾收集,我们就可以限制最大延迟时间。这就是WLRT所采用的方法。因此,垃圾收集成为一项可预知的任务,具有已知的代价,从而使实时开发人员可以根据需要进行考虑和建模。而且,更为重要的是,我们没有牺牲Java的易用性。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

来源:http://www.tulaoshi.com/n/20160219/1620287.html

延伸阅读
我们还是采用Tomcat作为web服务器,如果你对如何使用tomcat还不熟悉请参考相关资料。通常我们开发WAP应用程序的时候都是手写wml脚本,其实我们可以借助java的Servlet/jsp技术开发WAP应用程序。通常我都是使用Lomboz插件在eclipse的环境下写servlet/jsp文件的。先看下面的waptest.jsp文件和WapServlet.java文件 <?xml version="1.0"?> <!D...
Java的线程调度操作在运行时是与平台无关的。一个多任务系统需要在任务之间实现QoS(Quality of Service)管理时,如果CPU资源的分配基于Java线程的优先级,那么它在不同平台上运行时的效果是很难预测的。本文利用协调式多任务模型,提出一个与平台无关、并且能在任务间动态分配CPU资源的方案。 现在,由于计算机系统已经从人机交互逐步向机机...
你时常被客户抱怨JSP页面响应速度很慢吗?你想过当客户访问次数剧增时,你的WEB应用能承受日益增加的访问量吗?本文讲述了调整JSP和servlet的一些非常实用的方法,它可使你的servlet和JSP页面响应更快,扩展性更强。 而且在用户数增加的情况下,系统负载会呈现出平滑上长的趋势。在本文中,我将通过一些实际例子和配置方法使得你的应用程序的...
大多数的软件开发人员都会在其生涯的某个时候碰到vi编辑器——假如不是在大学里的话,那就是在实际使用的UNIX机器上,将自己的Windows桌面机器里所编码东西安装到完全成熟的集成开发环境(IDE)里的时候。很少能够碰到长期从事微软系统开发的开发人员不会在一个月至少使用vi一次。有些开发人员很喜爱vi,而其他的则很厌恶它。但是对于一个Java的...
你时常被客户抱怨JSP页面响应速度很慢吗?你想过当客户访问次数剧增时,你的WEB应用能承受日益增加的访问量吗?本文讲述了调整JSP和servlet的一些非常实用的方法,它可使你的servlet和JSP页面响应更快,扩展性更强。 而且在用户数增加的情况下,系统负载会呈现出平滑上长的趋势。在本文中,我将通过一些实际例子和配置方法使得你的应...

经验教程

631

收藏

79
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部