java面试第十八天

软件开发流程:

1、可行性分析

2、需求分析->开发测试

3、概要设计->分隔模块,定义框架等

4、详细设计->类设计、接口设计

5、编码

6、测试

7、部署

8、维护

单元测试:

要求:

要有边界值的分析,主要针对分支语句的临界点

语句覆盖,保证写的任何语句都要运行到

判定覆盖,所有判断的地方都要覆盖掉

条件覆盖,保证所有条件都要覆盖掉

路径覆盖,所有分支都要测试到

步骤:

1、针对每个类写一个TestCase,在setUp方法中初始化要测试类,在tearDown方法中将测试类置为null

2、逐一编写以test开头的方法

3、新建一个套件类,再把所有的TestCase类加入套件类

Ant:用于对项目的整体构建、修改及部署等操作

Ant的下载:

去阿帕奇官方网站下载

在eclipse的eclipse3.2\plugins\org.apache.ant_1.6.5

建立ant的步骤:

1、写类:src和build.xml必须自己写,src中的源程序要按照包结构去构建好

projectName

classes

src

build.xml

2、写build.xml

<?xml version="1.0"  encoding="GB2312" ?>

<!-- 一个项目,可包含很多任务组(target) -->

<project default="main" basedir=".">

<!--属性部分,可以写类似全局变量-->

<property name="src" value="src\test" />

<!-- 项目中的一个任务组,可包含很多任务(task:javac,java...) -->

<target name="main" description="begin build">

<!--创建目录-->

<mkdir dir="classes" />

<!--编译-->

<javac srcdir="${src};src" destdir=".\classes"/>

<!--运行-->

<java classname="test.Test">

<classpath>

<pathelement path=".\classes"/>

</classpath>

</java>

</target>

<!--清除所有class-->

<target name="clean" description="begin clean">

<delete dir="classes" />

</target>

<!--重新建立项目-->

<target name="all" depends="clean,main" description="begin all">

</target>

</project>

3、ant配置环境变量

Path->org.apache.ant_1.6.5\bin

ClassPath->org.apache.ant_1.6.5\lib

4、运行

创建可运行的jar文件:

1、先建起一个空文件夹

2、把所有的源文件拷贝到该文件夹下

3、javac -d . *  编译此文件夹下各源文件

4、删除源文件

5、jar -cvf test.jar *  完成第一次打包

6、jar -xvf test.jar  解压

7、删除test.jar

8、改META_INF中的文件,加上Main-Class: MenuFrame (注意中间有空格),保存

9、jar -cvfM test.jar *

10、java -jar test.jar 可以运行

重构:

在不改变软件任何功能的前提下对代码进行修改,调整其结构,提高其可读性,降低其修改的成本。

重构的基本思想就是集中精力使设计简化,并且在新的需求出现时提供一个持续发展(而非扩展)的环境。

重构是一项功能强大的技术,但需以微小的步伐修改程序才行。

重构的优点:

重构可以改进软件的设计;

重构可以使你的代码看起来更易理解;

重构可以找出潜伏的Bug;

重构可以帮助你提高编程的速度――在一次次的迭代过程中阻止系统腐败变质,减少在调试中所花的时间;

重构可以使我们更快速的开发软件,甚至还可以提高我们的设计质量。

利用eclipse重构代码:

代码封装

方法移位(父类<->子类)

抽取方法

提炼接口

时间: 2024-10-29 03:56:45

java面试第十八天的相关文章

JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结(转)

hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和学习,使自己在做项目中更加得心应手. 第一方面:开发速度的对比 就开发速度而言,Hibernate的真正掌握要比Mybatis来得难些.Mybatis框架相对简单很容易上手,但也相对简陋些.个人觉得要用好Mybatis还是首先要先理解好Hibernate. 比起两者的开发速度,不仅仅要考虑到两者的特性及性能,更要根据项目需求

转:最近5年133个Java面试问题列表

最近5年133个Java面试问题列表 Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来越高级,面试官问的问题也更深入. 在我初入职场的时候,类似于 Vector 与 Array 的区别.HashMap 与 Hashtable 的区别是最流行的问题,只需要记住它们,就能在面试中获得更好的机会,但这种情形已经不复存在.如今,你将会被问到许多 Java 程序员都没有看过的领域,如 NIO,

