X-Spirit的陋室铭

生活有的时候面临许多选择,这些选择让人困惑。 生活有的时候没有任何选择,这个时候让人压抑。 但无论生活有没有给你选择,你只能做一件事情: 排除困难,勇往直前!

2007年7月31日星期二

Java FX技术概览

JavaFX Script™ (下文中成为JavaFX)语言是一种声明式的静态类型编程语言。它具有第一级函数(first-class functions)、声明式的语法、列表推导(list-comprehensions)及基于依赖关系的增量式求值(incremental dependency-based evaluation)等特征。JavaFX 脚本式语言特别适用于Java2D swing GUI组件,它允许简单地创建图形界面。

译者注:第一级函数指函数被当作对象对待,可以在运行时赋值、传递和返回。详见wikipedia上的解释。

译者注:列表推导指一种在函数语言中的表达式,它表示了在一个或者多个列表的成员(被选择的)进行某种操作的结果。它被称为“syntactic sugar”,即为开发者提供了便捷的多种函数的应用组合。详见FOLDC对list comprehension的解释。

本文档给出了JavaFX 脚本式编程语言的非正式描述。

就语言方面来说,出现了Java FX script 项目。Java FX是很灵巧的,它提供了一个高级的脚本接口,运行在Java 2D的API上。从用户的角度来看,他们不需要编写Java代码,不需要深入理解复杂的线程,Java 2D,Swing类的层次结构,定时框架结构(timing framework)等等。相反,他们只是编写脚本语言和描绘出所需要的GUI,包括活波的音响效果,图形效果,比如说梯度或者音乐,和数据绑定等等,这些都建立在一个基础API上。
    这里有许多的工具帮助你学习syntax语言,相关资源这个从这个网站获得;Java FX研发小组的目标就是提供syntax语言,和一些关于Java FX的用户体验,这些用户包括美术设计员和那些对应用程序可视界面美观感兴趣的民众。当前,Java FX某种程度上作为第四步产生的语言在运行,因为首先是解释器将FX脚本创建成为Java代码,然后再调用适当的Java 2D API。该小组长期的目标是将FX脚本直接编译成字节码。
    Java FX添加到桌面Java是一件非常好的事情,但是,这得取决于是否有这样的一种JRE的存在,它能运行Java FX生成的代码。有些人认为FX已经进军到RIA(rich Internet application)领域,和Adobe公司的 Flex一较高下。但是,目前还是有一些难题需要解决,举个例子,如何才能让桌面Java的安装体验和运行时间性能比得上其它的RIA框架。还好,这种问题正在被其他的项目解决,这个项目名称就是Java kernel。
    Java kernel主动承认这么一个事情,即大多数的Java应用程序都是只有JRE的部分大小,如Limewire(一个文件共享的桌面应用程序),它只有JRE的三分之一大小。Kernel将会对JRE重新打包,使得只下载应用程序所需要的部分JRE。每个程序所需要的基本部分将会被下载,作为JRE启动所需要的最小部分,其他的部分根据需要下载,或者根据ClassNotFound异常信息,下载缺失的类。这将是一个巨大的好消息帮助桌面Java应用程序瘦身,同时还能使得桌面Java应用程序执行的更为有效。除了解决如何下载的问题外,kernel还非常关注Java程序的启动性能。
    在先前的kernel几个版本,热启动时间(warm start times)减少了很多,但是,在应用程序调用main(String[])前,冷启动JRE仍然需要延误许多秒的时间。Java kernel正在尝试有效的处理冷启动,将冷启动转变为热启动,通过一些相关的技术,如预加载(pre-loading)JRE,从硬盘读入到内存,还有一个操作系统服务,这个服务的功能就是监视可分配的内存来加载JRE,使得用户获得最佳的性能。出了这些,kernel还提供了一个新的浏览器插件,提供给Web 开发者更多的关于桌面运行信息,可获得的JRE水平等等。
     对于桌面Java来说,Java kernel 和Java FX两大好消息。说Kernel是一个非常好的技术,是因为它承认了Swing已经到了一个非常成熟的阶段,并且帮助开发这如何将他们的Java应用程序更为快速,更为有效的搬到用户桌面上。说FX是两外一个非常好的消息,是因为它为Java开发者打开了新篇章,特别是那些愿意使用脚本语言和做一些高级的,活波的,图形效果的开发者,他们只需要写简单几行代码就可以完成。我相信这两项技术将会使得更多的应用程序用Java语言编写,运行在用户的机器上,同时,对于用户和开发者来说,应用程序变得更快,更简单。

