十四种Java开发工具点评-Java基础-Java-编程开发

Java studio 如果你想,或者正在为java 苦恼者,请尝试该工具吧,使用方便! 立即下载
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

图形界面的java开发工具

JDK

Borland的JBuilder

JBuilder,JDeveloper,VisualAgeforJava

jcreater.

常见的十五种Java开发工具的特点

1、JDK(JavaDevelopmentKit)Java开发工具集

从初学者角度来看,采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,

有利于理解Java面向对象的设计思想。JDK的另一个显著特点是随着Java(J2EE、J2SE

以及J2ME)版本的升级而升级。但它的缺点也是非常明显的就是从事大规模企业级Java

应用开发非常困难,不能进行复杂的Java软件开发,也不利于团体协同开发。

2、JavaWorkshop

3、NetBeans与SunJavaStudio5

NetBeans是开放源码的Java集成开发环境(IDE),适用于各种客户机和Web应用。

SunJavaStudio是Sun公司最新发布的商用全功能JavaIDE,支持Solaris、Linux和Win

dows平台,适于创建和部署2层JavaWeb应用和n层J2EE应用的企业开发人员使用。

NetBeans是业界第一款支持创新型Java开发的开放源码IDE。开发人员可以利用业界

强大的开发工具来构建桌面、Web或移动应用。同时,通过NetBeans和开放的API的模块

化结构,第三方能够非常轻松地扩展或集成NetBeans平台。

NetBeans3.5.1主要针对一般Java软件的开发者,而JavaOneStudio5则主要针对企

业做网络服务等应用的开发者。Sun不久还将推出ProjectRave,其目标是帮助企业的开

发者进行软件开发。NetBeans3.5.1版本与其他开发工具相比,最大区别在于不仅能够

开发各种台式机上的应用,而且可以用来开发网络服务方面的应用,可以开发基于J2ME

的移动设备上的应用等。在NetBeans3.5.1基础上,Sun开发出了Java

OneStudio5,为用户提供了一个更加先进的企业编程环境。在新的Java

OneStudio5里有一个应用框架,开发者可以利用这些模块快速开发自己在网络服务方面

的各种应用程序。

4、Borland的JBuilder

Jbuilder进入了Java集成开发环境的王国,它满足很多方面的应用,尤其是对于服

务器方以及EJB开发者们来说。下面简单介绍一下Jbuilder的特点:

1)Jbuilder支持最新的Java技术,包括Applets、JSP/Servlets、JavaBean以及EJB

(EnterpriseJavaBeans)的应用。

2)用户可以自动地生成基于后端数据库表的EJBJava类,Jbuilder同时还简化了EJ

B的自动部署功能.此外它还支持CORBA,相应的向导程序有助于用户全面地管理IDL(分布

应用程序所必需的接口定义语言InterfaceDefinitionLanguage)和控制远程对象。

3)Jbuilder支持各种应用服务器。Jbuilder与InpriseApplicationServer紧密集

成,同时支持WebLogicServer,支持EJB1.1和EJB2.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

Oracle9iJDeveloper(定为9.0版,最新为10g)为构建具有J2EE功能,XML和Web

services的复杂的,多层的Java应用程序提供了一个完全集成的开发环境。它为运用Ora

cle9i数据库和应用服务器的开发人员提供特殊的功能和增强性能,除此以外,它也有资

格成为用于多种用途Java开发的一个强大的工具。

Oracle9iJDeveloper的主要特点如下:

①具有UML(UnifiedModelingLanguage,一体化建模语言)建模功能。可以将业

务对象及e-business应用模型化。

②配备有高速Java调试器(Debuger)、内置Profiling工具、提高代码质量的工具

“CodeCoach”等。

③支持SOAP(SimpleObjectAccessProtocol)“简单对象访问协议”、UDDI(U

niversalDescription,DiscoveryandIntegration)“统一描述、发现和集成协议”

、WSDL(WebServicesDescriptionLanguage)“WEB服务描述语言”等Web服务标准。

JDeveloper不仅仅是很好的Java编程工具,而且是OracleWeb服务的延伸,支

持ApacheSOAP,以及9iAS,可扩充的环境和XML和WSDL语言紧密相关。Oracle9i

Jdeveloper完全利用Java编写,能够与以前的Oracle服务器软件以及其他厂商支持J2EE

的应用服务器产品相兼容,而且在设计时着重针对Oracle9i,能够无缝化跨平台之间的

应用开发,提供了业界第一个完整的、集成了J2EE和XML的开发环境,允许开发者快速开