java 面试 -- 4

Java面试知识点总结 本篇文章会对面试中常遇到的Java技术点进行全面深入的总结,帮助我们在面试中更加得心应手,不参加面试的同学也能够借此机会梳理一下自己的知识体系,进行查漏补缺(阅读本文需要有一定的Java基础:若您初涉Java,可以通过这些问题建立起对Java初步的印象,待有了一定基础后再后过头来看收获会更大).本文的问题列表来自于http://www.nowcoder.com/discuss/3043,在此感谢原作者的无私分享:) 1. Java中的原始数据类型都有哪些,它们的大小及对应

Java 面试-- 1

JAVA面试精选[Java基础第一部分] 这个系列面试题主要目的是帮助你拿轻松到offer,同时还能开个好价钱.只要能够搞明白这个系列的绝大多数题目,在面试过程中,你就能轻轻松松的把面试官给忽悠了.对于那些正打算找工作JAVA软件开发工作的童鞋们来说,当你看到这份题目的时候,你应该感动很幸运,因为,只要你把题目中的内容都搞懂了,在笔试的时候就可以游刃有余,通过面试只有半步之遥了,笔试只能反映你的JAVA技能.不管你是面试各个级别的JAVA工程师.架构师.还是项目经理,这个系列文章都是你最宝贵的资

[转载]java面试中经常会被问到的一些算法的问题

Java面试中经常会被问到的一些算法的问题,而大部分算法的理论及思想,我们曾经都能倒背如流,并且也能用开发语言来实现过, 可是很多由于可能在项目开发中应用的比较少,久而久之就很容易被忘记了,在此我分享一下在面试中经常被问到的一些基本的算法,也当做一次知识的巩固. 排序算法的一些特点: * 排序算法的分类如下:* 1.插入排序(直接插入排序.折半插入排序.希尔排序):* 2.交换排序(冒泡泡排序.快速排序):* 3.选择排序(直接选择排序.堆排序):* 4.归并排序:* 5.基数排序.* * 关于

Java面试宝典

http://www.cnblogs.com/bluestorm/p/6429894.html Java面试宝典 面向对象的三个特征 封装,继承,多态.这个应该是人人皆知.有时候也会加上抽象. 多态的好处 允许不同类对象对同一消息做出响应,即同一消息可以根据发送对象的不同而采用多种不同的行为方式(发送消息就是函数调用).主要有以下优点: 可替换性:多态对已存在代码具有可替换性. 可扩充性:增加新的子类不影响已经存在的类结构. 接口性:多态是超累通过方法签名,想子类提供一个公共接口,由子类来完善或

java面试回忆录

本文地址:http://blog.csdn.net/sushengmiyan/article/details/28479895 作者:sushengmiyan ------------------------- 1.报文格式定义如下: 20字符长的姓名+1字符长的性别+3字符长的年龄 姓名长度不足20的右边补空格 性别中0表示男,1表示女 年龄不足3字符的左边补0 如: denny     0026 这一段报文解析后表示姓名为denny性别为男,年龄为26 数据库表结构如下: create ta

Java面试问题总结

前几天Java面试中遇到的问题,这只是其中的一部分问题,面试中有很多问题是关于数据结构和算法的.在这里做下总结,希望有能力的人可以试着做一下,并在评论区留下您的答案,让大家相互学习.谢谢 程序设计部分 第1题* 已知类定义如下 class Node { public Double value; public List<Node> children; } 将以下递归程序改成非递归程序(两个程序的输出应保持顺序一致) publicstaticvoid process(Node node) { fo

java面试梳理

自己整理的有关java面试过的问题,有错的请矫正. 1, Spring的核心思想 控制反转和面向切面的编程 2,Spring的核心模块 反向控制与依赖注入.Bean配置以及加载 3,Scope是什么 Scope就是IOC容器里给对象设置的场景或者说存活空间,如果对象不处于Scope的限定后,容器会销毁对象. 取值有5种  分别是singleton(单一模式),prototype(多少个请求就有多少个),request(请求完即销毁),session,globalsession. 4,hibern