1. 高分100,一个简单问题,java集成环境NetBeans IDE 各个文件夹都是干什么的
文件夹:build-存放编译后抄的class文件
nbproject-存放项目的具体配置文件
src-java源代码存放文件夹
test-JUnit测试文件存放位置
Build.xml构建描述文件,因为Netbeans的编译打包是基于ant的,build就是ant实现自动编译打包的描述文件。
manifest.mf是打包的时候需要的一个清单文件,是对打包后的jar包中的文件的一个描述下文件。
original.java,.netbeans_automatic_build,这两个文件不知道你用的什么Netbeans版本,在我的版本中并未生成此文件。
build-impl.xml是对Build.xml文件的具体描述,Build.xml其实并未实现具体的ant构建脚本,具体是在该文件中实现的,如果你看过build.xml的源代码,就会发现一句<import file="nbproject/build-impl.xml"/>,这你就知道是什么意思了。
2. java方面主流的技术有哪些
注意:本回答更专注于方向的主流技术作为参考!
首先明白,java目前有两大方向:一是javaweb,二是安卓开发(请自行查找相关知识学习);
无论做哪方面的java开发,javase也即是java基础部分是必备知识,其中包括:
(1).Java基础语法、数组、类与对象、继承与多态、异常、范型、集合、流与文件、反射、枚举、自动装箱和注解。
(2).Java面向对象编程的三大特征——封装、继承和多态。
(3).通过异常的编写和使用来体验Java的异常处理机制。
(4).通过对象的存储与检索来体验Java集合的强大功能。
(5).通过文件的读写与传输来体验.Java对I/O的支持。
(6).通过反射机制的讲解来体验Java语言的动态特性。
(7).有兴趣还可以学习线程,网络编程,垃圾回收机制等
JDBC的了解和练习,数据库知识掌握要求一定扎实。
html+CSS+DIV,jscript,jquery等必须有一定的了解和基础甚至是熟练应用
jsp ,servlet ,过滤器,拦截器,xml进行掌握学习,并且认识MVC的开发模式(注:设计模式和算法等都是穿插学习的,也是很重要的!)
掌握了以上技术的原理后,可以进行SSH框架的学习,三大框架依然为现在相当流行的主流框架,Mybatis等框架,框架是为了便于开发,不等同于使用框架就足够了,背后的原理一定掌握熟练。
svn git maven等团队开发的东西需要了解。
java的技术很丰富,上面所述仅为参考,欢迎更正补充,谢谢交流。
3. Java开发工程师与Java软件工程师有什么不同
软件工程师必须知道20个知识点,看看你了解多少?
1,针对面向对象的设计与分析:为了让软件有更好的可维护性,重用性以及快速开发, 简短的OOAD与它的SOLID原则对于每一个软件工程师来说都是该牢记的。
2,软件品质因素:软件工程的好坏与软件的品质因素是绝对关联的。请在开发过程中深 刻的理解这一点。
3,数据结构与算法:深刻理解像数组,列表,栈,树,图,集合等这样的基本数据结构 ,并在软件开发过程的关键部分使用好的算法。这样整个软件逻辑就会很清晰了。
4,Big-O符号来标记算法复杂度:在开发过程中,请务必使用 Big-O 符号来比较两个代 码段或者不同算法所消耗的时间复杂度,这在开发高性能软件项目中是非常重要的。
5,UML图:UML图已经是一个通用的软件设计与分析的语言。如果你们在开发软件的过程 中还没有做UML图,那么给人的感觉就是这压根就不是软件工程。
6,正确的衡量软件开发进度。
7,设计模式:设计模式是前人在解决各种各样问题的过程中总结出来的一套标准对策, 在绝大部分情况下,使用这些模式肯定是利大于弊的。如果你不想在开发过程中重新造 轮子,那么就直接使用它吧。
8,理解操作系统的基本原理:因为所有的应用程序都是直接运行在操作系统这个层级的 ,学习操作系统的基本原理能让我们对应用程序的底层以及性能有更好的把握。
9,学习计算机组成原理:几乎所有的应用程序甚至是OS都需要与物理硬件打交道的,所 以学习计算机组成原理与理解操作系统原理一样都可以让你对于应用程序有更深刻的理 解。
10,网络基础:网络与计算机组成,操作系统以及传输流程都是紧密关联的,理解网络基础 能让你在开发过程中得心应手。
11,需求分析:对于软件工程来说,需求分析是项目的起点,也是整个项目最最重要的 部分。如果这玩意你搞错了,整个项目的方向也就错了。
12,软件测试:在软件工程中,测试也是非常重要的。单元测试,黑盒测试,白盒测试,TDD,集成测试等等都是我们必须知道的。
13,独立管理:主要是说类库(JAR,DLL等等)的管理,熟悉使用一些类似Maven,Ant,lvy这样的知名工具对于大型项目的类库管理是非常有用的。
14,持续化集成:持续化集成能让测试大型模块与组件更加简单与自动化,关于这一点,你可以去了解 Hudson 这个工具。
15,ORM:了解Hibernate这种将对象与数据库表映射工具是非常有好处的,它可以减少你的代码量并节省你的代码维护时间。
16,DI(独立注入):DI或者IoC(Inversion of Control)的具体实现框架Spring能让你创建对象时更加轻松,对于大型企业级项目更是如此。
17,版本控制系统:VSC工具(SVN,TFS,CVS等)对于团队合作开发以及版本控制都是非常重要的。熟练使用这类工具算得上是必备技能。
18,国际化:通过i18n来将不同语种的字符串存储在其他文件是让软件支持多语种的方法。所以i18n在不同的IDE上使用的方法我们应该了解。
19,架构模式:理解类似MVC,MVP,MVVM这样的架构模式非常关键,这能让你写出易维护,简洁以及方便测试的代码。
20,编写干净的代码:你的代码仅仅只是能够正常运行是远远不够的,它必须让编程人员轻易看懂来方便后续维护,所以,代码格式以及编写易读的代码技术都是我们需要了解的关键点。
4. 请问现在写JAVA都用什么工具
Eclipse 是最佳选择,因为它是开源的,开源意味着免费,现在的企业都比较注重开发成本和安全性
5. spring的基本框架
Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式,如图所示:
组成Spring框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下:1、核心容器:核心容器提供 Spring 框架的基本功能(Spring Core)。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转(IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
2、Spring 上下文:Spring 上下文是一个配置文件,向 Spring框架提供上下文信息。Spring 上下文包括企业服务,例如JNDI、EJB、电子邮件、国际化、校验和调度功能。
3、Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向切面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。
4、Spring DAO:JDBCDAO抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。
5、Spring ORM:Spring 框架插入了若干个ORM框架,从而提供了 ORM 的对象关系工具,其中包括JDO、Hibernate和iBatisSQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。
6、Spring Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。
7、Spring MVC 框架:MVC框架是一个全功能的构建 Web应用程序的 MVC 实现。通过策略接口,MVC框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。模型由javabean构成,存放于Map;视图是一个接口,负责显示模型;控制器表示逻辑代码,是Controller的实现。Spring框架的功能可以用在任何J2EE服务器中,大多数功能也适用于不受管理的环境。Spring 的核心要点是:支持不绑定到特定 J2EE服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同J2EE 环境(Web 或EJB)、独立应用程序、测试环境之间重用。
6. J2EE经典面试题及答案
J2EE经典面试题及答案
J2EE,使用Java技术开发企业级应用的一种事实上的工业标准,它是Java技术不断适应和促进企业级应用过程中的产物。下面为各位考生分享的是J2EE经典面试题及答案,希望对大家有所帮助!
1.MVC的各个部分都有那些技术来实现?如何实现?
答:MVC是Model-View-Controller的简写。"Model" 代表的是应用的业务逻辑(通过JavaBean,EJB组件实现), "View" 是应用的表示面(由JSP页面产生),"Controller" 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。
2.J2EE是什么?
答:Je22是Sun公司提出的多层(multi-diered),分布式(distributed),基于组件(component-base)的企业级应用模型(enterpriese application model).在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次(tier)中。所属层次包括客户层(clietn tier)组件,web层和组件,Business层和组件,企业信息系统(EIS)层。
3.J2EE是技术还是平台还是框架?
答:J2EE本身是一个标准,一个为企业分布式应用的开发提供的标准平台。
J2EE也是一个框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA等技术。
4.STRUTS的应用(如STRUTS架构)
答:Struts是采用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework。 采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。 Struts有如下的主要功能:
一.包含一个controller servlet,能将用户的请求发送到相应的Action对象。
二.JSP自由tag库,并且在controller servlet中提供关联支持,帮助开发员创建交互式表单应用。
三.提供了一系列实用对象:XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息。
5.WEB SERVICE名词解释。JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UDDI,WSDL解释。
答:Web ServiceWeb Service是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。
JAXP(Java API for XML Parsing) 定义了在Java中使用DOM, SAX, XSLT的通用的接口。这样在你的程序中你只要使用这些通用的接口,当你需要改变具体的实现时候也不需要修改代码。
JAXM(Java API for XML Messaging) 是为SOAP通信提供访问方法和传输机制的API。
WSDL是一种 XML 格式,用于将网络服务描述为一组端点,这些端点对包含面向文档信息或面向过程信息的消息进行操作。这种格式首先对操作和消息进行抽象描述,然后将其绑定到具体的网络协议和消息格式上以定义端点。相关的具体端点即组合成为抽象端点(服务)。
SOAP即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML编码信息的轻量级协议。
UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。
6.C/S 与 B/S 区别:
答:有如下八个方面的不同:
(1)硬件环境不同:
C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务.
B/S 建立在广域网之上的, 不必是专门的网络硬件环境,例与电话上网, 租用设备. 信息自己管理. 有比C/S更强的适应范围, 一般只要有操作系统和浏览器就行
(2)对安全要求不同
C/S 一般面向相对固定的用户群, 对信息安全的控制能力很强. 一般高度机密的信息系统采用C/S 结构适宜. 可以通过B/S发布部分可公开信息.
B/S 建立在广域网之上, 对安全的控制能力相对弱, 可能面向不可知的用户。
(3)对程序架构不同
C/S 程序可以更加注重流程, 可以对权限多层次校验, 对系统运行速度可以较少考虑.
B/S 对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上. 比C/S有更高的要求 B/S结构的程序架构是发展的趋势, 从MS的.Net系列的BizTalk 2000 Exchange 2000等, 全面支持网络的构件搭建的系统. SUN 和IBM推的JavaBean 构件技术等,使 B/S更加成熟.
(4)软件重用不同
C/S 程序可以不可避免的整体性考虑, 构件的重用性不如在B/S要求下的构件的重用性好.
B/S 对的多重结构,要求构件相对独立的功能. 能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石头桌子
(5)系统维护不同
C/S 程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级. 升级难. 可能是再做一个全新的系统
B/S 构件组成,方面构件个别的更换,实现系统的无缝升级. 系统维护开销减到最小.用户从网上自己下载安装就可以实现升级.
(6)处理问题不同
C/S 程序可以处理用户面固定, 并且在相同区域, 安全要求高需求, 与操作系统相关. 应该都是相同的系统
B/S 建立在广域网上, 面向不同的用户群, 分散地域, 这是C/S无法作到的. 与操作系统平台关系最小.
(7)用户接口不同
C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高
B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流. 并且大部分难度减低,减低开发成本.
(8)信息流不同
C/S 程序一般是典型的中央集权的机械式处理, 交互性相对低
B/S 信息流向可变化, B-B B-C B-G等信息、流向的变化, 更像交易中心。
7.什么是JNDI