FreeOZ论坛

标题: 求教高人,Java Swing是否可以应用于高可靠性要求的工业领域? [打印本页]

作者: dark008    时间: 9-7-2010 02:50
标题: 求教高人,Java Swing是否可以应用于高可靠性要求的工业领域?
各位大侠好,我现在闲在家里,想做几个控制软件&平台的demo,准备去澳洲找工作的时候秀一下,软件的GUI准备用Swing来写。现在有个问题想请教大家,因为考虑到应用于工业现场,软件可靠性会变得非常重要,除了努力剔除bug外,我还想知道,Swing的可靠性是否足够用于工业领域,因为Swing有一个线程安全的问题,随时需要CPU重绘,万一什么时候CPU jam了一下,或者写程序的时候不小心,没有对Swing控件开新线程,又或者一个开启Swing的子程序同时处理其他事情太久,Swing控件来不及重绘,都会导致GUI死掉,而且后面这两种原因很可能查到吐血都查不出来的

不过听说Oracle里面很多的应用都是Java写的,不知道他的界面是Swing写的吗?如果Oracle都用Swing写的,那应该可靠性不是问题了。

OK,请各位大侠指点一下。
作者: dark008    时间: 9-7-2010 15:21
咋没人回呢?

难不成因为俺的RP?
作者: formatc    时间: 9-7-2010 15:47
LZ应该把头像换换,就有人回了~~~比如;半露酥肩的MM
作者: dark008    时间: 9-7-2010 16:12
标题: 回复 #3 formatc 的帖子
半露酥肩的MM没有的,全露的有很多
作者: 周星星1832    时间: 9-7-2010 16:17
??
很多wms的界面就是swing做的,某些银行系统也是吧
作者: dark008    时间: 9-7-2010 16:25
标题: 回复 #5 lufumin1832 的帖子
哦,那Swing应该挺靠得住的,其实用Swing做东西还有一个巨大好处,就是可以移植到Cent OS和Solaris上,这两东西可比Microshit的产品稳定太多了
作者: yuba    时间: 9-7-2010 21:22
原帖由 dark008 于 9-7-2010 15:25 发表
哦,那Swing应该挺靠得住的,其实用Swing做东西还有一个巨大好处,就是可以移植到Cent OS和Solaris上,这两东西可比Microshit的产品稳定太多了


Swing在Linux上我碰到过非常特殊的问题,后来发现是Java在Linux上的bug

不需要应用服务器的话,Windows是最好的Java平台
作者: dark008    时间: 9-7-2010 22:20
标题: 回复 #7 yuba 的帖子
Windows如果做试验的平台到没什么问题,关键要做工业平台,几年不关机的话,我对Microshit的东西实在没什么信心。
作者: sliuhao    时间: 9-7-2010 22:34
Why Swing?
why not SWT?
作者: dark008    时间: 9-7-2010 22:45
标题: 回复 #9 sliuhao 的帖子
SWT好像也行哦,而且不像Swing这样需要不断重绘界面。

但是关键问题是,我没写过SWT ,哈哈

现在用的IDE都还是Netbeans
作者: sliuhao    时间: 9-7-2010 22:52
标题: 回复 #10 dark008 的帖子
for my understanding, SWT is better than Swing in Java GUI....especial in real time control...
because it is directly native call rather than the layering stuff...
作者: dark008    时间: 9-7-2010 23:10
标题: 回复 #11 sliuhao 的帖子
好的,接下来试一下SWT,哈哈哈,不过我还要先看书哦,我连Eclipse现在都用得不利索 ,哈哈

OK,多谢高人指点。
作者: yuba    时间: 10-7-2010 13:16
原帖由 dark008 于 9-7-2010 21:20 发表
Windows如果做试验的平台到没什么问题,关键要做工业平台,几年不关机的话,我对Microshit的东西实在没什么信心。


GTK或QT这样原生的Linux GUI 似乎更适合工业应用
作者: key    时间: 10-7-2010 15:00
什么是工业应用?

原帖由 yuba 于 10-7-2010 12:16 发表


GTK或QT这样原生的Linux GUI 似乎更适合工业应用

作者: dark008    时间: 10-7-2010 15:26
标题: 回复 #14 key 的帖子
连续几年的全开机正常运行
作者: dark008    时间: 10-7-2010 15:30
原帖由 yuba 于 10-7-2010 12:16 发表


