ArrayList
ArrayList其实是包装了一个数组 Object[],当实例化一个ArrayList时,一个数组也被实例化,当向ArrayList中添加对象是,数组的大小也相应的改变。这样就带来以下有缺点:
快速随即访问 你可以随即访问每个元素而不用考虑性能问题,通过调用get(i)方法来访问下标为i的数组元素。
向其中添加对象速度慢 当你创建数组是并不能确定其容量,所以当改变这个数组时就必须在内存中做很多事情。
操作其中对象的速度慢 当你要想数组中任意两个元素中间添加对象时,数组需要移动所有后面的对象。
LinkedList
LinkedList是通过节点直接彼此连接...
package com.gyarmy.testPerson;
public class Person {
public void eat()
{
Event e = new Event(this);
pl.doEat(e);
System.out.println("吃......");
}
public void run()
{
Event e = new Event(this);
pl.doRun(e);
System.out.println("跑......");
}
private PersonListen...
1\被代理类
package com.gyarmy.proxy;
public class Liyuchun implements Person {
@Override
public String sing(String name) {
// TODO Auto-generated method stub
System.out.println("李宇春 唱歌..."+name);
return "sing over";
}
@Override
public String dance(String name) {
//...
1\annotation 写法
package com.gyarmy.testannotation;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@Retention(RetentionPolicy.RUNTIME)
public @interface DbInfo {
String driverClass();
String username();
String password();
Stri...
自定义Java注释类时,我们使用方式如下:
@Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) class @interface Author{ publicString name(); publicString company(); }
这次我们重点讨论修饰注解的注解,也就是我们说的元注解。
@Retention
注解@Retention可以用来修饰注解,是注解的注解,称为...
[该文章已设置加密,请点击标题输入密码访问]
直接上代码,项目中可以直接使用的
package com.gyarmy.upload;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
import javax.servlet.Servlet...
package com.gyarmy.upload;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax....
package com.itheima.filter;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.zip.GZIPOutputStream;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
...
package com.gyarmy.demo4;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.zip.GZIPOutputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
impor...
1\使用HttpServletRequestWrapper 包装类
2\重写getParameter \ getParameterValues \ getParameterMap 三个函数
3\ 配置 web.xml
核心过滤器代码
package com.gyarmy.demo4;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Map;
import ja...
分析清楚逻辑结构
cookie + session + filter 技术运用
防止伪造cookie
需要改进的地方: cookie加密技术
package com.gyarmy.demo4;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletExce...
1\了解过滤器的声明周期
2\过滤器的web.xml文件的配置
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>com.gyarmy.demo1.EncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>u...
[该文章已设置加密,请点击标题输入密码访问]
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<he...