本文目录一览:
- 1、JAVA中ant脚本是什么东西?
- 2、开发语言java与jee的学习方式与不同?
- 3、昆明Java培训:免费java开发工具有哪些?实用型java开发工具特点?
- 4、北大青鸟java培训:java编程开发语言编辑脚本应该怎么做?
- 5、什么是脚本引擎,它有什么作用?
JAVA中ant脚本是什么东西?
内容摘要:
ANT是一个基于Java的自动化脚本引擎,脚本格式为XML。除了做Java编译相关任务外,ANT还可以通过插件实现很多应用的调用。
1)ANT的基本概念:
2)ANT的安装:解包,设置路径
3)ANT的使用:最好的学习只不过是一个简单实用的例子起步……
ANT的基本概念:Java的Makefile
当一个代码项目大了以后,每次重新编译,打包,测试等都会变得非常复杂而且重复,因此c语言中有make脚本来帮助这些工作的批量完成。在Java中应用是平台无关性的,当然不会用平台相关的make脚本来完成这些批处理任务了,ANT本身就是这样一个流程脚本引擎,用于自动化调用程序完成项目的编译,打包,测试等。除了基于JAVA是平台无关的外,脚本的格式是基于XML的,比make脚本来说还要好维护一些。
每个ant脚本(缺省叫build.xml)中设置了一系列任务(target):比如对于一个一般的项目可能需要有以下任务。
任务1:usage 打印本脚本的帮助信息(缺省)
任务2:clean -- init 清空初始化环境
任务3:javadoc -- build -- init 生成JAVADOC
任务4:jar -- build -- init 生成JAR
任务5:all -- jar + javadoc -- build -- init 完成以上所有任务:jar javadoc
而多个任务之间往往又包含了一定了依赖关系:比如把整个应用打包任务(jar)的这个依赖于编译任务(build),而编译任务又依赖于整个环境初始化任务(init)等。
注:我看到很多项目的ant脚本中的命名基本上都是一致的,比如:编译一般叫build或者compile;打包一般叫jar或war;生成文档一般命名为javadoc或javadocs;执行全部任务all。在每个任务的中,ANT会根据配置调用一些外部应用并配以相应参数执行。虽然ANT可调用的外部应用种类非常丰富,但其实最常用的就2,3个:比如javac javadoc jar等。
ANT的安装
解包后在系统可执行路径中加入指向ant的bin的路径就可以了,比如可以在GNU/Linux上把以下配置加入/etc/profile中:
export ANT_HOME=/home/ant
export JAVA_HOME=/usr/java/j2sdk1.4.1
export PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin
这样执行ant 后,如果不指定配置文件ant会缺省找build.xml这个配置文件,并根据配置文件执行任务,缺省的任务设置可以指向最常用的任务,比如:build,或指向打印帮助信息:usage,告诉用户有那些脚本选项可以使用。
ANT的使用
最好的学习过程就是看懂那些open source项目中的build.xml脚本,然后根据自己的需要简化成一个更简单的,ANT和APACHE上很多非常工程派的项目:简单易用,而且适应性非常强,因为这些项目的建立往往来源于开发人员日常最直接的需求。
开发语言java与jee的学习方式与不同?
1、打好基础是重中之重
基础部分可能很枯燥,但是一定要耐心坚持下去。因为打基础好比是在造轮子造汽车,没有打好基础在后面的学习就好比走路,可以说后面遇到的百分之七八十的问题都是基础没学好造成的。
2、多看官方文档多读源码
一定要看JDK相关类库、常用框架各种功能的源码,去了解其底层实现的原理。总的来说这个也是在打基础的部分,Java基础非常扎实才能看懂,在我们学习一个类的源码时,肯定会衍生出其他各种各样的问题,供我们来了解和学习,这也就是我们下一步学习的目标和方向。慢慢的,我们就会学习更多的知识,并积累更多的经验。
3、系统性学习,循序渐进
不要急于求成,每个知识点都要看,并且每个知识点都要勤加练习。有的同学在学习过程中觉得这个知识点简单,就跳着学习,其实这是个很大的问题,知识点细节必须要了解。我们学习Java需要循序渐进,一步一步来,不能操之过急。
4、遇到问题
遇到不会做的问题,当然不能置之不理。先在网上查,目前网络上针对很多问题都有完美的解决方案,如果网上没有类似的问题,那可能是你犯了什么小错误。也不要在这个问题上花费太多时间,这需要一定的学习技巧。Java中的知识有很强的相关性,有不懂的地方,可以用其他周边相关知识再回过头来理解,这样既不会耽误学习进度,又能理解自己不懂的地方
1)jvm有很多种,其实jvm是一个标准,sun做的那个叫hotspot,作者就是后来v8的作者lars bak,其他公司也做过jvm,其中做得比较好的有bea的jrockit,其他的包括ibm的r9,apple的jvm等在内,都做得不行,所以jvm主要是整合淘汰掉这些做得不好的jvm(s),整合成一个统一的openjdk。
2)java是典型的oop语言,其执行效率的优化,最早就是lars bak等人从smalltalk等长期优化的经验中总结出来并apply到hotspot上去滴,而smalltalk在早期apple机上搞出了那种拖拖拽拽就开发出app的做法,后来vc,delphi之类的其实都是抄袭或者说借鉴apple的smalltalk的做法,jobs说微软从头到尾都在抄袭apple是空穴来风,这里空穴来风跟王垠使用的空穴来风是一个意思,有趣的是,java的gui并没有继承这种搞法,反而对这种拖拖拽拽就作出app的做法批判有加,到今天,其实java的gui都还不能真正做到拖拖拽拽就作出来,问题很多,个人建议对于纯java的gui开发,还是以写代码为主。
3)jee也是一个或者说是一堆标准,知乎上有些人把maven,jenkins都算做jee是不对滴,jee的标准核心是ejb,其实就是一个xml配置化的java文件,这个标准在4的时候,达到了顶峰状态,几乎所有的挨踢大厂都主动支持该标准,之后开始走下坡路,支持的厂越来越少。
4)java和javascript的关系比很多人认为的要密切,javascript里面的java这四个字母可不是白叫的,比如js的版权和商标都控制在oracle手里,oracle对于js的支持甚至超过其对java的支持,并且喜欢捆绑销售,比如jvm里面就有一个js引擎。
5)jvm里面除了js engine以外还有一个浏览器排版引擎webkit,就是apple safari和google chrome用的那个那个。
6)java支持绝大多数脚本语言,你能叫得上名字的脚本语言,几乎都可以在jvm上执行,比如常见的js,ruby,python,甚至php,lua,只不过除了js以外你需要找到相关的脚本引擎。
7)spring的版权被控制在vmware手里,其实spring的那一大堆东西,本质上是一个非标准的jee实现,比如在jee里面用的inject,在spring里面就是autowire,当然spring曾经深刻滴影响了jee,所以有些东西比如di标准,是spring影响下制定出来的,所以spring的做法会比较特例一点。
8)maven上的jars数量前两天突破800万,其他语言的类库,排名第二的是npm,大概数量是maven的十分之一,也就是几十万,不知道现在突破100万没有,然后是gem,也就是ruby那个,大概是十几万,下来是python的module,大概数量级是几万,没突破十万。
9)java的标准是由一个叫做jcp的组织制定的,所有标准需要经过jcp的执行委员会通过方可执行,jcp几乎包括了你所知道的绝大多数知名挨踢公司和组织,比如google,apple,ibm,intel,arm,red hat,twitter等,还有一些教育机构,比如我国的北京大学,阿里最近一次申请jcp执行委员会成员资格,似乎投票不通过,最近一次执行委员会新增两个成员是arm和jetbrains。
10)微软也曾经是jcp甚至是java的主要贡献者,但是利益驱使下,想扩展java,从而破坏java跨平台的特性,所以跟sun闹翻,其本质原因就是想让客户写的java代码跟windows绑定,sun坚决不同意,闹翻,今天回头看这个结果,只能说:双输,sun挂了,微软的ria也离挂不太远了,silverlight已经放弃了,比起当年ie自带有jvm的支持来说,那完全就是两回事。
11)除了微软以外,jcp还缺少一个重要组织apache,因为apache跟oracle也闹翻了,oracle似乎并不在乎开源组织,而更在意商业公司的支持。
12)java曾经有一个内置的数据库,9之后被剥离。
13)j2me是j2se的子集。
14)vert.x作者tim fox最早在vmware做spring时候看到了node.js,萌生出了制作支持多核的node.x的想法,并在离开vmware后加入red hat将其实现,vmware看到后开始耍无赖,claim node.x后来改叫vert.x的版权,不惜跟red hat打官司,后来各方妥协,将其交给eclipse foundation。
15)oracle在收购bea之前,一开始的目标并不是bea和bea的weblogic,而是jboss,但是jboss表现出了极为有种的一面,在oracle收购成功之前,投入了red hat的怀抱,因为都是开源组织,从此jboss成了red hat的一个子部门,oracle收购jboss失败之后,转向bea,庄思浩气死了,但是没用,最后还是被恶意收购。
16)sun在玩不下去之前最早尝试接触的目标是ibm,ibm嫌太贵,放弃之后,被转手给了oracle。(Java学习交流QQ群:589809992 我们一起学Java!)
17)vert.x的作者tim fox在离开red hat之前曾经发过twitter抱怨,外人比如我们,猜测是因为red hat内部已经有了一个jboss,所以跟vert.x在应用上有了重叠,所以导致tim fox的出走,但是出走之后,red hat答应对vert.x做持续性的战略投入,所以vert.x core的几个developers,其实拿的是red hat的工资,但是vert.x的版权并不在red hat手里,而在eclipse foundation手里。
18)vert.x的几个核心开发人员都是google summer of code的导师,每年年初时候会招收在校大学生搞项目。
19)教育机构相关:scala的作者马丁是德国人,eth的博导,groovy的主要领导人是法国人,jruby背后是东京大学,jboss的作者是法国大学校x的校友,x就是伽罗瓦考不进去的那所大学,伽罗瓦进不了x,所以改读巴黎高师,tim fox毕业于帝国理工,主席去的那个,netty作者trustin lee是acm银牌,现在line工作,毕业于sky里面的延世大学,kotlin是毛子公司jetbrains的作品,看linkedin,很多人毕业自圣彼得堡大学,spring作者rod johnson是悉尼大学的音乐博士,hibernate作者gavin king是澳洲莫那什大学的数学本科毕业生,james gosling这种cmu和calgory的估计烂大街了,sun是斯坦福大学网络的意思,夹带两个私货,aspectj有一个维护小组在mcgill,hbase跟waterloo关系密切。
20)java早期被人认为慢,跟java坚持不用硬件加速渲染有关,死活就是不肯接入directx和opengl,7之后总算开窍,搞了一个图形引擎接入了directx/opengl。
21)casssandra是facebook做失败的项目,被贡献给了apache之后老树开花。
22)groovy被贡献给了apache,现在叫做apache groovy,ceylon被贡献给了eclipse,现在叫做eclipse ceylon。
23)netflix现在是java shop,之前是用.net的。
先想到这么多,有空再写。
昆明Java培训:免费java开发工具有哪些?实用型java开发工具特点?
使用开发工具之前,需要知道免费java开发工具有哪些?实用型java开发工具特点,我们以熟知这些软件的优点和缺点为前提,以便在后期实操过程中根据实际情况选择应用最适合的的java开发工具。
免费java开发工具有哪些?实用型java开发工具特点?java开发工具一、JavaWorkshopSunMicroSystems公司于推出了JavaWorkShop1.0,这是业界出现的第一个供Internet网使用的多平台开发工具,它可以满足各公司开发Internet和Intranet网应用软件的需要。
JavaWorkShop完全用Java语言编写,是当今市场上销售的第一个完全的Java开发环境,目前JavaWorkShop的最性版本是3.0。
JavaWorkshop的特点表现如下:1)结构易于创建:在创建平台中立的网格结构方面,JavaWorkshop比其他任何一种Java开发工具都要方便。
2)可视化编程:JavaWorkshop的可视化编程特性是很基本的。
JavaWorkshop允许程序员重新安排这些操作,甚至可以确定触发操作行为的过滤器。
JavaWorkshop产生的模板带有许多注释,这对程序员是很有帮助的。
此外,JavaWorkShop支持JDK以及JavaBeans组件模型,API和语言特征增加了编译Java应用程序的灵活性。
JavaWorkShop开发环境由于完全用Java写成,所以可移植性极好,以致于多个平台都能支持,目前JavaWorkShop支持Solaris操作环境SPARC及Intel版)、Windows95、WindowsNT、以及HP/Ux等平台。
适合于初学者进行一些简单的Java编程。
JavaWorkShop的缺点是JavaWorkshop中的每一个可视化对象都迟早会用到网格布局,这种设计方法是许多人不习惯的;JavaWorkdshop的调色板是较差的,仅仅能满足绝大部分应用的基本要求。
java开发工具二、Borland的JBuilderJbuilder进入了Java集成开发环境的王国,它满足很多方面的应用,尤其是对于服务器方以及EJB开发者们来说。
下面简单介绍一下Jbuilder的特点:1)Jbuilder支持最新的Java技术,包括Applets、JSP/Servlets、JavaBean以及EJB(EnterpriseJavaBeans)的应用。
2)用户可以自动地生成基于后端数据库表的EJBJava类,Jbuilder同时还简化了EJB的自动部署功能.此外它还支持CORBA,相应的向导程序有助于用户全面地管理IDL(分布应用程序所必需的接口定义语言InterfaceDefinitionLanguage)和控制远程对象。
3)Jbuilder支持各种应用服务器。
Jbuilder与InpriseApplicationServer紧密集成,同时支持WebLogicServer,支持EJB1.1和EJB2.0,可以快速开发J2EE的电子商务应用。
4)Jbuilder能用Servlet和JSP开发和调试动态Web应用。
5)利用Jbuilder可创建(没有专有代码和标记)纯Java2应用。
由于Jbuilder是用纯Java语言编写的,其代码不含任何专属代码和标记,它支持最新的Java标准。
6)Jbuilder拥有专业化的图形调试介面,支持远程调试和多线程调试,调试器支持各种JDK版本,包括J2ME/J2SE/J2EE。
JBuilder环境开发程序方便,它是纯的Java开发环境,适合企业的J2EE开发;缺点是往往一开始人们难于把握整个程序各部分之间的关系,对机器的硬件要求较高,比较吃内存,这时运行速度显得较慢。
java开发工具三、IBM的VisualAgeforJavaVisualAgeforJava是一个非常成熟的开发工具,它的特性以于IT开发者和业余的Java编程人员来说都是非常用有用的。
它提供对可视化编程的广泛支持,支持利用CICS连接遗传大型机应用,支持EJB的开发应用,支持与Websphere的集成开发,方便的bean创建和良好的快速应用开发(RAD)支持和无文件式的文件处理。
IBM为建设Web站点所推出的WebSphereStudioAdvancedEdition及其包含的VisualAgeforJavaProfessionalEdition软件已全面转向以Java为中心,这样,Java开发人员对WebSphere全套工具的感觉或许会好了许多。
Studio所提供的工具有:Web站点管理、快速开发JDBC页向导程序、HTML编辑器和HTML语法检查等。
这确实是个不错的HTML站点页面编辑环境。
Studio和VisualAge集成度很高,菜单中提供了在两种软件包之间快速移动代码的选项。
这就让使用Studio的Web页面设计人员和使用VisualAge的Java程序员可以相互交换文件、协同工作。
VisualAgeforJava支持团队开发,内置的代码库可以自动地根据用户做出改动而修改程序代码,这样就可以很方便地将目前代码和早期版本做出比较。
与VisualAge紧密结合的WebsphereStudio本身并不提供源代码和版本管理的支持,它只是包含了一个内置文件锁定系统,当编辑项目的时候可以防止其他人对这些文件的错误修改,软件还支持诸如MicrosoftVisualSourceSafe这样的第三方源代码控制系统。
VisualAgeforJava完全面向对象的程序设计思想使得开发程序非常快速、高效。
你可以不编写任何代码就可以设计出一个典型的应用程序框架。
VisualAgeforJava作为IBM电子商务解决方案其中产品之一,可以无缝地与其他IBM产品,如WebSphere、DB2融合,迅速完成从设计、开发到部署应用的整个过程。
VisualAgeforJava独特的管理文件方式使其集成外部工具非常困难,你无法让VisualAgeforJava与其他工具一起联合开发应用。
java开发工具四、WebGain的Visu模板管理是只能在Symantec公司的Java虚拟机、Netscape公司的Java虚拟机和Microsoft虚拟机上工作的调试器。
这对于开发者来讲是一个重要的特性,因为用户开发的Java代码中的许多软件bug就可能中会在某种特定的虚拟机上起作用。
在修改后进行编译基继续进行调试时,VisualCafe会自动将文件存盘,使用VisualCafe创建的原生应用具有许多特点。
除了明显的速度提高之外,Symantec使类库的二进制方式比正常的JDK小VisualCafe为所指定的关系自动生成或更新必要的Java代码。
利用VisualCafe,用户可以从一个标准对象数据库中集合完整的Java应用程序和Applet,而不必再编写源代码。
VisualCafe还提供了一个扩充的源代码开发工具集。
VisualCafe综合了Java软件的可视化源程序开发工具,它允许开发人员在可视化视图和源视图之间进行有效地转换。
在可视化视图中进行的修改立即反映在源代码中。
对源代码的改变自动更新可视化视图。
VisualCafe具有许多源文件方面的特性,如全局检索和替换。
绝大多数Java开发工具的文献的问题在于简单地挨个介绍开发工具的每部分组件,但用户在开应用时还需要一个面向任务的手册,利用这个手册你可以不必知道工具每一部分的特定功能就可以开始创建自己的应用。
VisualCafe提供了非常全面的用户指南,它对最开始的安装到创建第一个Java应用和Applet都提供了全面的帮助,VisualCafe将自动生成所指明关系的必要Java代码。
VisualCafe可以在Windows95和WindowsNT平台下运行,Symantec公司为Java开发工作提供一个在Macintosh操作系统下可以运行的RAD工具。
VisualCafe编译器速度很快,在国际化支持方面比较突出;缺点就是对于初学者来说,较复杂,也比较难。
java开发工具五、AntAnotherNeatTool(Ant)是一种基于Java的build工具。
理论上来说,它有些类似于(Unix)C中的make,但没有make的缺陷。
因为Ant的原作者在多种(硬件)平台上开发软件时,无法忍受这些工具的限制和不便。
类似于make的工具本质上是基于shell(语言)的:他们计算依赖关系,然后执行命令(这些命令与你在命令行敲的命令没太大区别)。
这就意味着你可以很容易地通过使用OS特有的或编写新的(命令)程序扩展该工具;然而,这也意味着你将自己限制在了特定的OS,或特定的OS类型上,如Unix。
Ant就不同了。
与基于shell命令的扩展模式不同,Ant用Java的类来扩展。
(用户)不必编写shell命令,配置文件是基于XML的,通过调用target树,就可执行各种task。
每个task由实现了一个实现了特定Task接口的对象来运行。
Ant支持一些可选task,一个可选task一般需要额外的库才能工作。
可选task与Ant的内置task分开,单独打包。
这个可选包可以从你下载Ant的同一个地方下载。
ANT本身就是这样一个流程脚本引擎,用于自动化调用程序完成项目的编译,打包,测试等。
除了基于JAVA是平台无关的外,脚本的格式是基于XML的,比make脚本来说还要好维护一些。
Ant是Apache提供给Java开发人员的构建工具,它可以在WindowsOS和UnixOS下运行,它不仅开放源码并且还是一个非常好用的工具。
Ant是ApacheJakarta中一个很好用的Java开发工具,Ant配置文件采用XML文档编写,所以Java程序员对其语法相当熟悉,Ant是专用于Java项目平台,能够用纯Java来开发,它能够运行于Java安装的平台,即体现了它的跨平台功能。
它的缺点显示执行结果只能是DOS字符界面,不能进行复杂的java程序开发。
免费java开发工具有哪些?实用型java开发工具有JavaWorkshop、Borland的JBuilder、IBM的VisualAgeforJava、VisualCafeforJava、Ant等,除此之外还要很多其他的开发工具。
感谢大家阅读由java问答分享的“免费java开发工具有哪些?实用型java开发工具特点?”希望对大家有所帮助,了解更多专业课程培训内容请关注昆明北大青鸟java培训机构官网。
免责声明:以上内容仅作为信息传播,文中部分信息来源于互联网,仅供阅读参考。
北大青鸟java培训:java编程开发语言编辑脚本应该怎么做?
脚本对于大多数程序员来说应该不陌生了吧。
今天我们就一起来了解一下,在使用java编程开发语言编写API脚本的时候都需要注意哪些问题。
Java脚本化API为谁准备?脚本语言的一些有用的特性是:方便:大多数脚本语言都是动态类型的。
您通常可以创建新的变量,而不声明变量类型,并且您可以重用变量来存储不同类型的对象。
此外,脚本语言往往会自动执行许多类型的转换,例如,必要时将数字10转换为“10”。
开发快速原型:您可以避免编辑编译运行周期,只使用“编辑运行”!应用扩展/定制:你可以“具体化”的部分应用程序,例如一些配置脚本,业务逻辑/规则和财务应用中的数学表达式。
为应用添加命令行模式,用于调试、运行时配置/部署时间。
现在大多数应用程序都有一个基于Web的GUI配置工具。
但是系统管理员/部署人员常常喜欢命令行工具。
一个“标准”的脚本语言可以用来实现这个目的,而不是发明特设的脚本语言。
Java脚本API是一种独立于框架的脚本语言,使用来自于Java代码的脚本引擎。
通过java脚本API,可以使用Java语言编写定制/可扩展的应用程序并将自定义脚本语言选择留给终用户。
Java应用程序开发者不需要在开发过程中选择扩展语言。
如果你使用JSR-223API来编写应用,那么你的用户可以使用任何JSR-223兼容的脚本语言。
脚本包Java脚本功能是在javax.script包中。
这是一个比较小的,简单的API。
脚本的出发点是ScriptEngineManager类。
一个ScriptEngineManager对象可以通过jar文件的服务发现机制发现脚本引擎。
它也可以实例化脚本引擎来解释使用特定的脚本语言编写的脚本。
脚本变量当你的java应用程序嵌入脚本引擎和脚本,你可能希望将您的应用程序对象为全局变量暴露于脚本中。
这个例子演示了如何将您的应用程序对象作为全局变量暴露于脚本中。
我们在应用程序中创建一个java.io.File对象作为全局变量,名称是file。
宁夏电脑培训发现该脚本可以访问变量,例如,它可以调用它的公共方法。
注意访问java对象、领域和方法的语法依赖于脚本语言。
JavaScript支持“自然”的类似java的语法。
什么是脚本引擎,它有什么作用?
脚本引擎,就是一个计算机编程语言的解释器,如用于建网站的asp、php等,它的功能是解释执行用户的程序文本,将它译成计算机能执行的机器代码,完成一系列的功能。例如,Freemarker和Velocity通常被称为脚本引擎。Erb也会出现在这里,但奇怪的是,它并没有经常被称为脚本引擎。
脚本语言通常不需要编译步骤,因此可以更简单地作为shell脚本或从shell脚本运行。包括awk、perl、tcl、python、ruby等,这些语言通常需要简洁,类型安全性通常是可选的。Windows在其脚本宿主功能中支持多种语言。这将脚本语言公开给Windows中的各种组件。
扩展资料:
java脚本引擎的设计原理浅析
1、编译型 vs 解析性
如果能够产生一个独立的class文件则属于前者,例如:fel,simpleEl,groovy
否则通过编译成自定义的内存指令就属于后者,例如:QLExpress,aviator,JEXL
2、java语法 vs 表达式语言(EL expression language) vs 脚本(script)
如果语法和java保持一致,不做任何扩展,就是属于第一种:如果语法大量简化(比如去掉显示类、方法、变量声明,异常处理,逻辑跳转循环等等),只支持简单的数学公式、对象方法成员变量调用, 就属于第二种:fel,simpleEl,aviator。
介于两者之间,即提供很好的语法糖,又支持大部分java语法:for循环,if判断,函数定义,就属于第三种:groovy,QLExpress
参考资料来源:百度百科-脚本引擎