dark008 发表于 9-7-2010 02:50:42

求教高人,Java Swing是否可以应用于高可靠性要求的工业领域?

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

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

OK,请各位大侠指点一下。:)

dark008 发表于 9-7-2010 15:21:45

咋没人回呢?

难不成因为俺的RP?:funk:

formatc 发表于 9-7-2010 15:47:08

LZ应该把头像换换,就有人回了~~~比如;半露酥肩的MM;P

dark008 发表于 9-7-2010 16:12:06

回复 #3 formatc 的帖子

半露酥肩的MM没有的,全露的有很多:lol

周星星1832 发表于 9-7-2010 16:17:30

??
很多wms的界面就是swing做的,某些银行系统也是吧

dark008 发表于 9-7-2010 16:25:02

回复 #5 lufumin1832 的帖子

哦,那Swing应该挺靠得住的,其实用Swing做东西还有一个巨大好处,就是可以移植到Cent OS和Solaris上,这两东西可比Microshit的产品稳定太多了

yuba 发表于 9-7-2010 21:22:41

原帖由 dark008 于 9-7-2010 15:25 发表 http://freeoz.org/ibbs/images/common/back.gif
哦,那Swing应该挺靠得住的,其实用Swing做东西还有一个巨大好处,就是可以移植到Cent OS和Solaris上,这两东西可比Microshit的产品稳定太多了

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

不需要应用服务器的话,Windows是最好的Java平台

dark008 发表于 9-7-2010 22:20:08

回复 #7 yuba 的帖子

Windows如果做试验的平台到没什么问题,关键要做工业平台,几年不关机的话,我对Microshit的东西实在没什么信心。

sliuhao 发表于 9-7-2010 22:34:32

Why Swing?
why not SWT?

dark008 发表于 9-7-2010 22:45:20

回复 #9 sliuhao 的帖子

SWT好像也行哦,而且不像Swing这样需要不断重绘界面。

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

现在用的IDE都还是Netbeans

sliuhao 发表于 9-7-2010 22:52:10

回复 #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:28

回复 #11 sliuhao 的帖子

好的,接下来试一下SWT,哈哈哈,不过我还要先看书哦,我连Eclipse现在都用得不利索:L ,哈哈

OK,多谢高人指点。:lol

yuba 发表于 10-7-2010 13:16:39

原帖由 dark008 于 9-7-2010 21:20 发表 http://freeoz.org/ibbs/images/common/back.gif
Windows如果做试验的平台到没什么问题,关键要做工业平台,几年不关机的话,我对Microshit的东西实在没什么信心。

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

key 发表于 10-7-2010 15:00:04

什么是工业应用?

原帖由 yuba 于 10-7-2010 12:16 发表 http://www.freeoz.org/ibbs/images/common/back.gif


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

dark008 发表于 10-7-2010 15:26:26

回复 #14 key 的帖子

连续几年的全开机正常运行

dark008 发表于 10-7-2010 15:30:04

原帖由 yuba 于 10-7-2010 12:16 发表 http://www.freeoz.org/ibbs/images/common/back.gif


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

QT是C++的,我不会,GTK好像是写C的,我不会写Windows下的C也,它的函数库有些什么也不知道(除了printf还有什么吗?:o )。我只会写硬件上的C。

key 发表于 11-7-2010 12:08:12

连续几年全开机正常运行,需要的是一个稳定的内核和稳固的硬件。
讨论GUI没有太大的意义吧?

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

原帖由 dark008 于 10-7-2010 14:26 发表 http://www.freeoz.org/ibbs/images/common/back.gif
连续几年的全开机正常运行

dark008 发表于 11-7-2010 15:36:48

回复 #17 key 的帖子

有道理,果然是高人:good

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

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

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

说不定去澳洲找到工作了,要写的控制程序也只是搭建实验平台,死机无所谓,只要最后缓过来能做测试就行。这时候也许就用Labview简简单单弄几个小时就搞定了。

oea 发表于 13-7-2010 13:31:26

可以看一下, eclipse RCP.

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

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

做为一个平台, 插件功有很大的扩展行

dark008 发表于 13-7-2010 15:45:41

回复 #19 oea 的帖子

我刚才搜索了一下,好像eclipse RCP可以生成很酷的界面,还有很漂亮的仪表盘。:lol

不过我一般用Jfreechart来做类似的事情的。不知道eclipse RCP会不会更方便一些?

clarkli 发表于 15-7-2010 20:48:21

原帖由 dark008 于 11-7-2010 14:36 发表 http://freeoz.org/ibbs/images/common/back.gif
有道理,果然是高人:good

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

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

其实目前只是做个Demo玩玩,现在都闲在家 ...
Associate LabVIEW Developer Certificate飘过。。。

dark008 发表于 16-7-2010 16:29:09

原帖由 clarkli 于 15-7-2010 19:48 发表 http://www.freeoz.org/ibbs/images/common/back.gif

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:00

LABVIEW的串口模块是有问题,很垃圾。
页: [1]
查看完整版本: 求教高人,Java Swing是否可以应用于高可靠性要求的工业领域?