1. 背景(Background)
虽然工作是从事WEB应用程序开发已经多年,但也不会太关注于底层的网络协议,一年前把网络协议HTTP、FTP规范粗略的看了一遍,就用Socket基于这两种协议写了一个多线程下载组件,后来又用Swing为之开发了界面,但基于Swing功底太差了,开发出来的东西怎么看都觉得别扭,最后发现NETBEANS平台是个不错的开发桌面应用程序框架,提供容器管理我们的桌面应用程序,这正如我们开发WEB应用程序一样,于是发时间研究了一下,经历了无数个夜晚的煎熬,终于成功的将前台移到NETBEANS平台上,在这里发出来给大家分享一下。
2. 目的(Objective)
在Windows平台下面,迅雷可谓是一手遮天,凭借着卓越的下载速度几乎挤兑所有的下载工具,而它并未提供Linux版,当初玩Linux常为此苦恼,这也是开发此下载工具的动力。当然,在单资源的情况下多线程的情况下,提现不出太大的优势,项目的目的是能在某一范围提供优越的下载速度,以得到推广,而不是走马观花,后继考虑实现BT多资源多线程下载,成为项目的亮点,以便推广。
3. 项目范围(Project Range)
软件暂时实了HTP,FTP多线程下载功能,其操作方式与迅雷类似。软件分为两个部分,JDownloader和JDownload Component, JDownlaoder是利用NetBeans平台所开发的UI,可以无障碍的进行功能添加,JDownlaod Component作为下载组件,可提供可扩展的多线程下载服务。本软件在1.6版本的JDK上开发,要求1.6以上的java运行环境。
下载组件所具备的持点
1) 作为组件实现通用下载功能,提供方便可展的API给应用程序使用。使得应用程序能够方便的管理下载生命周期,并能轻松加入自己扩展的功能到其中。’
2) 具有记忆功能,当下载出现异常被迫停止或用户触发停止时,要求记录完成的数据范围,当第二次下载时,接着上次记录的数据范围继续下载
3) 具有自动管理下载线程功能,当某个线重提前完成自己的下载的数据范围后将分当下载最慢的线程的数据范围;同样,当个别线程网络通讯,磁盘 I/O 上上发生导常而被中断时,它将会再一次被唤醒。
4) 良好的异常处理,确保下载的完整性。
5) 提供良好可扩展性。新的协议被采用后,能轻松的增加对协议的支持。
6) 支持多个线程、多资源下载,当然,下载资源是可贵的,这里所说的支持多资源下载指的是组件需要为多资源平台提供扩展。
项目地址
http://code.google.com/p/jdownload/
- 大小: 111.6 KB
- 大小: 120.4 KB
分享到:
相关推荐
这个小项目实例是为初学者设计的,旨在帮助他们快速入门并理解如何在NetBeans中创建和管理项目。以下是一些关于NetBeans和这个特定项目的知识点: 1. **NetBeans IDE**:NetBeans是一个开源的开发工具,支持多种...
这个实例包集合了多个常用实例,旨在帮助开发者快速理解和掌握NetBeans IDE的使用技巧,提高开发效率。以下是对这些实例的详细解读: 1. **Java GUI应用开发**:NetBeans在Java GUI开发方面提供了丰富的支持,例如...
首先,NetBeans是一个开源的、跨平台的Java IDE,支持多种编程语言和项目类型,包括Web应用开发。在NetBeans中开发Web服务通常会用到JavaServer Pages (JSP)、Servlets或者Java EE框架如JavaServer Faces (JSF)。 ...
本实例将深入探讨如何在NetBeans中使用`CardLayout`来创建卡片式窗口。 `CardLayout`是Java Swing库中的一个布局管理器,主要负责管理容器中组件的排列方式。它的核心功能是切换不同组件的可见性,使得在有限的空间...
在Java的Swing库中,创建用户界面时,TabbedPane是一个常见的组件,用于展示多个面板或内容区域。然而,标准的javax.swing.JTabbedPane并没有内置的关闭选项,这使得开发者在需要实现类似浏览器那样的可关闭标签功能...
1. 下载 Netbeans:我们可以从 Netbeans 官方网站下载 Netbeans 8.2,选择合适的版本并下载。 2. 安装 Java 8:在 Ubuntu 操作系统上,默认情况下可能不是 Java 8 版本。我们需要卸载所有其他版本的 Java,并安装 ...
3. **Swing组件库**:NetBeans平台基于Java Swing,书中可能涵盖了如何使用Swing组件创建用户界面,包括自定义组件和布局管理。 4. **事件处理**:解释NetBeans平台中的事件模型,如何注册监听器和处理用户交互。 ...
在本项目中,"java+netbeans+swing MP3程序" 是一个使用Java语言,并在NetBeans IDE上开发的用户界面应用,主要用于处理或播放MP3音频文件。 Swing是Java Foundation Classes (JFC)的一部分,提供了一组用于创建...
《NetBeans富客户端编程权威教程》是一本深入探讨如何利用NetBeans平台进行高效、复杂的桌面应用开发的专业书籍。NetBeans是Java开发环境中的一个强大工具,尤其在构建富客户端应用程序(Rich Client Applications, ...
在使用 NetBeans IDE 之前,需要下载并安装 NetBeans IDE 中国教育考试版(2007)。下载地址为 http://www.neea.edu.cn、http://www.ncre.cn/和 http://211.151.94.22/TT/NB_NCRE_V2_0711.zip。下载完成后,解压缩到...
下面将详细介绍NetBeans平台下开发学生信息管理系统涉及的关键知识点。 1. **Java编程语言**:Java是学生信息管理系统的基础,它是一种跨平台的面向对象编程语言。Java的面向对象特性使得代码可读性高、易于维护,...
本文将详细介绍如何在Eclipse和NetBeans之间进行项目转换,以实现跨平台的项目兼容性。 #### Eclipse项目转换至NetBeans **步骤一:准备工作** 确保Eclipse项目位于非中文路径下,这是为了避免字符编码问题导致的...
- **NetBeans IDE**:下载最小版本的 NetBeans IDE(即 Java SE 版本),该版本提供了 NetBeans 平台工具包,包括模板和示例项目。你可以选择使用 Ant 或 Maven 构建系统来进行项目构建。 - **命令行 Maven**:使用 ...
随着Java 7的发展和JSR-296的停滞,更多的团队选择NetBeans作为Swing应用的下一步解决方案,尤其是在需要生命周期管理、Action系统和Task的情况下。 【部分内容】: 1. **遵循CRUD教程**:开始使用NetBeans平台时...
Java Homework Projects A NetBeans GUI Swing Programming Tutorial(8th) 英文epub 第8版 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
Swing是Java的一部分,用于创建图形用户界面,而NetBeans IDE是一个为Java等语言提供开发环境的集成开发平台。本教程主要介绍了以下几个方面的知识点: 1. **NetBeans IDE中的Swing GUI设计**: - NetBeans IDE...
【标题】"Netbeans-word-processor:基于Netbeans平台的文字处理示例项目" 【描述】"Netbeans-word-processor是一个在Netbeans平台上构建的示例项目,它展示了如何利用Java技术来开发一个基本的文字处理应用。这个...
2. **安装和配置Hibernate**:在Netbeans中,首先需要下载并添加Hibernate库到项目类路径中。这通常通过IDE的“项目”面板中的“库”选项完成,然后导入所需的Hibernate JAR文件。 3. **创建Hibernate项目**:新建...
《NetBeans平台7的终极指南》是一本深入探讨NetBeans平台第7版的全面书籍,旨在为开发者提供从基础知识到高级应用的全方位指导。NetBeans平台是一个强大的开发环境,广泛用于构建复杂的桌面、网络和企业级应用程序。...