导航:首页 > 源码编译 > java上百实例源码以及开源项目源代码

java上百实例源码以及开源项目源代码

发布时间:2023-04-02 11:26:01

1. java开源项目有哪些

就是SUN公司开放了JAVA虚拟机和源码,下面引用下历史资料。2006年11月13日,Sun公司正式宣布使用GPLv2授权协议开放Java虚拟机和编译器的源代码,成为轰动Java社区和开源社区的一件盛事。Java诞生在1995年。在整个Java社团在掀开Java的第二个十年的新的一页时,开发者希望Java的发展能够继续保证其兼容性、互操作性和可靠性。正如Java之父James Gosling所说,“Java技术之所以这样广受欢迎,就是因为它能够涉及广泛的领域。你可以为应用服务器、为移动电话、为科研项目,为桌面应用,为网络游戏和嵌入式设备编写软件。Sun有责任,也有义务保证Java技术是相互兼容的,是可互操作的,是可靠的。所以我们要提供相应的支持。”此前,Sun已经为Solaris操作系统、NetBeans、Project Looking Glass、Project JXTA、Jini、OpenOffice、OpenSPARC和Java EE等技术开源,而今,Sun的所有Java核心技术都在同一GPLv2许可下开源,Sun以其坚定的步伐继续行驶在为其所有中间件开源的征途上。

2. 什么是java源代码 怎么查看

不知道你说的是浏览器的还是什么的,
如果是浏览器的那么简单找到工具-查看源代码,你就能看见代码了,
还有一个就是被编译成class文件的java用反编译工具可以看到源代码,
如果以上都不是你想要的答案,那么你所说的代码就是程序员写好的代码文件

3. Java开源项目有哪些

Rx 的 Java 实现 RxJava

star:26782;fork:4718

.Net响应式编程框架 Rx 的Java版本开源实现,有Groovy, Clojure, Scala and JRuby版本的实现。

分布式搜索引擎 ElasticSearch

star:24646;fork:8723

Elasticsearch 是一个分布式的 RESTful 风格的搜索和数据分析引擎,能够解决越来越多的用例。作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。这个实时的分布式搜索分析引擎, 它能让你以一个之前从未有过的速度和规模,去探索你的数据。

REST 客户端 Retrofit

star:23443;fork:4731

retrofit 是一个类型安全的 REST 客户端,用于 Android 平台。

HTTP+SPDY 客户端开发包 okhttp

star:21981;fork:5311

okhttp 是一个 Java 的 HTTP+SPDY 客户端开发包,同时也支持 Android。

Java 设计模式 java-design-patterns

star:21456;fork:7162

设计模式是程序员在设计应用程序或系统时解决常见问题的最佳实践,重用设计模式有助于防止可能导致重大问题的细微问题,同时熟悉模式的程序员和架构师的代码也更具可读性。

Google的Java常用类库 Guava

star:18414;fork:4327

Guava 中文是石榴的意思,该项目是 Google 的一个开源项目,包含许多 Google 核心的 Java 常用库。

Android 注解工具 ButterKnife

star:17845;fork:3662

Butter Knife 是 Android 视图字段和方法绑定,使用注解处理来生成样板代码。

4. GitHub上面有哪些经典的java框架源码