GTK或QT这样原生的Linux GUI 似乎更适合工业应用


QT是C++的,我不会,GTK好像是写C的,我不会写Windows下的C也,它的函数库有些什么也不知道(除了printf还有什么吗? )。我只会写硬件上的C。
作者: key    时间: 11-7-2010 12:08
连续几年全开机正常运行,需要的是一个稳定的内核和稳固的硬件。
讨论GUI没有太大的意义吧?

试想一下,你是依靠GUI来采集数据吗?如果GUI上出现线程更新问题,数据采集就中止了,
这样的软件架构你敢拿出来工业应用?如果GUI只是一个人机界面,需要时做出合适的显示,
那就没什么了。大不了上面有一个refresh button,就可以解决所有问题。

原帖由 dark008 于 10-7-2010 14:26 发表
连续几年的全开机正常运行

作者: dark008    时间: 11-7-2010 15:36
标题: 回复 #17 key 的帖子
有道理,果然是高人

我原计划操作系统可能用Linux和Solaris之类的,机器用工控机,这样应该靠得住了。

GUI就与控制处理模块分开写,有问题的话就手动刷新吧。

其实目前只是做个Demo玩玩,现在都闲在家里呢,工作都没有,别谈什么工业应用了

说不定去澳洲找到工作了,要写的控制程序也只是搭建实验平台,死机无所谓,只要最后缓过来能做测试就行。这时候也许就用Labview简简单单弄几个小时就搞定了。
作者: oea    时间: 13-7-2010 13:31
可以看一下, eclipse RCP.

提供基本工作台功能的核心,包括对可移动以及可叠加的窗口组件(编辑器和视图)、菜单、工具栏、按钮、表格、树形结构等等的支持.

可以省了你很多基础开发的工作, 直接写你的业务就好的。

做为一个平台, 插件功有很大的扩展行
作者: dark008    时间: 13-7-2010 15:45
标题: 回复 #19 oea 的帖子
我刚才搜索了一下,好像eclipse RCP可以生成很酷的界面,还有很漂亮的仪表盘。

不过我一般用Jfreechart来做类似的事情的。不知道eclipse RCP会不会更方便一些?
作者: clarkli    时间: 15-7-2010 20:48
原帖由 dark008 于 11-7-2010 14:36 发表
有道理,果然是高人

我原计划操作系统可能用Linux和Solaris之类的,机器用工控机,这样应该靠得住了。

GUI就与控制处理模块分开写,有问题的话就手动刷新吧。

其实目前只是做个Demo玩玩,现在都闲在家 ...

Associate LabVIEW Developer Certificate飘过。。。
作者: dark008    时间: 16-7-2010 16:29
原帖由 clarkli 于 15-7-2010 19:48 发表

Associate LabVIEW Developer Certificate飘过。。。


突然想到一个问题,正巧高人路过,请教一下:

我一开始用Labview的时候,就记得在一个什么文档里面,NI有一个重要说明,说的是:Labview不适用于生命支持系统,工业控制系统,航天领域。说白了就是他的可靠性达不到。想问一下,是这样的吗?

我自己就碰到过类似问题,记得有一次写和DAQ仪器的通信程序,逻辑完全没错的程序每次都在串口通信模块出错,但是用过的人都知道的,Labview只会告诉你那个模块错了,至于如何错,怎么解决是不知道的,底层的源代码更不可能看得到。

之后是痛苦的无头绪的Debug半天,在快要吐血之际,上网搜搜看有没有类似的问题和答案吧。

终于在NI的官方论坛,一个Israel的家伙和我碰到类似的问题,在最下角终于看到NI的人出来说话了,说了好多问题的可能成因,最后给出一个possible solution,试过之后还真的好了,即使这个solution有点扯,里面的很多参数设置也是完全凭感觉。

不过这次之后,我对Labview不那么崇拜了,也许在快速构建试验平台上面,目前还无人能敌,但是谈到可靠运行的话,一个基于possible,maybe,I guess,In my experience的软件是很靠不住的。
作者: lm3s5749    时间: 4-9-2010 23:10
LABVIEW的串口模块是有问题,很垃圾。




欢迎光临 FreeOZ论坛 (https://www.freeoz.org/ibbs/) Powered by Discuz! X3.2