专属应用程序java的环境变量的配置做什么的

您的访问出错了(404错误)
很抱歉,您要访问的页面不存在。
1、请检查您输入的地址是否正确。
进行查找。
3、感谢您使用本站,3秒后自动跳转至网站首页1Pages: 1/2& & &Go
主题 : 齐博CMS:xujiajay插件第二篇-创建属于自己的专属全局变量
个性签名:问问题前请先搜索
级别: 齐博版主
发帖: 7636
威望: 12387 点
积分: 110380 个
铜板: 1785
精华风格度: 0 点
在线时间: 2657 小时
齐博CMS:xujiajay插件第二篇-创建属于自己的专属全局变量
管理提醒:
本帖被 lisheng51 从 二次开发和插件 移动到本区()
&&&&&&&&&&&&&&让大家久等了,经历了一个星期的休息,身体得以调整,昨天搞了个插件,因为以前有朋友提到过,不多说,具体介绍吧。 插件版本号:liulang-6.1 插件名称:创建全局变量 插件功能:大家可以在后台自己建变量,然后整站都可以调用,就象官方的www_url那个变量可以整站都调用一样。下面出截图,具体的安装请看我的第一篇插件的具体安装图解。 后台界面: 1screen.width-461) window.open('//Day_00_d6a.jpg');" > 2screen.width-461) window.open('//Day_00_ff1d.jpg');" > 我这里用首页,列表页,内容页分别作测试,在后台添加了yourtest变量: 3screen.width-461) window.open('//Day_00_184604_bcc4947c9fda791.jpg');" > 前台的模板中我添加的位置: 4screen.width-461) window.open('//Day_00_e363bd6cafea2.jpg');" > 5screen.width-461) window.open('//Day_00_cbff50e5b98735.jpg');" > 6screen.width-461) window.open('//Day_00_88c8d58b21b6.jpg');" > 然后前台的效果: 7screen.width-461) window.open('//Day_00_184604_bffdad.jpg');" > 8screen.width-461) window.open('//Day_00_a85b6ab42a304.jpg');" > 9screen.width-461) window.open('//Day_00_184604_cfd1c.jpg');" > 好,就到这里 希望对大家有用&&下面送出具体的文件:
(5 K) 下载次&#2 && 下面文件后把admin直接覆盖你的整站的那个admin文件夹,然后把p8_globalkey.sql这个文件放在php168v6/cache里面 ,安装方法请大家看我的第一篇插件()的具体安装方法截图。 欢迎大家下载进行体验。 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++已有更新版本 Liulang-6.11 欢迎大家下载最新版本:[ 此帖被xujiajay在 21:09重新编辑 ]
本帖最近评分记录:
积分:+1(javaxue) 现在是v7版本无法使用, ..铜板:+15(lisheng51) 加分支持
***************************************** *                 ******************************************
个性签名:做人要低调
级别: 齐博总版
发帖: 35526
威望: 72040 点
积分: 98951 个
铜板: 68813
精华风格度: 1 点
在线时间: 5999 小时
这个想法很好,很有搞头,就是添加新的变量关键字重复提示哪里还要处理下:if(!$postdb[g_key])&&&&{&&&&&&&&showmsg(&关键字不能为空!&);&&&&}&&&&$rs=$db-&get_one(&SELECT * FROM `{$pre}globalkey` WHERE `g_key`='$postdb[g_key]'&);&&&&if($rs){&&&&&&&&showmsg(&本变量关键字($postdb[g_key])已经存在了,请更换一个&);&&&&}&&&&if(!$postdb[g_value])&&&&{&&&&&&&&showmsg(&内容不能为空!&);&&&&}而关于config缓存,你可以写一个函数,这样代码看起来就整齐多了。比如在最后补上一个:function write_config_cache_2(){&&&&global $db,$&&&&$writefile=&&?php\r\n&;&&&&$query = $db-&query(&SELECT * FROM {$pre}config&);&&&&while($rs = $db-&fetch_array($query)){&&&&&&&&if($rs[c_key]=='copyright1'){&&&&&&&&&&&&$copyright1=$rs[c_value];&&&&&&&&}elseif($rs[c_key]=='copyright2'){&&&&&&&&&&&&$copyright2=$rs[c_value];&&&&&&&&}else{&&&&&&&&&&&&$rs[c_value]=addslashes($rs[c_value]);&&&&&&&&&&&&$writefile.=&\$webdb['$rs[c_key]']='$rs[c_value]';\r\n&;&&&&&&&&}&&&&}&&&&write_file(PHP168_PATH.&php168/config.php&,$writefile);&&&&if(!is_writable(PHP168_PATH.&php168/config.php&)){&&&&&&&&showmsg(PHP168_PATH.&php168/config.php文件目录权限不可写,请仔细检查&);&&&&}&&&&}在需要更新config缓存的地方用:write_config_cache_2(); 即可[ 此帖被lisheng51在 20:17重新编辑 ]
个性签名:问问题前请先搜索
级别: 齐博版主
发帖: 7636
威望: 12387 点
积分: 110380 个
铜板: 1785
精华风格度: 0 点
在线时间: 2657 小时
回 1楼(lisheng51) 的帖子
管理提醒:
(lisheng51)
谢谢总斑提醒 还望指教 [ 此帖被xujiajay在 07:44重新编辑 ]
***************************************** *                 ******************************************
级别: 齐博本科生
发帖: 2958
威望: 1076 点
精华风格度: 0 点
在线时间: 419 小时
本帖最近评分记录:
积分:+5(xujiajay) 谢谢支持了
个性签名:才疏学浅
级别: 齐博博士后
发帖: 14480
威望: 4600108 点
积分: 321849 个
铜板: 1412
精华风格度: 0 点
在线时间: 3772 小时
没有多大意义
级别: 齐博大专生
发帖: 1299
威望: 941 点
积分: 2084 个
精华风格度: 0 点
在线时间: 264 小时
似乎和自定义字段是一个意思,值得研究!
本帖最近评分记录:
积分:+5(xujiajay) 不是字段
***************************************** *                 ******************************************
个性签名:一杯清茶
级别: 齐博小学生
威望: 115 点
积分: 211 个
精华风格度: 0 点
在线时间: 100 小时
俺虽说不怎么懂,但流浪搞的这个是花了心思的,我顶你,
本帖最近评分记录:
积分:+5(xujiajay) 谢谢谅解
***************************************** *                 ******************************************
个性签名:向万帖冲刺
级别: 齐博版主
发帖: 9893
威望: 136046 点
积分: 5252232 个
精华风格度: 8 点
在线时间: 5672 小时
风格仿制 模板制作 整站建设
模板达人500人群:  
个性签名:有时间的时候,我就来看看
级别: 齐博版主
发帖: 9566
威望: 10895 点
积分: 111048 个
铜板: 1804
精华风格度: 0 点
在线时间: 2781 小时
没话说的,支持你!想问下,可以定义类似这种的全局变量吗——从数据表获取的即时动态的那种,如,会员A($lfjid)、其UID为6($lfjuid)、其所在组为普通会员($group),是否可在全站任何地方用$group来显示当前登录会员所在的组名?凡此等等。。。
***************************************** *                 ******************************************
个性签名:采集5-15元
级别: 齐博硕士
发帖: 3647
威望: 2237 点
精华风格度: 0 点
在线时间: 1970 小时
不错,希望插件制作能越来越活跃,越平民化
***************************************** *                 ******************************************
个性签名:问问题前请先搜索
级别: 齐博版主
发帖: 7636
威望: 12387 点
积分: 110380 个
铜板: 1785
精华风格度: 0 点
在线时间: 2657 小时
回 8楼(jsr) 的帖子
这个还要研究下 我搞的是定义一个变量全局调用 至于你所说的是从数据库调用出来的数据然后全局化 这个差别还是有点小大大的哟
***************************************** *                 ******************************************
个性签名:问问题前请先搜索
级别: 齐博版主
发帖: 7636
威望: 12387 点
积分: 110380 个
铜板: 1785
精华风格度: 0 点
在线时间: 2657 小时
回 4楼(qwe83859) 的帖子
还是有很多人需要的
***************************************** *                 ******************************************
个性签名:有时间的时候,我就来看看
级别: 齐博版主
发帖: 9566
威望: 10895 点
积分: 111048 个
铜板: 1804
精华风格度: 0 点
在线时间: 2781 小时
Re:回 8楼(jsr) 的帖子
引用 引用第10楼xujiajay于 12:20发表的 回 8楼(jsr) 的帖子 :这个还要研究下 我搞的是定义一个变量全局调用 至于你所说的是从数据库调用出来的数据然后全局化 这个差别还是有点小大大的哟
就是像$lfjid、$lfjid这种全局变量,如果也能在后台 像你设计的这个这样来自定义,那就神了。。。
这种像后台全局设置,预先将一个固定内容赋予变量记录入P8_config表和php168/config.php文件,我看这个行不通。。。
***************************************** *                 ******************************************
个性签名:问问题前请先搜索
级别: 齐博版主
发帖: 7636
威望: 12387 点
积分: 110380 个
铜板: 1785
精华风格度: 0 点
在线时间: 2657 小时
回 12楼(jsr) 的帖子
***************************************** *                 ******************************************
个性签名:做人要低调
级别: 齐博总版
发帖: 35526
威望: 72040 点
积分: 98951 个
铜板: 68813
精华风格度: 1 点
在线时间: 5999 小时
引用 引用第8楼jsr于 11:23发表的&&:没话说的,支持你!想问下,可以定义类似这种的全局变量吗——从数据表获取的即时动态的那种,如,会员A($lfjid)、其UID为6($lfjuid)、其所在组为普通会员($group),是否可在全站任何地方用$group来显示当前登录会员所在的组名?凡此等等。。。
只要把这些变量放在common.inc.php就行了,可以通过新建一个缓存文件 require下,再调用。如果就搞一个会员数据表的还行,全部的数据表,还有待思考
个性签名:问问题前请先搜索
级别: 齐博版主
发帖: 7636
威望: 12387 点
积分: 110380 个
铜板: 1785
精华风格度: 0 点
在线时间: 2657 小时
回 1楼(lisheng51) 的帖子
哦&&这个我是想过 就是不把查询写在IF条件里面 那样可能会好一点&&那个缓存 恩 这样也是个办法 对了 那个关键字内容可以是为空的 如果管理员创建了关键字 但是他不用 那么也是可以的 或者他就是想让这个关键字留空 这个我开始也考虑到了 所以没有加判断 不错不错啊 哈哈 谢谢总斑了[ 此帖被xujiajay在 19:31重新编辑 ]
***************************************** *                 ******************************************
个性签名:有时间的时候,我就来看看
级别: 齐博版主
发帖: 9566
威望: 10895 点
积分: 111048 个
铜板: 1804
精华风格度: 0 点
在线时间: 2781 小时
回 14楼(lisheng51) 的帖子
周转太费神了,还是按常理直接在common.inc.php等核心文件定义这种全局变量,这样来得快
当然能做出像xujiajay 做的这种填表式,是方便了不少PHP的奴仆
***************************************** *                 ******************************************
个性签名:问问题前请先搜索
级别: 齐博版主
发帖: 7636
威望: 12387 点
积分: 110380 个
铜板: 1785
精华风格度: 0 点
在线时间: 2657 小时
回 16楼(jsr) 的帖子
那确实啊&&哈哈
***************************************** *                 ******************************************
级别: 齐博大专生
发帖: 1299
威望: 941 点
积分: 2084 个
精华风格度: 0 点
在线时间: 264 小时
再顶顶!支持下!
***************************************** *                 ******************************************
级别: 齐博小学生
威望: 164 点
积分: 257 个
精华风格度: 0 点
在线时间: 305 小时
我安装后怎么出现是空白的
1Pages: 1/2& & &Go
>> 齐博门户系统专区
&|- 门户开发动态
&|- 门户BUG反馈
&|- 门户功能建议
>> 齐博产品和服务
&|- 官方动态
&|- 程序下载
&|- 商业授权专区
&|- 功能建议
&|- BUG反馈
&|- 新手教程
教程归纳区
&|- 精选风格
&|- 站务咨询
&|- 团队交流
>> 齐博交流和讨论
&|- CMS整站系统
&|- 分类信息系统
&|- B2B电子商务系统
&|- 风格模板
&|- 模块插件
&|- 采集参数
>> 齐博业余和爱好
&|- 建站交流
&|- 无话不说
&|- 站长交易
>> 合作伙伴与VIP会员
&|- 协众OA
&|- VIP会员专区
>> 齐博站务和管理
打造最专业的门户系统建站程序天极传媒:天极网全国分站
您现在的位置: >&
编写高级应用程序
  新的JavaTM(VMs)具有能够提高性能的特点, 并且你可以使用许多工具来提高应用程序的性能或减小一般类的尺寸。这种虚拟机的特性和工具可使你在不改变应用程序、或对应用程序仅做很小改动的情况下,