5. 什么是java开源项目谁能简单地给我讲一下!目的过程成果用途

Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。另一方面,Java技术也不断更新。
Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。目前常用的Java平台基于Java1.4,最近版本为Java1.7。
Java分为三个体系J2SE(Java2 Standard Edition),J2EE(Java 2 Platform,Enterprise Edition),J2ME(Java 2 Micro Edition)。
[编辑本段]Java语言特点
Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。
当1995年SUN推出Java语言之后,全世界的目光都被这个神奇的语言所吸引。那么Java到底有何神奇之处呢?
Java语言其实最早诞生于1991年,起初被称为OAK语言,是SUN公司为一些消费性电子产品而设计的一个通用环境。他们最初的目的只是为了开发一种独立于平台的软件技术,而且在网络出现之前,OAK可以说是默默无闻,甚至差点夭折。但是,网络的出现改变了OAK的命运。
在Java出现以前,Internet上的信息内容都是一些乏味死板的HTML文档。这对于那些迷恋于WEB浏览的人们来说简直不可容忍。他们迫切希望能在WEB中看到一些交互式的内容,开发人员也极希望能够在WEB上创建一类无需考虑软硬件平台就可以执行的应用程序,当然这些程序还要有极大的安全保障。对于用户的这种要求,传统的编程语言显得无能为力。SUN的工程师敏锐地察觉到了这一点,从1994年起,他们开始将OAK技术应用于WEB上,并且开发出了HotJava的第一个版本。当SUN公司1995年正式以Java这个名字推出的时候,几乎所有的WEB开发人员都心生感叹:噢,这正是我想要的!于是Java成了一颗耀眼的明星,丑小鸭一下了变成了白天鹅。
[编辑本段]Java主要特性