发可以通过Web、无线设备及语音界面访问的Web服务和交易应用,以往只能通过将传统J

ava编程技巧与最新模块化方式结合到一个单一集成的开发环境中之后才能完成J2EE应用

开发生命周期管理的事实,从根本上得到改变。缺点就是对于初学者来说,较复杂,也

比较难。

6、IBM的VisualAgeforJava

VisualAgeforJava是一个非常成熟的开发工具,它的特性以于IT开发者和业余的

Java编程人员来说都是非常用有用的。它提供对可视化编程的广泛支持,支持利用CICS

连接遗传大型机应用,支持EJB的开发应用,支持与Websphere的集成开发,方便的bean

创建和良好的快速应用开发(RAD)支持和无文件式的文件处理。

IBM为建设Web站点所推出的WebSphereStudioAdvancedEdition及其包含的Visual

AgeforJavaProfessionalEdition软件已全面转向以Java为中心,这样,Java开发人

员对WebSphere全套工具的感觉或许会好了许多。Studio所提供的工具有:Web站点管理

、快速开发JDBC页向导程序、HTML编辑器和HTML语法检查等。这确实是个不错的HTML站

点页面编辑环境。Studio和VisualAge集成度很高,菜单中提供了在两种软件包之间快速

移动代码的选项。这就让使用Studio的Web页面设计人员和使用VisualAge的Java程序员

可以相互交换文件、协同工作。

VisualAgeforJava支持团队开发,内置的代码库可以自动地根据用户做出改动而

修改程序代码,这样就可以很方便地将目前代码和早期版本做出比较。与VisualAge紧

密结合的WebsphereStudio本身并不提供源代码和版本管理的支持,它只是包含了一个

内置文件锁定系统,当编辑项目的时候可以防止其他人对这些文件的错误修改,软件还支

持诸如MicrosoftVisualSourceSafe这样的第三方源代码控制系统。VisualAgefor

Java完全面向对象的程序设计思想使得开发程序非常快速、高效。你可以不编写任何代

码就可以设计出一个典型的应用程序框架。VisualAgeforJava作为IBM电子商务解决

方案其中产品之一,可以无缝地与其他IBM产品,如WebSphere、DB2融合,迅速完成从设

计、开发到部署应用的整个过程。

VisualAgeforJava独特的管理文件方式使其集成外部工具非常困难,你无法让Vis

ualAgeforJava与其他工具一起联合开发应用。

7、BEA的WebLogicWorkshop

BEAWebLogicWorkshop是一个统一、简化、可扩展的开发环境,使所有的开发人员

都能在BEAWebLogicEnterprisePlatform之上构建基于标准的企业级应用,从而提高

了开发部门的生产力水平,加快了价值的实现。

WebLogicWorkshop除了提供便捷的Web服务之外,它能够用于创建更多种类的应用

。作为整个BEAWebLogicPlatform的开发环境。不管是创建门户应用、编写工作流、还

是创建Web应用,Workshop8.1都可以帮助开发人员更快更好地完成。

WebLogicWorkshop的主要特点如下:

①使J2EE开发切实可行,提高开发效率

BEAWebLogicWorkshop使开发人员远离J2EE内在的复杂性,集中精力专注业务

逻辑,无须操心单调乏味的基础结构代码。这种创新意味着,已被企业验证的J2EE的

强大功能,最终被大多数不熟悉Java和J2EE的应用开发人员所掌握,从而使IT部

门的工作效率提高一个数量级。

可视化设计器以及直观的概念,如事件、属性和控件等,实现了基于事件的开发。W

orkshop简化的程序设计模型,使开发人员不必掌握复杂的J2EEAPI和面向对象的程

序设计原理。所有开发人员,包括J2EE专家和具有可视化和过程化语言技能的应用开

发人员在内,都可以共同工作在BEAWebLogicEnterprisePlatform之上。Workshop

的可视化开发环境,创建带有代码注释的标准Java文件,用来说明由运行时框架实施

的企业级需求。J2EE和其他高级开发人员,借助功能强大的代码编辑功能,可以访问

Java源代码,从而弥补了可视化设计器的不足。

②构建企业级应用

通过在可伸缩、安全可靠的企业级架构上实施各种应用,BEAWebLogic

Workshop大大降低了开发风险。而且,所有应用的创建都使用标准的J2EE组件,既保

护了您的技术投资,又保持了最大的灵活性。

BEAWebLogicWorkshop运行框架,是统一整个架构的汇聚层,使单一、简化的程序设

计模型扩展到所有的BEAWebLogicEnterprisePlatform应用类型。通过解释设计时

