仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 382|回复: 9
打印 上一主题 下一主题

[学习教程] 了解下JAVA的详解使用 JDK6 静态编译组件搭建 OSGi 运转时编译情况

[复制链接]
因胸联盟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:02:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
再举这样一个例子:如果你想对一个数字取绝对值,你会怎么做呢?java的做法是intc=Math.abs(-166);而ruby的做法是:c=-166.abs。呵呵,这就看出了java与ruby的区别。
可是我们晓得,在开辟OSGi情况下的Bundle时最贫苦的步骤之一就是搭建编译情况。即使使用Eclipse如许高效的开辟工具,因为Bundle个数的复杂和统一Bundle的版本多样性,保护一个编译情况变得十分烦琐。经常我们必要对一个OSGi的Bundle举行二次开辟时,仅仅一个很小的修改都必要花大批的工夫往搭建专为这套程序的编译情况。我们急切但愿能够有一个运转时的编译情况来简化这些步骤,使用情况既有的依附项来对代码举行编译。
本篇文章先容OSGi的运转特征,Bundle间运转时的依附体例和JDK6所供应静态编译功效,接着一步步先容怎样使用这些特征搭建能够运行时编译的开辟情况,最初经由过程IBMSystemDirector作为示例,将开辟Bundle安装在下面演出示以给读者一个直不雅的体验。本文假定读者具有必定的OSGi基本常识和java基本常识。读完本文后,假如读者有一个OSGi的运转情况和想要编译的运转在这个情况上的java源代码,就能够自行搭建出使用这个运转情况编译出字节码文件出来以供公布及二次开辟利用的模块。
形貌了传统基于OSGi的使用程序架构:
.基于OSGi的使用程序架构

要完成文章所介绍的功效,使用程序只需满意以下体系需求:
基于恣意OSGi4的完成版本,如Knopflerfish或Equinox。
运转JDK版本6.0或以上。
归纳综合形貌了本文所要形貌的目标:
.运转时编译情况模子

个中Bundle1、2等平分别是OSGi运转环境中既存的Bundle,即OSGi已将它们对应的jar包或是字节码文件加载了出去。棕色框图则是我们要制造的OSGi运行时静态编译Bundle。
用户输出Java源代码(以命令行或是文件情势)
静态编译模块扫描一切Bundle,将运转时情况里一切的jar及class文件作为编译时依附保留。
使用JDK6供应的静态编译组件举行静态编译
编写本人的JavaFileObject对象,而且指定StandardJavaFileManager的编译目标地(这些都是JDK6静态编译组件的相干内容会在后续具体申明),便可编译出Java字节码文件
[可选]发送class文件到指定邮箱完成全部运转时编译历程。
接上去就让我们来看看如何使用JDK6静态编译组件和OSGi供应的相干功效来搭建这个运转时编译Bundle。不外在这之前,仍是有需要懂得下Bundle之间的通信体例。
<p>
先谈谈我对java的一些认识。我选择java,是因为他语法简单,功能强大,从web,到桌面,到嵌入式,无所不能。但当我进一步了解了java后,感叹,java原来也有许多缺点。
小妖女 该用户已被删除
沙发
发表于 2015-1-19 18:52:11 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
第二个灵魂 该用户已被删除
板凳
发表于 2015-1-24 15:22:16 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
深爱那片海 该用户已被删除
地板
发表于 2015-1-27 08:25:35 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
变相怪杰 该用户已被删除
5#
发表于 2015-2-5 03:14:00 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
灵魂腐蚀 该用户已被删除
6#
发表于 2015-2-11 02:42:56 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
7#
发表于 2015-3-1 19:43:54 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
活着的死人 该用户已被删除
8#
发表于 2015-3-10 22:39:28 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
若相依 该用户已被删除
9#
发表于 2015-3-17 11:37:41 | 只看该作者
是一种为 Internet发展的计算机语言
愤怒的大鸟 该用户已被删除
10#
发表于 2015-3-24 09:22:54 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-28 19:24

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表