1、Java语言是简单的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。
2、Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++ 语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。
3、Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java.net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
4、Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。
5、Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。
6、Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件), 然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。
7、Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。
8、Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式, 然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。
9、Java是高性能的。与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。
10、Java语言是多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable) 的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。 Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。
11、Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。
[编辑本段]Java相关技术
1、JDBC(Java Database Connectivity)提供连接各种关系数据库的统一接口。
2、EJB(Enterprise JavaBeans)使得开发者方便地创建、部署和管理跨平台的基于组件的企业应用。
3、Java RMI(Java Remote Method Invocation)用来开发分布式Java应用程序。一个Java对象的方法能被远程Java虚拟机调用。这样,远程方法激活可以发生在对等的两端,也可以发生在客户端和服务器之间,只要双方的应用程序都是用Java写的。
4、Java IDL(Java Interface Definition Language) 提供与CORBA(Common Object Request Broker Architecture)的无缝的互操作性。这使得Java能集成异构的商务信息资源。
5、JNDI(Java Naming and Directory Interface)提供从Java平台到的统一的无缝的连接。这个接口屏蔽了企业网络所使用的各种命名和目录服务。
6、JMAPI(Java Management API)为异构网络上系统、网络和服务管理的开发提供一整套丰富的对象和方法。
7、JMS(Java Message Service)提供企业消息服务,如可靠的消息队列、发布和订阅通信、以及有关推拉(Push/Pull)技术的各个方面。
8、JTS(Java transaction Service)提供存取事务处理资源的开放标准,这些事务处理资源包括事务处理应用程序、事务处理管理及监控。
在Java技术中,值得关注的还有JavaBeans,它是一个开放的标准的组件体系结构,它独立于平台,但使用Java语言。一个JavaBean是一个满足JavaBeans规范的Java类,通常定义了一个现实世界的事物或概念。一个JavaBean的主要特征包括属性、方法和事件。通常,在一个支持JavaBeans规范的开发环境(如Sun Java Studio 和IBM VisualAge for Java)中,可以可视地操作JavaBean,也可以使用JavaBean构造出新的JavaBean。JavaBean的优势还在于Java带来的可移植性。现在,EJB (Enterprise JavaBeans) 将JavaBean概念扩展到Java服务端组件体系结构,这个模型支持多层的分布式对象应用。除了JavaBeans,典型的组件体系结构还有DCOM和CORBA,关于这些组件体系结构的深入讨论超出了本书的范围。
[编辑本段]Java开源项目
Spring Framework
Spring 是一个解决了许多在J2EE开发中常见的问题的强大框架。 Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的 Inversion of Control容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。 Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了 Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。 Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务--如果你需要--还能实现你自己的 aspects。这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。Spring还提供了可以和IoC容器集成的强大而灵活的MVC Web框架。.
WebWork
WebWork 是由OpenSymphony组织开发的,致力于组件化和代码重用的拉出式MVC模式J2EE Web框架。WebWork目前最新版本是2.1,现在的WebWork2.x前身是Rickard Oberg开发的WebWork,但现在WebWork已经被拆分成了Xwork1和WebWork2两个项目。 Xwork简洁、灵活功能强大,它是一个标准的Command模式实现,并且完全从web层脱离出来。 Xwork提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验证,类型转换,强大的表达式语言(OGNL – the Object Graph Notation Language),IoC(Inversion of Control倒置控制)容器等。 WebWork2建立在Xwork之上,处理HTTP的响应和请求。WebWork2使用ServletDispatcher将HTTP请求的变成 Action(业务层Action类), session(会话)application(应用程序)范围的映射,request请求参数映射。WebWork2支持多视图表示,视图部分可以使用 JSP, Velocity, FreeMarker, JasperReports,XML等。在WebWork2.2中添加了对AJAX的支持,这支持是构建在DWR与Dojo这两个框架的基础之上.
Struts
Struts 是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。
Hibernate
Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Eclipse平台下的Hibernate辅助开发工具:
Quartz
Quartz 是OpenSymphony开源组织在Job scheling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的日程序表。Jobs可以做成标准的Java组件或 EJBs。Quartz的最新版本为Quartz 1.5.0。
Velocity
Velocity 是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。 Velocity的能力远不止web站点开发这个领域,例如,它可以从模板(template)产生SQL和PostScript、XML,它也可以被当作一个独立工具来产生源代码和报告,或者作为其他系统的集成组件使用。Velocity也可以为Turbine web开发架构提供模板服务(template service)。Velocity+Turbine提供一个模板服务的方式允许一个web应用以一个真正的MVC模型进行开发。
IBATIS
使用ibatis 提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象, 这一层与通过Hibernate 实现ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求开发者编写具体的SQL 语句。相对Hibernate等 “全自动”ORM机制而言,ibatis 以SQL开发的工作量和数据库移植性上的让步,为系统设计提供了更大的自由空间。作为“全自动”ORM 实现的一种有益补充,ibatis 的出现显 得别具意义。
Compiere ERP&CRM
Compiere ERP&CRM为全球范围内的中小型企业提供综合型解决方案,覆盖从客户管理、供应链到财务管理的全部领域,支持多组织、多币种、多会计模式、多成本计算、多语种、多税制等国际化特性。易于安装、易于实施、易于使用。只需要短短几个小时,您就可以使用申购-采购-发票-付款、报价-订单-发票-收款、产品与定价、资产管理、客户关系、供应商关系、员工关系、经营业绩分析等强大功能了。
Roller Weblogger
这个weblogging 设计得比较精巧,源代码是很好的学习资料。它支持weblogging应有的特性如:评论功能,所见即所得HTML编辑,TrackBack,提供页面模板,RSS syndication,blogroll管理和提供一个XML-RPC 接口。
Eclipse
Eclipse平台是IBM向开发源码社区捐赠的开发框架,它之所以出名并不是因为IBM宣称投入开发的资金总数 —4千万美元,而是因为如此巨大的投入所带来的成果:一个成熟的、精心设计的以及可扩展的体系结构。
NetBeans
NetBeans IDE 是一个为软件开发者提供的自由、开源的集成开发环境。您可以从中获得您所需要的所有工具,用 Java、C/C++ 甚至是 Ruby 来创建专业的桌面应用程序、企业应用程序、web 和移动应用程序。此 IDE 可以在多种平台上运行,包括 Windows、Linux、Mac OS X 以及 Solaris;它易于安装且非常方便使用。
XPlanner
XPlanner 一个基于Web的XP团队计划和跟踪工具。XP独特的开发概念如iteration、user stories等,XPlanner都提供了相对应的的管理工具,XPlanner支持XP开发流程,并解决利用XP思想来开发项目所碰到的问题。 XPlanner特点包括:简单的模型规划,虚拟笔记卡(Virtual note cards),iterations、user stories与工作记录的追踪,未完成stories将自动迭代,工作时间追踪,生成团队效率,个人工时报表,SOAP界面支持。
HSQLDB
HSQLDB(Hypersonic SQL)是纯Java开发的关系型数据库,并提供JDBC驱动存取数据。支持ANSI-92 标准 SQL语法。而且他占的空间很小。大约只有160K,拥有快速的数据库引擎。
Liferay
代表了完整的J2EE应用,使用了Web、EJB以及JMS等技术,特别是其前台界面部分使用Struts 框架技术,基于XML的portlet配置文件可以自由地动态扩展,使用了Web Services来支持一些远程信息的获取,使用 Apahce Lucene实现全文检索功能。
JetSpeed
Jetspeed 是一个开放源代码的企业信息门户(EIP)的实现,使用的技术是Java和XML。用户可以使用浏览器,支持WAP协议的手机或者其它的设备访问Jetspeed架设的信息门户获取信息。Jetspeed扮演着信息集中器的角色,它能够把信息集中起来并且很容易地提供给用户。
JOnAS
JOnAS 是一个开放源代码的J2EE实现,在ObjectWeb协会中开发。整合了Tomcat或Jetty成为它的Web容器,以确保符合Servlet 2.3和JSP 1.2规范。JOnAS服务器依赖或实现以下的Java API:JCA、JDBC、JTA 、JMS、JMX、JNDI、JAAS、JavaMail 。
JFox3.0
JFox 是 Open Source Java EE Application Server,致力于提供轻量级的Java EE应用服务器,从3.0开始,JFox提供了一个支持模块化的MVC框架,以简化EJB以及Web应用的开发! 如果您正在寻找一个简单、轻量、高效、完善的Java EE开发平台,那么JFox正是您需要的。
[编辑本段]Java版本历史
1995年5月23日,Java语言诞生
1996年1月,第一个JDK-JDK1.0诞生
1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入JAVA技术
1996年9月,约8.3万个网页应用了JAVA技术来制作
1997年2月18日,JDK1.1发布
1997年4月2日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议规模之纪录
1997年9月,JavaDeveloperConnection社区成员超过十万
1998年2月,JDK1.1被下载超过2,000,000次
1998年12月8日,JAVA2企业平台J2EE发布
1999年6月,SUN公司发布Java的三个版本:标准版(J2SE)、企业版(J2EE)和微型版(J2ME)
2000年5月8日,JDK1.3发布
2000年5月29日,JDK1.4发布
2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机
2001年9月24日,J2EE1.3发布
2002年2月26日,J2SE1.4发布,自此Java的计算能力有了大幅提升
2004年9月30日18:00PM,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0
2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名,以取消其中的数字“2”:J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME
2006年12月,SUN公司发布JRE6.0
目前JDK7.0已经在研发中,已经有测试版在 https://jdk7.dev.java.net/ 可以下载使用
[编辑本段]Java与Internet
我们知道,早先的www仅可以传送文本和图片,Java的出现实现了互动的页面,是一次伟大的革命。
Java并不是为Internet、www而设计的,它也可以用来编写独立的应用程序。Java是一种面向对象语言,Java语言类似于C++语言,所以已熟练掌握C++语言的编程人员,再学习Java语言就容易得多!Java程序需要编译,它被放置在Internet服务器上,当用户访问服务器时,Java程序被下载到本地的用户机上,由浏览器解释运行。实际上有两种Java程序:一种Java应用程序是一个完整的程序,如Web浏览器。另一种Java小应用程序是运行于Web浏览器中的一个程序。
Java程序和它的浏览器HotJava,提供了可让你的浏览器运行程序的方法。你能从你的浏览器里直接播放声音,你还能播放页面里的动画,Java还能告诉你的浏览器怎样处理新的类型文件。当我们能在2400 baud线上传输视频图象时,HotJava将能显示这些视频。
[编辑本段]Java与电子商务
电子商务是当今的热门话题,然而传统的编程语言难以胜任电子商务系统,电子商务要求程序代码具有基本的要求:安全、可靠、同时要求能与运行于不同平台的机器的全世界客户开展业务。Java以其强安全性、平台无关性、硬件结构无关性、语言简洁同时面向对象,在网络编程语言中占据无可比拟的优势,成为实现电子商务系统的首选语言。
[编辑本段]Java的八大基本数据类型及其包装类
原始类型 包装类
short Short
int Integer
long Long
float Float
double Double
byte Byte
char Character
boolean Boolean
[编辑本段]第一个JAVA程序HelloWorld
//文件名 HelloWorld.java
//声明一个类
public class HelloWorld {
//声明一个方法
public static void main(String[] args){
//输出
System.out.println("hello world!");
}
}

