文章列表
在Java单元测试领域,JUNIT一直各位开发人员和测试人员的最佳选择,它不仅提供了很多标准的API,同时很多IDE也对它提供了运行环境支持。特别是JUNIT4以后,引入了Java annotation的方式,进一步规范了测试脚本的结构,使测试脚本 ...
为了快速开发,不用Eclipse部署项目,而用手动配置,优点启动速度快,不需要复制文件到tomcat目录下
1.先把tomcat\work\Catalina 下面的localhost目录删除
2.打开tomcat目录下面的conf\server.xml 找到<host></host>
在host下面加下面的代码context,path里面的内容为http://localhost:8080/tmplateProject,docBase为eclipse工作空间下项目的项目名下的webcontent
<Context path="/tmplatePr ...
第一步 充分理解Socket
1.什么是socket
所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。
以J2SDK-1.3为例,Socket和ServerSocket类 ...
JAVA中类文件加载是动态的。JVM指令是被封装在了.class文件里面,而.class文件的加载过程是动态的,也就是说当我们用到的时候才会去加载,如果不用的话,就不会去加载我们的类。
JAVA中类文件加载是动态的。JVM指令是被封装在了.class文件里面,而.class文件的加载过程是动态的,也就是说当我们用到的时候才会去加载,如果不用的话,就不会去加载我们的类。这里所说的用到包括两种方式,第一种就是new一个对象的时候(这个时候要特别注意,当设计到多态的时候,就会有一点点变化,这时候编译器会做一些优化,这样以来当加载的时候会提前加载设计到多态的类,关于这一点下面有个例子(exampl ...
这篇做为学习孙卫琴<<Java网络编程精解>>的学习笔记吧.其中采用Java 5的ExecutorService来进行线程池的方式实现多线程,模拟客户端多用户向同一服务器端发送请求.
1.服务端
package sterning;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintW ...
import java.io.*;
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
public class Mailer {
/** javamail session对象. */
protected Session session;
/** 发信地址 */
protected String from;
/** 信的标题*/
protected String subject;
...
一、 使浏览器不缓存页面的过滤器
import javax.servlet.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* 用于的使 Browser 不缓存页面的过滤器
*/
public class ForceNoCacheFilter implements Filter {
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) th ...
2、String的常用操作方法
2.1、字符与字符串
在String类中提供了以下的方法操作字符与字符串间的转换关系:
|-根据字符串中提供的索引找到指定位置的字符:public char charAt(int index)
|-将字符串变为字符数组:public char[] toCharArray()
|-将字符数组变为字符串:
|-将全部的字符数组变为String类型:public String(char[] value)
|-将部分的字符数组变为String类型:” public String(char[] value,int offset,int count)
范例: ...
1、String类
1.1、String的两种实例化方式
String本身是一个类,在String类中定义了如下的构造方法:
public String (String original)
可以接收一个String类的对象,并重新数实例化String对象,除此之外String还可以采用直接赋值的方式进行对象初始化。
public class StringDemo01
{
public static void main(String args[])
{
String str1 = "hello&quo ...
* 总体概念:
* 1.位移运算符只对位进行操作
* 2.只能操作int整型数据类型
* 3.右移补高位,左移补底位
* >> 有正负之分的右位移运算符,把字节向右移由右边操作数指定的位数,如果左边操作数是正数,则移动的高位补0 ,反之则补1
* >>>无符号之分的右移运算符,即不管左边操作数的正负,高位都补0
* << 左移运算符,向左移动由右边操作数指定的位数,移动后底位自动补0
作用:对于大数据的2进制运算,位移运算符比那些普通运算符的运算要快很多,因为程序仅仅移动一下而已,不去计算,这样提高了效率,节省了资源.www.zg ...
1 . 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。
2 . 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第 3 点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取速度较慢。
3 . Java中的数据类型有两种。
一种是基本类型(primitive ...
字符串比较
Java代码
String str1="123";
String str2="123";
str1==str2; //结果为true
str1.equals(str2); //结果为true
MyBean mybean=new MyBean();
mybean.setStr1("123");
mybean.setStr2("123");
mybean.getStr1()==mybean.getStr2();//结果为false
字符串比较是经过特殊处理 ...
使用J2SE API读取Properties文件的六种方法
1。使用java.util.Properties类的load()方法
示例:
Java代码
InputStream in = lnew BufferedInputStream(new FileInputStream(name));
Properties p = new Properties();
p.load(in);
2。使用java.util.ResourceBundle类的getBundle()方法
示例:
Java代码
ResourceBundle rb = ResourceBundle.ge ...
1.你需要精通面向对象分析与设计(OOA/OOD)、设计模式(GOF,J2EEDP)以及综合模式。
你应该十分了解UML,尤其是class,object,interaction以及statediagrams。
2.你需要学习JAVA语言的基础知识以及它的核心类库
collections,
serialization,
streams,
networking,
multithreading,
reflection,
event,
handling,
NIO,
localization,
以及其他
3.你应该了解JVM,classloaders,classreflec ...
1.计算某一月份的最大天数
Calendar time=Calendar.getInstance();
time.clear();
time.set(Calendar.YEAR,year);
time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0
int day=time.getActualMaximum(Calendar.DAY_OF_MONTH);//本月份的天数
注:在使用set方法之前,必须先clear一下,否则很多信息会继承自系统当前时间
2.Calendar和Date的转化
(1) Calendar ...