创建的注释代码,运行时框架可以实现必要的J2EE组件,并且提取出与J2EE应用开

发有关的所有底层细节。

③降低IT复杂性

BEAWebLogicWorkshop提供各种Java控件,使得与IT资源的连接更轻而易举

。另外,在构建任何BEAWebLogicPlatform的应用中,Java控件不仅可扩展而且完

全相同。这种强大、有效的方法能够:降低IT技术的复杂性,优化信息的可用性,推

动包含"最佳业务方案"的可重用服务的开发,使开发人员能以更低的成本、更短的时间

实现更大的产出。

利用BEAWebLogicWorkshop,任何开发人员都能以最大的生产效率,构建各种

Web服务、Web应用、门户和集成项目。BEAWebLogicWorkshop是BEA的产品战略核心

,它帮助客户接触和利用面向服务架构(SOA)的强大功能。BEAWeblogicWorkshop

8.1极大简化了当前实际企业集成环境中企业级应用和服务的构建,并成为全面支持关键

企业级应用(如异步、真正松耦合和粗粒度消息传送等)的自然选择。它的缺点就是过于

复杂,对于初学者来说,理解起来较为困难。

8、WebGain的VisualCafeforJava

VisualCafe是只能在Symantec公司的Java虚拟机、Netscape公司的Java虚拟机和M

icrosoft虚拟机上工作的调试器。这对于开发者来讲是一个重要的特性,因为用户开发的

Java代码中的许多软件bug就可能中会在某种特定的虚拟机上起作用。

在修改后进行编译基继续进行调试时,VisualCafe会自动将文件存盘,使用Visual

Cafe创建的原生应用具有许多特点。除了明显的速度提高之外,Symantec使类库的二进制

方式比正常的JDK小VisualCafe为所指定的关系自动生成或更新必要的Java代码。利用V

isualCafe,用户可以从一个标准对象数据库中集合完整的Java应用程序和Applet,而

不必再编写源代码。VisualCafe还提供了一个扩充的源代码开发工具集。

VisualCafe综合了Java软件的可视化源程序开发工具,它允许开发人员在可视化视

图和源视图之间进行有效地转换。在可视化视图中进行的修改立即反映在源代码中。对

源代码的改变自动更新可视化视图。

VisualCafe具有许多源文件方面的特性,如全局检索和替换。绝大多数Java开发工

具的文献的问题在于简单地挨个介绍开发工具的每部分组件,但用户在开应用时还需要

一个面向任务的手册,利用这个手册你可以不必知道工具每一部分的特定功能就可以开

始创建自己的应用。VisualCafe提供了非常全面的用户指南,它对最开始的安装到创建

第一个Java应用和Applet都提供了全面的帮助,VisualCafe将自动生成所指明关系的必

要Java代码。VisualCafe可以在Windows95和WindowsNT平台下运行,Symantec公司为

Java开发工作提供一个在Macintosh操作系统下可以运行的RAD工具。VisualCafe编译器

速度很快,在国际化支持方面比较突出;缺点就是对于初学者来说,较复杂,也比较难。

[1] [2]

VisualAge for Java开发Servlets VisualAge for Java开发Servlets Servlets是Java编程环境中一个非常有生命力的新鲜事物,本文描述了Servlets,并介绍如何用VisualAge for Java迅速开发Servlets。Servlets开发中应用到的VisualAgeforJava的关键技术是VisualAgeforJava的模拟多种虚拟机环境的能力,以及代码增加编辑并连接到运行中的程序中的能力。 解压密码 www.jiangyea.com 立即下载

相关推荐

Programming with VisualAge for Java Version 2

Java Programming with VisualAge for Java Version 2

Visual Age for Java_VisualAge for Java使用技巧

VisualAge for Java使用技巧杨 旭 青IBM 的VisualAge for Java 是 一 个 功 能 强 大、 灵 活 的Java 编程 环 境, 本 文 介 绍 几 个 与 该 工 具 性 能 有 关 的 技 巧 与 秘诀。从 仓 库 中 删 除 代 码VisualAge 在 一 个 数 据 库 中 存 储 了 所 有Java 源 程 序 代 码、 类 文 件、 可 视 设 ...

weixin_34965737的博客 478

AI工作流革命:从n8n到Sora2,揭秘自动化视频创作的底层逻辑

本文深入探讨了AI工作流在自动化视频创作中的应用,重点介绍了n8n、Coze和Sora2的组合如何实现从链接输入到视频输出的全流程自动化。通过三层架构解析、关键技术模块优化及成本控制策略,这套方案显著提升了视频生产效率,适用于电商、热点追踪等多种场景。