6. java求源代码

你是青鸟的吧这我写过有源码这里怎么上传压缩包啊

packageghhh;

importjava.util.Scanner;

publicclassDvD{

publicstaticvoidmain(String[]args){

intstate[]=newint[6];
Stringname[]=newString[6];
intdate[]=newint[6];
intcount[]=newint[6];

name[0]="权利的游戏";
name[1]="命运之夜";
name[2]="傲慢与偏见";

state[0]=1;
state[1]=0;
state[2]=1;

date[0]=13;
date[1]=0;
date[2]=9;

count[0]=23;
count[1]=23;
count[2]=23;
intn;
// booleann=false;
do{
System.out.println("欢迎使用迷你DVD管理器");
System.out.println("1.新增DVD");
System.out.println("2.查看DVD");
System.out.println("3.删除DVD");
System.out.println("4.借出DVD");
System.out.println("5.归还DVD");
System.out.println("6.退出DVD");
Scannerinput=newScanner(System.in);
System.out.println("请选择:");
n=input.nextInt();

switch(n){
case1:
System.out.println("请输入要增加DVD的名称:");
Stringname1=input.next();
booleanflag=false;
for(inti=0;i<name.length;i++){
if(name[i]==null){
name[i]=name1;
flag=true;
break;
}
}
if(flag){
System.out.println("新增DVD"+name1+"成功");
}else{
System.out.println("货架已满!增加失败!");
}
System.out.println("请输入0返回!");
n=input.nextInt();
break;

case2:
System.out.println("序号 "+"状态 "+"名称 "+"借出日期 "+"借出次数");

for(inti=0;i<name.length;i++){
if(name[i]!=null){
Stringstate1=((state[i]==0)?"可借":"已借");
Stringdate1=((date[i]==0)?"":date[i]+"日");
Stringcount1=count[i]+"次";
System.out.println((i+1)+" "+state1+" "+name[i]+" "+date1+" "+count1);
}
}

System.out.println("请输入0返回!");
n=input.nextInt();
break;

case3:
System.out.println("请输入要删除的DVD名称:");
Stringname2=input.next();
intindex=-1;
booleana=false;
booleanflag1=false;
for(inti=0;i<name.length;i++){
if(name2.equals(name[i])&&state[i]==1){
System.out.println("此DVD已经借出,无法删除");
a=true;
break;
}elseif(name2.equals(name[i])&&state[i]==0){
a=true;
index=i;
flag1=true;
System.out.println("删除成功!");
break;
}
}
if(a==false){
System.out.println("没有找到相同名称的DVD!");
}
if(flag1){
for(inti=index;i<name.length;i++){
if(i!=name.length-1){
name[i]=name[i+1];
state[i]=state[i+1];
date[i]=date[i+1];
count[i]=count[i+1];
}
name[name.length-1]=null;
state[name.length-1]=0;
date[name.length-1]=0;
count[name.length-1]=0;
}
}
System.out.println("请输入0返回!");
n=input.nextInt();
break;

case4:
System.out.println("请输入要借出的DVD:");
Stringname3=input.next();
booleana3=false;
booleanb3=false;
for(inti=0;i<name.length;i++){
if(name3.equals(name[i])&&state[i]==1){
System.out.println("该DVD已经借出");
a3=true;
}elseif(name3.equals(name[i])&&state[i]==0){
do{
System.out.println("请输入借出的日期:");
intm=input.nextInt();

if(m>31||m<1){
System.out.println("请重新输入日期:");
b3=true;
}else{
date[i]=m;
state[i]=1;
count[i]+=1;
}

}while(b3==true);
System.out.println("借出成功!");
a3=true;
}
}
if(a3==false){
System.out.println("没有该DVD");
}
System.out.println("请输入0返回!");
n=input.nextInt();
break;

case5:
System.out.println("请输入要归还的DVD:");
Stringname5=input.next();
booleanb5=false;
booleanm5=false;
for(inti=0;i<name.length;i++){
if(name5.equals(name[i])&&state[i]==1){
b5=true;
do{
System.out.println("请输入要归还DVD的日期:(归还日期请输入当月日期1~31)");
inta5=input.nextInt();
if(a5>31){
System.out.println("请重新输入日期:");
m5=true;

}elseif(a5<date[i]){
System.out.println("借出日期是"+date[i]+"日 输入的日期不能小于借出的日期,请重新输入日期:");
m5=true;
}else{
state[i]=0;
System.out.println("归还成功");
System.out.println("借出日期是:"+date[i]+"归还日期是:"+a5+"日 租金一天一元:共"+(a5-date[i])+"元");
date[i]=0;
m5=false;
}

}while(m5==true);


}elseif(name5.equals(name[i])&&state[i]==0){
System.out.println("该DVD未借出,不可归还!");
b5=true;
}
}

if(b5==false){
System.out.println("没有该名称的DVDV");
}

System.out.println("请输入0返回!");
n=input.nextInt();
break;

case6:
n=1;
System.out.println("程序退出!");
break;

default:
if(n==0){
}else{
System.out.println("输入错误!请重新输入!");
n=0;
}
break;

}


}while(n==0);

System.out.println("谢谢使用!");
}

}