提高应用程序的性能。
  Java虚拟机的特性
  Java2与过去的版本相比, 性能已有很大提高, 其中包括更快的分配、类尺寸的减小、垃圾收集的改善、最新型的监控器和作为标准的内联JIT技术。当使用新的Java2虚拟机时,
你会看到这种性能的改善; 然而, 如果你能够理解速度是如何提高的, 你就能够调整你的应用程序, 以充分挖掘每一点性能潜力。
Java虚拟机的Java2版可在运行时自动内联简单方法。在一个未优化的Java虚拟机中,每调用一次新的方法,就创建一个新的堆栈帧(stack frame)。创建一个新的堆栈帧需要一些额外的资源以及该栈的某些再映射(re-mapping),其结果将导致系统开销的少许增加。
  由于方法内联可在你的程序中减少方法调用的次数,因而可提高性能。Java虚拟机内联代码内联了返回常数或仅访问内部域(internal fields)的方法。为了利用方法内联,你可以从以下两件事中选做其一;即:你可以使一个方法对虚拟机所要执行的内联看上去是有吸引力的,或者你可以手工内联一个方法,只要它不破坏你的对象模型。在这一语境中的手工内联意味着可以直接从一个方法中将代码移动到正在调用该方法的方法中。
下面的小例子演示了虚拟机的自动方法内联:
public class InlineMe {
int counter=0;
public void method1() {
for(int i=0;i$#@60;1000;i++)
addCount();
System.out.println("counter="+counter);
public int addCount() {
counter=counter+1;
public static void main(String args[]) {
InlineMe im=new InlineMe();
im.method1();
  在当前状态,addCount方法对虚拟机中的内联显得是没有吸引力的,因为addCount方法返回一个值。要发现该方法是否被内联:
java -Xrunhprof:=times InlineMe
它生成一个java.hprof.txt输出文件。前十个方法类似下面的结果:
CPU TIME (ms) BEGIN (total = 510) Thu Jan 28 16:56:15 1999
rank self acc
count trace method
1 5.88% 5.88% 1 25 java/lang/Character.
2 3.92% 9.80% 5808 13 java/lang/String.charAt
3 3.92% 13.73% 1 33/misc/Launcher$AppClassLoader.getPermissions
4 3.92% 17.65% 3 31 sun/misc/URLClassPath.getLoader
5 1.96% 19.61% 1 39 java/net/URLClassLoader.access$1
6 1.96% 21.57% 1000 46 InlineMe.addCount
7 1.96% 23.53% 1 21 sun/io/Converters.newConverter
8 1.96% 25.49% 1 17 sun/misc/Launcher$ExtClassLoader.getExtDirs
9 1.96% 27.45% 1 49 java/util/Stack.peek
10 1.96% 29.41% 1 24 sun/misc/Launcher.
如果你将addCount方法改变为不再返回一个值,则虚拟机可在运行时将其内联。为使内联代码更友好,应用下面的程序替换addCount方法:
public void addCount() {
counter=counter+1;
}
再次运行profiler:
java -Xrunhprof:cpu=times InlineMe
这次,java.hprof.txt的输出应该显得是不同的。
AddCount方法已经消失。它已被内联了!
CPU TIME (ms) BEGIN (total = 560) Thu Jan 28 16:57:02 1999
rank self accum count trace method
1 5.36% 5.36% 1 27 java/lang/Character.
2 3.57% 8.93% 1 23 java/lang/System.initializeSystemClass
3 3.57% 12.50% 2 47 java/io/PrintStream.
4 3.57% 16.07% 5808 15 java/lang/String.charAt
5 3.57% 19.64% 1 42 sun/net/www/protocol/file/Handler.openConnection
6 1.79% 21.43% 2 21 java/io/InputStreamReader.fill
7 1.79% 23.21% 1 54 java/lang/Thread.
8 1.79% 25.00% 1 39 java/io/PrintStream.write
9 1.79% 26.79% 1 40 java/util/jar/JarFile.getJarEntry
10 1.79% 28.57% 1 38 java/lang/Class.forName0
  新型同步
  在 2发布之前,同步的方法和对象总是引发一些额外的性能干扰,这是因为用来实现这种代码锁定的机制采用了一种全局监控器注册,它在某些区域仅仅是单线程的(如搜索现存监控器)。在新发布的Java
2中,每个线程都有一个监控器注册,从而消除了许多现存的性能瓶颈。
如果你曾经使用过其它锁定机制来避免同步方法的性能干扰,现在则有必要重访这些代码并考虑新的Java 2新型锁定技术。
在下面的为同步块创建监控器的例子中,你可以将速度提高40%。所用时间在采用JDK1.1.7和采用 Ultra 1上的Java 2时分别为14ms和10ms。
class MyLock {
static Integer count=new Integer(5);
int test=0;
public void letslock() {
synchronized(count) {
}
public class LockTest {
public static void main(String args[]) {
MyLock ml=new MyLock();
long time = System.currentTimeMillis();
for(int i=0;i$#@60;5000;i++ ) {
ml.letslock();
System.out.println("Time taken="+
(System.currentTimeMillis()-time));
 Java Hotspot
  Java HotSpotTM是Sun Microsystem公司的下一代虚拟机。虽然Java HotSpot 虚拟机所采用的规范与Java 2虚拟机所采用的规范相同,但它已被重新设计,并使用了最先进的技术,从而可在未来许多年内,能够为Java平台提供一个强大而可靠的性能引擎。Java
HotSpot虚拟机可提供:
可以探测并加速性能关键性代码的实时动态优化技术。
为发挥线程的最大性能而设计的超快速线程同步。
可最快速获取的精确而可靠的垃圾收集器。
由于其简洁、高层次以及面向对象的设计,因而在可维护性和可扩展性方面的重要改进。
JIT(Just-In-Time)编译器
用来提高应用程序性能的最简单的工具是Just-In-Time(JIT)实时编译器。JIT是一个可将Java字节码转换为本地机器码的代码生成器。由JIT调用的Java程序,其运行速度通常要比由解释程序执行字节码时的速度高得多。
  JIT编译器首先是在Java开发工具包(JDKTM)1.1.6中作为一种性能更新出现的,而现在它是你在Java 2平台上使用Java解释程序命令时调用的标准工具。你可以使用Java虚拟机的-piler=NONE
选项来使JIT编译器失效,这在JIT的末尾部分有更详细的阐述。
   JIT编译器是如何工作的?
  JIT编译器是作为一种依赖于平台的本地库提供的。如果JIT编译器库存在,则将初始化Java本地接口(JNI)的本地代码分支以调用在该库中可获得的JIT函数,而不是调用在解释程序中的相应函数。
piler 类被用来加载本地库并启动JIT编译器内的初始化。当Java虚拟机调用一个Java方法时,它使用在加载的类对象的方法块中所指定的调用(invoker)方法。Java虚拟机具有若干个调用者方法,例如,如果方法是同步的,或者它是一个本地方法,则将使用不同的调用者。JIT编译器使用它自己的调用者。的产品可以为值ACC_MACHINE_COMPILED检查方法存取位以告知解释程序该方法的代码已被编译并存储在加载类中。
  代码何时成为JIT编译的代码?
当一个方法被首次调用时,JIT编译器为该方法将方法块编译为本地代码,并将其存储在该方法的代码块中。
一旦代码被编译完成,在Sun平台上所使用的ACC_MACHINE_COMPILED的位则被设定。
  我如何知道JIT编译器在做什么?
  环境变量JIT_ARGS允许对Sun Solaris JIT编译器进行简单控制。trace 和 exclude(list)是两个有用的值。要从示例InlineMe中排除(exclude)方法并显示跟踪记录(trace),应将JIT_ARGS
做如下设定:
export JIT_ARGS="trace exclude(InlineMe.addCount InlineMe.method1)"
$ java InlineMe
Initializing the JIT library ...
DYNAMICALLY COMPILING java/lang/System.getProperty mb=0x63e74
DYNAMICALLY COMPILING java/util/Properties.getProperty mb=0x6de74
DYNAMICALLY COMPILING java/util/Hashtable.get mb=0x714ec
DYNAMICALLY COMPILING java/lang/String.hashCode mb=0x44aec
DYNAMICALLY COMPILING java/lang/String.equals mb=0x447f8
DYNAMICALLY COMPILING java/lang/String.valueOf mb=0x454c4
DYNAMICALLY COMPILING java/lang/String.toString mb=0x451d0
DYNAMICALLY COMPILING java/lang/StringBuffer. mb=0x7d690
$#@62;$#@62;$#@62;$#@62; Inlined java/lang/String.length (4)
  请注意内联方法(如String.length)是免除的。String.length 也是一个特殊的方法,它一般由Java解释程序编译为一个内部快捷字节码。当使用JIT编译器时,由Java解释程序提供的这些优化失效,从而可以使JIT编译器能够理解哪个方法正在被调用。
  如何使用JIT来发挥你的优势
  首先要记住的一点是,JIT编译器在第二次调用一个方法时,会获得大部分速度上的改善。JIT编译器的确是编译了整个方法,而不是对其进行逐行解释,逐行解释也是一种在运行一个可执行JIT的应用程序时用以改善性能的途径。这意味着如果代码仅被调用一次,你将不会看到太大的性能改善。JIT编译器也将忽略构造函数(class
constructor),所以,如果可能的话,应最少量地保留构造函数代码。
  如果不能预先检查某些Java边界条件,JIT编译器也不能获得最大的性能改善,这些边界条件包括零指针(Null pointer)或边界外数组等异常。JIT编译器能够知道出现零指针异常的唯一途径是通过由所提供的信号。由于该信号来自操作系统,而不是来自Java虚拟机,因而你的程序会出现性能上的干扰。为了保证在用JIT运行一个应用程序时,能够获取最好的性能,应确保你的代码完全没有象零指针或边界外数组那样的异常。
  如果你要以远程调试状态运行Java虚拟机,或者你要看到源代码行数而不是看到在你的Java栈跟踪中的标签(Compiled Code)的话,你可能需要使JIT编译器失效。要使JIT编译器失效,可在你调用解释器命令时为JIT编译器提供一个空白或无效名称。下面的例子演示了用javac命令将源代码编译为字节码、以及用两种形式的java命令在没有JIT编译器的情况下调用解释程序的过程。
javac MyClass.java
java -piler=NONE MyClass
javac MyClass.java
java -piler="" MyClass
  第三方工具
  其它一些可用的工具包括可用来减小一般类尺寸的工具。Java类文件包括一个被称作常数池(constant pool)的区域。常数池在某一个地方为类文件保持有一个字符串和其它信息的列表,以备引用。在常数池中可以获取的诸多信息之一是方法和字段的名称。
  类文件引用在类中的一个字段作为对常数池中的一个条目的引用。这意味着只要引用保持相同,则无所谓在常数池中存储什么样的值。 一些工具利用这点将常数池中的字段名和方法名重写为缩短的名称。利用这一技术可以大大减小类文件的尺寸,从而使在网上下载类文件变得简单。
(作者:sun授权刊登责任编辑:)
天极新媒体&最酷科技资讯扫码赢大奖
适用类型:台式机电源
适用范围:支持Intel和AMD全系列CPU
电源规范:ATX 12V 2.4
额定功率:650W
最大功率:780W
PFC类型:主动式(功率因数为0.98)
* 网友发言均非本站立场,本站不在评论栏推荐任何网店、经销商,谨防上当受骗!
笔记本手机数码家电applet 小应用程序的生命周期有那些过程?_百度拇指医生
&&&网友互助
?applet 小应用程序的生命周期有那些过程?
拇指医生提醒您:该问题下为网友贡献,仅供参考。
applet 小应用程序的生命周期有那些过程?applet 小应用程序的生命周期有那些过程?applet 小应用程序的生命周期有那些过程?applet 小应用程序的生命周期有那些过程?applet 小应用程序的生命周期有那些过程?applet 小应用程序的生命周期有那些过程?
你要的是这个吧 不要用VJ++,不好。 刚开始用纯jdk,过一般时间用EditPlus等这样的工具,以后推荐使用Eclipse,因为是开源,也就是免费的。 JDK Borland 的JBuilder JBuilder,JDeveloper,VisualAge for Java jcreater. 常见的十五种Java开发工具的特点 1、JDK (Java Development Kit)Java开发工具集 从初学者角度来看,采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系, 有利于理解Java面向对象的设计思想。JDK的另一个显著特点是随着Java (J2EE、J2SE 以及J2ME)版本的升级而升级。但它的缺点也是非常明显的就是从事大规模企业级Java 应用开发非常困难,不能进行复杂的Java软件开发,也不利于团体协同开发。 2、Java Workshop 3、NetBeans 与Sun Java Studio 5 NetBeans是开放源码的Java集成开发环境(IDE),适用于各种客户机和Web应用。 Sun Java Studio是Sun公司最新发布的商用全功能Java IDE,支持Solaris、Linux和Win dows平台,适于创建和部署2层Java Web应用和n层J2EE应用的企业开发人员使用。 NetBeans是业界第一款支持创新型Java开发的开放源码IDE。开发人员可以利用业界 强大的开发工具来构建桌面、Web或移动应用。同时,通过NetBeans和开放的API的模块 化结构,第三方能够非常轻松地扩展或集成NetBeans平台。 NetBeans3.5.1主要针对一般Java软件的开发者,而Java One Studio5则主要针对企 业做网络服务等应用的开发者。Sun不久还将推出Project Rave,其目标是帮助企业的开 发者进行软件开发。NetBeans 3.5.1版本与其他开发工具相比,最大区别在于不仅能够 开发各种台式机上的应用,而且可以用来开发网络服务方面的应用,可以开发基于J2ME 的移动设备上的应用等。在NetBeans 3.5.1基础上,Sun开发出了Java One Studio5,为用户提供了一个更加先进的企业编程环境。在新的Java One Studio5里有一个应用框架,开发者可以利用这些模块快速开发自己在网络服务方面 的各种应用程序。 4、Borland 的JBuilder Jbuilder进入了Java集成开发环境的王国,它满足很多方面的应用,尤其是对于服 务器方以及EJB开发者们来说。下面简单介绍一下Jbuilder的特点: 1)Jbuilder支持最新的Java技术,包括Applets、JSP/Servlets、JavaBean以及EJB (Enterprise JavaBeans)的应用。 2)用户可以自动地生成基于后端数据库表的EJB Java类,Jbuilder同时还简化了EJ B的自动部署功能.此外它还支持CORBA,相应的向导程序有助于用户全面地管理IDL(分布 应用程序所必需的接口定义语言Interface Definition Language)和控制远程对象。 3)Jbuilder支持各种应用服务器。Jbuilder与Inprise Application Server紧密集 成,同时支持WebLogic Server,支持EJB 1.1和EJB 2.0,可以快速开发J2EE的电子商务 应用。 4)Jbuilder能用Servlet和JSP开发和调试动态Web 应用。 5)利用Jbuilder可创建(没有专有代码和标记)纯Java2应用。由于Jbuilder是用纯J ava语言编写的,其代码不含任何专属代码和标记,它支持最新的Java标准。 6)Jbuilder拥有专业化的图形调试介面,支持远程调试和多线程调试,调试器支持 各种JDK版本,包括J2ME/J2SE/J2EE。 JBuilder环境开发程序方便,它是纯的Java 开发环境,适合企业的J2EE开发;缺点 是往往一开始人们难于把握整个程序各部分之间的关系,对机器的硬件要求较高,比较 吃内存,这时运行速度显得较慢。 5、Oracle 的JDeveloper Oracle9i JDeveloper(定为9.0版,最新为10g)为构建具有J2EE功能,XML和Web services的复杂的,多层的Java应用程序提供了一个完全集成的开发环境。它为运用Ora cle9i数据库和应用服务器的开发人员提供特殊的功能和增强性能,除此以外,它也有资 格成为用于多种用途Java开发的一个强大的工具。 Oracle9i JDeveloper的主要特点如下: ① 具有UML(Unified Modeling Language,一体化建模语言)建模功能。可以将业 务对象及e-business应用模型化。 ② 配备有高速Java调试器(Debuger)、内置Profiling工具、提高代码质量的工具 “CodeCoach”等。 ③ 支持SOAP(Simple Object Access Protocol)“简单对象访问协议”、UDDI(U niversal Description, Discovery and Integration)“统一描述、发现和集成协议” 、WSDL(Web Services Description Language)“WEB服务描述语言”等Web服务标准。 JDeveloper 不仅仅是很好的 Java 编程工具,而且是 Oracle Web 服务的延伸,支 持 Apache SOAP,以及 9iAS ,可扩充的环境和 XML 和 WSDL 语言紧密相关。Oracle9i Jdeveloper完全利用Java编写,能够与以前的Oracle服务器软件以及其他厂商支持J2EE 的应用服务器产品相兼容,而且在设计时着重针对Oracle9i,能够无缝化跨平台之间的 应用开发,提供了业界第一个完整的、集成了J2EE和XML的开发环境,允许开发者快速开 发可以通过Web、无线设备及语音界面访问的Web服务和交易应用,以往只能通过将传统J ava编程技巧与最新模块化方式结合到一个单一集成的开发环境中之后才能完成J2EE应用 开发生命周期管理的事实,从根本上得到改变。缺点就是对于初学者来说,较复杂,也 比较难。 6、IBM的Visual Age for Java Visual Age for Java是一个非常成熟的开发工具,它的特性以于IT开发者和业余的 Java编程人员来说都是非常用有用的。它提供对可视化编程的广泛支持,支持利用CICS 连接遗传大型机应用,支持EJB的开发应用,支持与Websphere的集成开发,方便的bean 创建和良好的快速应用开发(RAD)支持和无文件式的文件处理。 IBM为建设Web站点所推出的WebSphere Studio Advanced Edition及其包含的Visual Age for Java Professional Edition软件已全面转向以Java为中心,这样,Java开发人 员对WebSphere全套工具的感觉或许会好了许多。Studio所提供的工具有:Web站点管理 、快速开发 JDBC页向导程序、HTML编辑器和HTML语法检查等。这确实是个不错的HTML站 点页面编辑环境。Studio和VisualAge集成度很高,菜单中提供了在两种软件包之间快速 移动代码的选项。这就让使用Studio的Web页面设计人员和使用VisualAge的Java程序员 可以相互交换文件、协同工作。 Visual Age for Java支持团队开发,内置的代码库可以自动地根据用户做出改动而 修改程序代码,这样就可以很方便地将目前代码和早期版本做出比较。与Visual Age紧 密结合的Websphere Studio本身并不提供源代码和版本管理的支持,它只是包含了一个 内置文件锁定系统,当编辑项目的时候可以防止其他人对这些文件的错误修改,软件还支 持诸如Microsoft Visual SourceSafe这样的第三方源代码控制系统。Visual Age for Java完全面向对象的程序设计思想使得开发程序非常快速、高效。你可以不编写任何代 码就可以设计出一个典型的应用程序框架。Visual Age for Java作为IBM电子商务解决 方案其中产品之一,可以无缝地与其他IBM产品,如WebSphere、DB2融合, 迅速完成从设 计、开发到部署应用的整个过程。 Visual Age for Java独特的管理文件方式使其集成外部工具非常困难,你无法让Vis ual Age for Java与其他工具一起联合开发应用。 7、BEA 的 WebLogic Workshop BEA WebLogic Workshop是一个统一、简化、可扩展的开发环境,使所有的开发人员 都能在 BEA WebLogic Enterprise Platform之上构建基于标准的企业级应用,从而提高 了开发部门的生产力水平,加快了价值的实现。 WebLogic Workshop除了提供便捷的Web服务之外,它能够用于创建更多种类的应用 。作为整个BEA WebLogic Platform的开发环境。不管是创建门户应用、编写工作流、还 是创建Web应用,Workshop 8.1都可以帮助开发人员更快更好地完成。 WebLogic Workshop的主要特点如下: ① 使 J2EE 开发切实可行,提高开发效率 BEA WebLogic Workshop 使开发人员远离 J2EE 内在的复杂性,集中精力专注业务 逻辑,无须操心单调乏味的基础结构代码。这种创新意味着,已被企业验证的 J2EE 的 强大功能,最终被大多数不熟悉 Java 和 J2EE 的应用开发人员所掌握,从而使 IT 部 门的工作效率提高一个数量级。 可视化设计器以及直观的概念,如事件、属性和控件等,实现了基于事件的开发。W orkshop 简化的程序设计模型,使开发人员不必掌握复杂的 J2EE API 和面向对象的程 序设计原理。所有开发人员,包括 J2EE 专家和具有可视化和过程化语言技能的应用开 发人员在内,都可以共同工作在 BEA WebLogic Enterprise Platform 之上。Workshop 的可视化开发环境,创建带有代码注释的标准 Java 文件,用来说明由运行时框架实施 的企业级需求。J2EE 和其他高级开发人员,借助功能强大的代码编辑功能,可以访问 Java 源代码,从而弥补了可视化设计器的不足。 ② 构建企业级应用 通过在可伸缩、安全可靠的企业级架构上实施各种应用,BEA WebLogic Workshop 大大降低了开发风险。而且,所有应用的创建都使用标准的 J2EE 组件,既保 护了您的技术投资,又保持了最大的灵活性。 BEA WebLogic Workshop 运行框架,是统一整个架构的汇聚层,使单一、简化的程序设 计模型扩展到所有的 BEA WebLogic Enterprise Platform 应用类型。通过解释设计时 创建的注释代码,运行时框架可以实现必要的 J2EE 组件,并且提取出与 J2EE 应用开 发有关的所有底层细节。 ③ 降低 IT 复杂性 BEA WebLogic Workshop 提供各种 Java 控件,使得与 IT 资源的连接更轻而易举 。另外,在构建任何 BEA WebLogic Platform 的应用中,Java 控件不仅可扩展而且完 全相同。这种强大、有效的方法能够:降低 IT 技术的复杂性,优化信息的可用性,推 动包含&最佳业务方案&的可重用服务的开发,使开发人员能以更低的成本、更短的时间 实现更大的产出。 利用 BEA WebLogic Workshop,任何开发人员都能以最大的生产效率,构建各种 Web 服务、Web 应用、门户和集成项目。BEA WebLogic Workshop是BEA的产品战略核心 ,它帮助客户接触和利用面向服务架构(SOA)的强大功能。BEA Weblogic Workshop 8.1极大简化了当前实际企业集成环境中企业级应用和服务的构建,并成为全面支持关键 企业级应用(如异步、真正松耦合和粗粒度消息传送等)的自然选择。它的缺点就是过于 复杂,对于初学者来说,理解起来较为困难。 8、WebGain 的Visual Cafe for Java Visual Cafe 是只能在Symantec公司的Java虚拟机、Netscape公司的Java虚拟机和M icrosoft虚拟机上工作的调试器。这对于开发者来讲是一个重要的特性,因为用户开发的 Java代码中的许多软件bug就可能中会在某种特定的虚拟机上起作用。 在修改后进行编译基继续进行调试时,Visual Cafe会自动将文件存盘,使用Visual Cafe创建的原生应用具有许多特点。除了明显的速度提高之外,Symantec使类库的二进制 方式比正常的JDK小Visual Cafe为所指定的关系自动生成或更新必要的Java代码。利用V isual Cafe,用户可以从一个标准对象数据库中集合完整的Java应用程序和Applet,而 不必再编写源代码。Visual Cafe还提供了一个扩充的源代码开发工具集。 Visual Cafe综合了Java软件的可视化源程序开发工具,它允许开发人员在可视化视 图和源视图之间进行有效地转换。在可视化视图中进行的修改立即反映在源代码中。对 源代码的改变自动更新可视化视图。 Visual Cafe具有许多源文件方面的特性,如全局检索和替换。绝大多数Java开发工 具的文献的问题在于简单地挨个介绍开发工具的每部分组件,但用户在开应用时还需要 一个面向任务的手册,利用这个手册你可以不必知道工具每一部分的特定功能就可以开 始创建自己的应用。Visual Cafe提供了非常全面的用户指南,它对最开始的安装到创建 第一个Java应用和Applet都提供了全面的帮助,Visual Cafe将自动生成所指明关系的必 要Java代码。Visual Cafe可以在Windows 95和Windows NT平台下运行,Symantec公司为 Java开发工作提供一个在Macintosh操作系统下可以运行的RAD工具。Visual Cafe编译器 速度很快,在国际化支持方面比较突出;缺点就是对于初学者来说,较复杂,也比较难 。 9、Macromedia的JRUN Macromedia公司的JRun是一个具有最广阔适用性的Java引擎,用于开发及实施由Jav a Servlets和JavaServer Pages编写的服务器端Java应用。JRun是第一个完全支持JSP 1.0 规格书的商业化产品,全球有超过80,000名开发人员使用JRun在他们已有的Web服务 器上添加服务器端Java的功能。其中Web服务器包括了Microsoft IIS,Netscape Enterprise Server,Apache等。 JRun是开发实施服务器端Java的先进引擎。如果我们希望在我们的Web应用中添加服 务器端Java功能,那么JRun将成为我们的正确选择。 JRun目前有3个版本,它是第一个支持Java Server Pages(JSP)规格书1.0的商业化 产品。JSP是一种强大的服务器端技术,它是用于创建复杂Web应用的一整套快速应用开 发系统。JRun可以使我们开始开发并测试Java应用。它最多接受5个并发的连接并且包括 全部Java Servlet API,支持JavaServer Pages(JSP),支持所有主要的Web servers和计算机平台。 JRun Pro能够在生产环境下承受大访问量的负载,帮助我们实 施应用、服务或Web站点(包括内联网)。JRun Pro 支持无限量并发式连接运行多个Jav a虚拟机,包括多个并发的Java虚拟机(JVM)。提供一个远程管理applet以及一个远程 可再分布式的管理applet。JRun Pro Unlimited包括了所有JRun Pro的功能,除次以外 ,还可以运行无限量的,并发的JVM。 JRun依靠其内置的JRun Web Server可以单独运行。使用服务器端Java,用户可以开 发出复杂的商业应用系统。最重要的一点是,由于servlets的平台独立性,以及更加简 单的开发、更快速的实施、更经济的维护成本,它是CGI(Common Gateway Interface)或Perl scripts的极佳的替代产品。缺点就是对于初学者来说,较复杂,也 比较难。 10、JCreator JCreator 是一个Java程序开发工具,也是一个Java集成开发环境(IDE)。无论你 是要开发Java应用程序或者网页上的Applet元件都难不倒它。在功能上与Sun公司所公布 的JDK等文字模式开发工具相较之下来得容易,还允许使用者自订义操作窗口界面及无限 Undo/Redo等功能。 JCreator为用户提供了相当强大的功能,例如项目管理功能,项目模板功能,可个 性化设置语法高亮属性、行数、类浏览器、标签文档、多功能编绎器,向导功能以及完 全可自定义的用户界面。通过JCreator,我们不用激活主文档而直接编绎或运行我们的J AVA程序。 JCreator能自动找到包含主函数的文件或包含Applet的Html文件,然后它会运行适 当的工具。在JCreator中,我们可以通过一个批处理同时编绎多个项目。JCreator的设 计接近Windows界面风格,用户对它的界面比较熟悉。其最大特点是与我们机器中所装的 JDK完美结合,是其它任何一款IDE所不能比拟的。它是一种初学者很容易上手的java开 发工具,缺点是只能进行简单的程序开发,不能进行企业J2EE的开发应用。 11、Eclipse Eclipse是一种可扩展的开放源代码IDE。2001年11月,IBM公司捐出价值4,000万美 元的源代码组建了Eclipse联盟,并由该联盟负责这种工具的后续开发。集成开发环境(I DE)经常将其应用范围限定在“开发、构建和调试”的周期之中。为了帮助集成开发环境 (IDE)克服目前的局限性,业界厂商合作创建了Eclipse平台。Eclipse允许在同一IDE中 集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改变了项目工作 流程,使开发者可以专注在实际的嵌入式目标上。 Eclipse框架的这种灵活性来源于其扩展点。它们是在XML中定义的已知接口,并充 当插件的耦合点。扩展点的范围包括从用在常规表述过滤器中的简单字符串,到一个Jav a类的描述。任何Eclipse插件定义的扩展点都能够被其它插件使用,反之,任何Eclipse 插件也可以遵从其它插件定义的扩展点。除了解由扩展点定义的接口外,插件不知道它 们通过扩展点提供的服务将如何被使用。 利用Eclipse,我们可以将高级设计(也许是采用UML)与低级开发工具(如应用调试器 等)结合在一起。如果这些互相补充的独立工具采用Eclipse扩展点彼此连接,那么当我 们用调试器逐一检查应用时,UML对话框可以突出显示我们正在关注的器件。事实上,由 于Eclipse并不了解开发语言,所以无论Java语言调试器、C/C++调试器还是汇编调试器 都是有效的,并可以在相同的框架内同时瞄准不同的进程或节点。 Eclipse的最大特点是它能接受由Java开发者自己编写的开放源代码插件,这类似于 微软公司的Visual Studio和Sun微系统公司的NetBeans平台。Eclipse为工具开发商提供 了更好的灵活性,使他们能更好地控制自己的软件技术。Eclipse联盟已经宣布将在2004 年中期发布其3.0版软件。这是一款非常受欢迎的java开发工具,这国内的用户越来越多 ,实际上实用它java开发人员是最多的。缺点就是较复杂,对初学者来说,理解起来比 较困难。 13、Ant Another Neat Tool(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开发人员的构建工具,它可以在Windows OS和Unix OS下运行 ,它不仅开放源码并且还是一个非常好用的工具。Ant是Apache Jakarta中一个很好用的 Java开发工具,Ant配置文件采用XML文档编写,所以Java程序员对其语法相当熟悉,Ant 是专用于Java项目平台,能够用纯Java来开发,它能够运行于Java安装的平台,即体现 了它的跨平台功能。它的缺点显示执行结果只能是DOS字符界面,不能进行复杂的java程 序开发。 14、IntelliJ Intellij IDEA是一款综合的Java 编程环境,被许多开发人员和行业专家誉为市场 上最好的IDE。它提供了一系列最实用的的工具组合:智能编码辅助和自动控制,支持J2 EE,Ant,JUnit和CVS集成,非平行的编码检查和创新的GUI设计器。IDEA把Java开发人 员从一些耗时的常规工作中解放出来,显著地提高了开发效率。具有运行更快速,生成 更好的代码;持续的重新设计和日常编码变得更加简易,与其它工具的完美集成;很高 的性价比等特点。在4.0版本中支持Generics,BEA WebLogic集成,改良的CVS集成以及G UI设计器。 IntelliJ IDEA能尽可能地促进程序员的编程速度。它包括了很多辅助的功能,并且 与Java结合得相当好。不同的工具窗口围绕在主编程窗口周围,当鼠标点到时即可打开 ,无用时也可轻松关闭,使用户得到了最大化的有效屏幕范围。以技术为导向的IDEA集 成了调试器,支持本地和远程的调试,即使我们需要修改一些设置上的东西使我们的工 作顺利进展。另外,它还提供了通常的监视,分步调试以及手动设置断点功能,在这种 断点模式下,我们可以自动地在断点之外设置现场访问,甚至可以浏览不同的变量的值 。IDE支持多重的JVM设置,几个编译程序和Ant建造系统,并且,它使得设置多重的自定 义的类途径变得简单。 IntelliJ Idea是一个相对较新的Java IDE。它是Java开发环境中最为有用的一个。 高度优化的IntelleJ Idea使普通任务变得相当容易,Idea支持很多整合功能,更重要的 使它们设计的好容易使用。Idea支持XML中的代码实现,Idea同时还会校正XML,Idea支 持JSP的结构。作用于普通Java代码的众多功能同样适用于JSP(比如整合功能),同时 支持JSP调试;支持EJB,尽管它不包括对个别应用服务器的特殊支持。Idea支持Ant建立 工具,不仅是运行目标它还支持编译与运行程序前后运行目标,另外也支持绑定键盘快 捷键。在编辑一个Ant建立XML文件时,Idea还对组成Ant工程的XML部分提供支持。Intel liJ IDEA 被称为是最好的JAVA IDE开发平台,这套软件就是以其聪明的即时分析和方便 的 refactoring 功能深获大家所喜爱。缺点是较复杂,对初学者来说,理解起来比较困 难。
向医生提问
完善患者资料:*性别:
为您推荐:
您可能关注的推广
* 百度拇指医生解答内容由公立医院医生提供,不代表百度立场。
* 由于网上问答无法全面了解具体情况,回答仅供参考,如有必要建议您及时当面咨询医生

我要回帖

更多关于 python的环境变量配置 的文章

 

随机推荐