gg901的博客 1089

java studio 下载_Android Studio下载安装

一. java环境配置这部分我就不具体写了,下载jdk,配置变量,网上教程很多jdk百度网盘链接:https://pan.baidu.com/s/1VqOh8Q_LDmmHL4jHjRgMpw 提取码:ce64二.Android Studio下载安装我们可以去http://www.android-studio.org/ 下载最新版本Android Studio,也可以用我分享的百度网盘链接:h...

weixin_42471237的博客 671

【网络图】:附Origin详细画图教程

网络图,是一种由节点(或顶点)和连接这些节点的边(或链路)组成的图形结构。在网络图中,节点通常代表系统中的一个实体(如项目中的一项任务、通信网络中的一个设备、或运输网络中的一个站点),而边则代表这些实体之间的直接联系或流动(如任务的先后顺序、数据的传输路径、或乘客的旅行路线)。 有向图:如果边具有方向性,即从一个节点指向另一个节点,则称为有向图。这种图常用于表示具有明确先后顺序或方向性的系统,如项目管理中的任务依赖关系。 无向图:如果图中的边没有方向,则称为无向图。它适用于表示实体间相互关联但无明确方向性的

weixin_50236590的博客 3956

易语言游戏Call调用避坑指南:主线程绑定与反检测实战

本文详细解析了易语言游戏Call调用中的主线程绑定与反检测技术,帮助开发者避免游戏崩溃和断线问题。通过分析线程检测原理、提供易语言实现方案及高级反检测技巧,如动态线程绑定和上下文伪装,确保Call调用的稳定性和安全性。文章还包含常见问题排查和性能优化建议,适用于游戏辅助开发领域。

weixin_29323365的博客 460

VisualAge使用技巧(二)

[关键字]VisualAge, Java开发工具1. 导入、导出功能 VA中的资源可以放在本地也可以放在服务器中,导入、导出功能就是实现本地和服务器 的代码交换功能,但要注意,从服务器中导入某版本后,还要用“替换”功能将当前代码 进行更新,否则导入的代码并非当前代码. 2. VA的各种窗口 一旦运行程序,VA就会显示出几种窗口:系统日志窗口、控制台,在设置了断点要进行 调试时还会打开调试窗口。

UFO_优快云的专栏 1256

从噪声中提取真相:LabVIEW振动信号积分处理的降噪艺术

本文深入探讨了LabVIEW在振动信号积分处理中的降噪技术,揭示了如何通过选择性频率加权从噪声中提取关键故障特征。详细介绍了时域和频域积分方法的实现原理及优化策略,并结合工业案例展示了多轴信号联合降噪的实际应用效果,为设备状态监测提供了高效解决方案。

weixin_29164185的博客 304

Web安全和渗透测试有什么关系?

做渗透测试的一个环节就是测试web安全,需要明白漏洞产生原理,通过信息收集互联网暴露面,进行漏洞扫描,漏洞利用,必要时进行脚本自编写和手工测试,力求挖出目标存在的漏洞并提出整改建议,当然如果技术再精一些,还要学习内网渗透(工作组和域环境),白盒审计,app,小程序渗透那些了......可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。总之,web安全包含于渗透测试,但不是渗透测试的全部。

Python_0011的博客 4863

第十五章数据管理成熟度评估【6’】(DAMA-CDGA 2022年以后历年模拟题真题汇总,基本包含所有考点。)

第十五章数据管理成熟度评估【6’】(DAMA-CDGA 2022年以后历年模拟题真题汇总,基本包含所有考点。)

JasonH2021的博客 405

Android 车联网——CarAudioService介绍(六)

CarAudioService 是 Android Automotive OS 中的一个重要组件,用于管理车辆中的音频功能。它是 Android Auto 的一部分,负责处理车辆音频的播放、控制和路由。CarAudioService 使用标准的 Android 组件架构,基于 Binder 通信机制,提供了一组 API,用于管理车辆音频。它包括以下主要功能:音频路由管理:CarAudioService 可以让开发者控制音频的路由,即将音频发送到不同的输出设备,例如车辆的扬声器、耳机等。

小旭的专栏 3202

java studio下载_Android Studio 安装

Android Studio 安装步骤1 - 系统要求可以在以下的操作系统开始 Android 应用程序开发:Microsoft® Windows® 8/7/Vista/2003 (32 or 64位)。Mac® OS X® 10.8.5 或者更高GNOME or KDE 桌面所有开发 Android 应用程序需要的工具都是开源的,并且可以从互联网上下载。以下是开始 Android 应用程序编程之...