看看有没有问题 好久之前的了

7. java开源的项目

Sotacs 【Java开源 未分类开源项目】
Tapestry4 web框架组件:
SpringContracts 【Java开源 未分类开源项目】
SpringContracts是契约式设计(Design by Contract)的一个Java解决方案,能够无缝地集成到Spring框架中。基于Annotations,AOP并且支持EL表达式语言。
Jettison 【Java开源 未分类开源项目】
Jettison是一组StAX parser与writer用于读写JSON。这就使得可以在像CXF,XFire这样的service框架中实现基于JSON的web service。
jEdit - Plugin Central 【Java开源 未分类开源项目】
jEdit Plugin Central是JEdit文本编辑器最主要的在线插件库。可以结合该插件库,通过jEdit的插件管理器来安装,更新和删除插件。所有插件列表
JCL 【Java开源 未分类开源项目】
JCL提供一个类库用于从JARs中加载classe。它特别适用于在一个应用程序中有区别地加载多个版本中相同的class。
JXTA 【Java开源 未分类开源项目】
Sun微系统公司公开了旨在建立P2P(Peer to Peer)通用技术基础的JXTA计划。JXTA技术是网络编程和计算的平台,用以解决现代分布计算尤其是点对点(P2P)计算中出现的问题。。
jOrgan 【Java开源 未分类开源项目】
jOrgan是一个Java开发的虚拟管风琴。
JOnbAS 【Java开源 未分类开源项目】
基于NetBeans平台的JOnAS插件。
RoX 【Java开源 未分类开源项目】
RoX(RPC over XML)是构建在Java1.4 NIO之上一个完整XML-RPC实现。
Spring-Dashboard 【Java开源 未分类开源项目】
利用Spring-Dashboard开发人员和测试人员能够监测spring web应用程序中的流程并收集在应用程序中资源使用情况的统计信息。
jUploadr 【Java开源 未分类开源项目】
jUploadr是一个跨平台,跨站点的照片上传工具。当前jUploadr可运行在Windows、Linux和OS X平台之上并支持包括Flickr与Zooomr。它可以让你在上传之前设置好照片的属性。jUploadr还支持批处理。
Bottomline 【Java开源 未分类开源项目】
Bottomline是一套利用JCL直接从JAR 文档加载数据库驱动的JDBC Bridge API。Bottomline使用jdbc:bottomline bridge从各自的JAR文件加载多个驱动。与JDBC的不同之处在于, Bottomline使用自定义的class loaders来装载驱动完全独立于JVM的bootstrap class loader.
BackupEasy 【Java开源 未分类开源项目】
BackupEasy是一个按日期/时间设定自动备份文件夹和文件的软件。它采用Java开发,界面简单,支持FTP备份,支持简体中文。
SubEtha 【Java开源 未分类开源项目】
SubEtha是一个成熟的邮件列表管理系统,它是一个采用EJB3与JMS开发的三层J2EE应用程序。 SubEtha非常容易安装在Windows与Unix平台上,一个友好的web界面可用于管理所有配置,支持虚拟域名,支持用户拥有多个email地址,智能附件处理,可配置的消息处理过滤器,基于per-list 的角色权限控制等等。
JIExplorer 【Java开源 未分类开源项目】
JIExplorer是一个采用Java开发的看图工具。支持幻灯片,放大/缩小,全屏等功能。此外还支持按关键字进行图片分类管理,把图片保存到HSQLDB与MySQL数据库中。
j-Interop 【Java开源 未分类开源项目】
j-Interop是实现DCOM wire protocol (MSRPC)的一个开源类包。可用于开发双向,Non-Native,能够与任何COM组件交互的纯Java应用程序。该项目全部采用纯Java实现并且没有使用JNI(Java Native Interface)来提供对COM的访问。
QALab 【Java开源 未分类开源项目】
QALab这个工具能够收集,整理来自一些QA工具的数据如:pmd,checkstyle,FindBugs,Cobertura和Simian,并跟踪它们的overtime。这可以帮助开发人员,架构师与项目管理者掌握项目QA的趋势。
SOJO 【Java开源 未分类开源项目】
SOJO提供一个类库用于把POJOs转换成指定的格式可以是CSV、XML、JSON等,以便与非Java的程序进行通信。这些转换都是可插拔的,所以可以自定义自己想要转换的格式。
Subsonic 【Java开源 未分类开源项目】
Subsonic是一个在线媒体播放系统。它能够将指定路径下的音乐(mp3,aac,ogg,wma等)和视频转换播放流。需要Java5.0。
Glyph 【Java开源 未分类开源项目】
Glyph是一组用于加快开发基于Jini应用程序的工具类与J2SE5.0注释。
nbtapestrysupport 【Java开源 未分类开源项目】
nbtapestrysupport该项目是一个NetBeans插件主要是为用Tapestry框架进行的web开发提供支持。功能包括:在Tapestry配置文件中为class name,file和librarie提供超链接支持。只需按拄CTRL然后选中类名就能够转到相应的类。提供向导来创建一个新的Tapestry项目所需要的页面,组件和类库等。一个组件面板允许用拖放的方式来设计页面与组件。为不同的配置文件定制编辑器。集成Tapestry的开发文档。
DContract 【Java开源 未分类开源项目】
该项目提供一个用于处理数字合同(digital contract)的Java工具箱。
GenericRCP 【Java开源 未分类开源项目】
GenericRCP是一个基于SpringRCP开发的胖客户端,它能够根据hibernate domain模型自动生成一个GUI用于修改/删除/新增将被持久化的Java对象。