相关学习资料

https://openjfx.dev.java.net/JavaFX_Programming_Language_CN.html

https://openjfx.dev.java.net/JavaFX_Programming_Language.html

https://openjfx.dev.java.net/Getting_Started_With_JavaFX.html

https://openjfx.dev.java.net/

http://download.java.net/general/openjfx/demos/tutorial.jnlp

做最好的自己

不管什么时候,不论处在什么环境,不论别人如何影响我或者评价我,我仍然坚持做最好的自己!

2007年7月27日星期五

千里之行,始于足下

现在想来,自己还有很多的目标没有实现。但是自己太着急,所以总是在这么多目标之间徘徊,灵魂都快被撕扯碎了!于是自己终于明白,眼下的目标才是最重要的,认真做好眼下的事才是当务之急!正所谓千里之行,始于足下!

2007年7月26日星期四

迟到和堵车

要说起来,北京现在的交通也真的够方便的。
公交车线路多,地铁线路也多。

但是今天早上,就好像是开玩笑般的,刚从住处出来,坐上801,就开始堵车。几乎40分钟,公交车一动不动,移动电视还在播出交管局的监控画面,从监控画面上看到了更多向我们一样倒霉又无奈的人们——都在堵车! 简直是太有讽刺意味了!

就在8点45分的时候,车子开始往前走了。剩下的路段一路畅通,简直跟人一种错觉:前面的人是不是看时间早,故意堵在那里跟我们后面的开玩笑啊?一看快迟到了就没心思堵后面的了。唉……

2007年7月24日星期二

心灵严重受挫

最近烦心事特多。感觉每天的生活就是不停的忙碌,也没个目标。自我就这样渐渐迷失了。心灵也正在受挫,觉得自己忙了半天还是那么失败,总是越来越落后的样子。

算了,不想它了。Let god damn idea out of my minds, and make myself strong on my own.

2007年7月20日星期五

生活就是碰撞出来的

说到生活,真的,碰撞是在所难免的。任何人在一起都会碰撞。重要的是要相信身边的朋友,要相信问题都可以解决。宽容的态度是避免伤害的最佳办法。

没有碰撞,就没有生活。

生活,就是碰撞出来的。。。

2007年7月18日星期三

真的找到房子了!!!

今天真的找到房子了!!!!很高兴啊。终于不用那样跑来跑去,挤来挤去了。

2007年7月17日星期二

关于X的另一种解释

其实,X的形状很像是一个沙漏斗。上面的沙子经过一个细细的口才能沉到下面。

如果把上面的部分看做一个入口,那么,事实上,我们可以把它想像的无限伟大——包容一切,有着海纳百川的心胸。

但是即使是这个无限伟大的东西,也会有它的弊端。那就是不经过筛选,容纳了一切。

所以,如果能在中间的细口上加上一个过滤网,就可以把精华筛选出来,最终变成自己的沉淀。

随着时间的增长,我们还可以不断的将筛选过的东西进行再筛选。

所以,X也可以是一个中间有过滤网的,两边开口的沙漏斗。

2007年7月15日星期日

找到房子!

找到房子了!!!好高兴!!希望一切顺利,高高兴兴的入住!

--
X-Spirit

2007年7月14日星期六

和同事喝酒想到的

今天和同事喝酒,忽然想到在学校最后的时刻,和宿舍人一起喝酒。
 
突然非常想念同学,特别是室友。
其实这一段最牵挂的室友还是峰哥和源哥。一个辞掉了上海的工作正在北京找,另一个在天津培训。其实现在找工作真的不容易了,因为这一段时间正好是各公司内部比较稳定的时期,机会比较少。这个时候找工作,压力绝对是非常大的。所以,面对目前自己正在做的这份不太喜欢的工作,最终还是选择接受它了。这两个哥哥的情况目前也许真的不是很乐观,我只能默默祈祷。
 
QQ在我临走时候把我送上了出租。他那句:"有事打电话"我听了以后心里一阵酸。我当时真的想抱住他,因为我真的不想以后只能"有事打电话"。可是天下没有不散的宴席,我必须接受。。。
 
其实喝酒只是为了寻找一下醉的感觉,但是对我来说,就像是喝一种很特别的饮料,有时候像咖啡一样让人振奋,有时候又像苦茶让人感到淡淡的忧伤。但每次喝酒我都会保持特殊的清醒,甚至比我平时还要清醒明白许多。但也就是这个时候,我体会到,打假办的同志们,我是多么的爱你们。
 
 
 


--
X-Spirit