weixin_31131927的博客 670

cuMotion 入门教程(一)面向机器人学的GPU加速运动生成技术

NVIDIA cuMotion是一款高性能机器人运动生成库,专注于机械操作任务,利用GPU加速技术提升性能。开发者预览版支持运动学/逆运动学、碰撞感知路径规划、轨迹优化等功能,兼容任意自由度机器人。该库提供C++和Python接口,支持从URDF/XRDF文件加载机器人模型,包含世界建模、碰撞检测等工具。教程详细介绍了安装配置、机器人描述加载、运动学计算、世界建模、逆运动学求解以及轨迹优化等核心功能。cuMotion整合了Lula和cuRobo库的技术优势,将成为Isaac ROS的核心组件,适用于工业机器

2506_90492529的博客 2204

网上收集的部分java资料

网上收集的部分。变身记 菜鸟Java入门手册群雄逐鹿 十四种Java开发工具点评JBuilder 9.0时尚编程剖析JBuilder 2005代码审查功能体验Java设计模式专辑JSP程序设计初级入门教程Java数据库接口JDBC入门基础讲座Java网络编程Enterprise JavaBean开发专辑全面解析JavaMailJAAS:灵活的Java安全机制Java游戏编程初步Java手机游戏开发

老杨的专栏 1186

BMS硬件设计要点:从STM32主控到BQ76920监控芯片的工程实践

电池管理系统(BMS)是锂电安全与寿命保障的核心,其硬件设计涉及微控制器选型、专用监控芯片接口、电源完整性、信号完整性及PCB布局等多维度协同。基于STM32与BQ76920的典型双层架构,需深入理解功能安全解耦原理——关键保护由ASIC硬件实现,算法决策交由MCU完成,契合ASIL-B等级要求。技术价值体现在毫秒级硬件保护响应、±10mV电压采样精度及抗EMI鲁棒性设计;广泛应用于电动工具、储能系统与轻型电动车等中高功率场景。本文聚焦BMS控制板硬件实现中的高频时钟EMC、I²C总线信号完整性、被动均衡可

weixin_30591519的博客 92

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

java参考资料

网上收集的部分。变身记 菜鸟Java入门手册群雄逐鹿 十四种Java开发工具点评JBuilder 9.0时尚编程剖析JBuilder 2005代码审查功能体验Java设计模式专辑JSP程序设计初级入门教程Java数据库接口JDBC入门基础讲座Java网络编程Enterprise JavaBean开发专辑全面解析JavaMailJAAS:灵活的Java安全机制Java游戏编程初步Java手机游戏开发

老杨的专栏 1653

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

十四种Java开发工具点评

十四种Java开发工具点评2004-06-29■作者:务实 在计算机开发语言的历史中,从来没有哪种语言象Java那样受到如此众多厂商的支持,有如此多的开发工具,Java菜鸟们如初入大观园的刘姥姥,看花了眼,不知该何种选择。的确,这些工具各有所长,都没有绝对完美的,就算是老鸟也很难做出选择。在本文中我简要介绍了常见的十五种Java开发工具的特点,管中窥“器”,希望能对大家有所帮助。 1、

bluevoyage的专栏 3055

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

[JAVA]十四种Java开发工具点评

[JAVA]十四种Java开发工具点评 作者:兄弟连 在计算机开发语言的历史中,从来没有哪种语言象Java那样受到如此众多厂商的支持,有如此多的开发工具,Java菜鸟们如初入大观园的刘姥姥,看花了眼,不知该何种选择。的确,这些工具各有所长,都没有绝对完美的,就算是老鸟也很难做出选择。在本文中我简要介绍了常见的十四种Java开发工具的特点,管中窥“器”,希望能对大家有所帮助。   1、JDK

weixin_36518553的博客 311

天极网 十四种Java开发工具点评

详情请看 群雄逐鹿十四种Java开发工具点评http://soft.yesky.com/SoftChannel/72348977504190464/20040629/1825534.shtml#9在计算机开发语言的历史中,从来没有哪种语言象Java那样受到如此众多厂商的支持,有如此多的开发工具,Java菜鸟们如初入大观园的刘姥姥,看花了眼,不知该何种选择。的确,这些工具各有所长,都没有绝对完...

yzd 181
上一篇: 一个中专生的程序员之路-Java基础-Java-编程开发
下一篇: 变态级JAVA程序员面试32问-Java基础-Java-编程开发
java169
博客等级 码龄19年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值