8. 都说java是开源,怎么样才能找到java的开源项目代码啊不知道哪些网站的开源项目和代码多些,谢谢

SSH框架还有好多用JAVA写的都是开源的啊 下载完全包 里面就有源代码,java本身也是开源的src目录就是他的代码啊

9. java开源框架的源代码怎么读

Java开源框架的源代码怎么读?说读开源框架的源代码对自己写程序很有帮助的,我不知道从那里下手
找一个你熟悉的项目,下回来源码,然后单步跟踪一遍,前题有一定基础,至少会单步跟踪调试对ide也得熟悉些,项目别选太大的,像apache里面的项目都还可以。一开始还是比较艰难的,时间长了就好了。
如同你看不懂高手过招一样。
还是一步一步的来吧。
先看一些基础知识,写一些东西,然后重点看自己用到的,或者即将用到的部分,这样提高效果会更好。
开始的时候是把源代码关联,有不明白的地方可以ctrl直接过去看。之后有一些积攒之后,可以去看开源项目中的闪亮的地方,比如Spring中的IOC。然后参照自己去实现一个简单的DEMO,之中可以参考一些资料。个人理解这样会比较快速的将一个项目中的一部分较为深入的了解。毕竟一个成熟的开源项目技术的积攒及范围都比较大。完全了解没有必要也没有可能。
我读Spring的经验。
首先要搞清它大体的处理步骤,然后再去详细看每个类的具体内容。读代码,最忌从一开始就企图详细理解一个大工程的所有细节。先看大匡,然后再逐步掌握自己感兴趣的细节。
读代码的时候可以把框架的代码读取到IDE的工程中去,
例如,用Eclipse读代码,方便得很。
或者在开发中设定classpath时,把代码也带上,
个人认为,多看例如JDK、Spring这样优秀的代码,对于掌握Java编程的精髓很有帮助。
初学者也不例外!
其实框架就是DB访问,画面显示,资源管理。
首先要知道你的框架的特点,也就是他的侧重点。
我看源代码喜欢全局搜索,一直找到Java自带的基础类。一条先走到黑。嗬嗬,挺笨的
不过建议先会用,熟练用,在研读。会快一些,少走弯路
不管是在校的学生还是刚参加工作的,都要从基础开始,把一些经典的基础问题搞明白了之后再去研究框架,其实感觉框架要先明白框架的总体,有时候不明白框架甚至看着源代码都不知道属于哪一类,引入也会产生问题,之后在去看源代码。最主要的是光看不行,要亲手做一下,即使是最简单的程序也要亲手做,如果是人家的程序照着手动敲一遍也会有很大的收获的
对于开源项目,我觉得从如下方面着手比较好:
2.了解整体项目的技术架构
3.熟悉它用的技术与知识面,并逐个掌握
4.从单个模块着手,调试代码,熟悉基基本的流程与业务
5.在不修改其源码的基础上做一些扩展开发的工作,为我所用6.修改并优化其代码

10. Java哪些开源框架的源代码值得一读

Spring
spring做为现在最流行java web框架,可以作为任何一个项目的基础框架,值得仔细研究学习

阅读全文

与java上百实例源码以及开源项目源代码相关的资料

热点内容
数据中心pdf 浏览:524
crf源码解析 浏览:853
服务器软件开发是什么意思 浏览:941
删除彩信android 浏览:862
元宵节猜灯谜h5源码 浏览:69
乐培生app怎么绑定 浏览:762
视频压缩不清楚怎么说 浏览:525
加好友服务器繁忙是怎么回事 浏览:381
怎么解绑app的支付宝账号 浏览:911
ip地址服务器不可用怎么解决方法 浏览:183
为什么软件需要服务器 浏览:63
redis操作命令大全 浏览:597
python字符串重复索引 浏览:961
为什么香信新版本连接不上服务器 浏览:50
元旦程序员打羽毛球 浏览:614
otc焊接机器人离线编程教学 浏览:412
51单片机的ea引脚有何用途 浏览:207
centos查看用户命令 浏览:840
程序员脸胖 浏览:744
hdfs在主目录下创建文件夹 浏览:800