java 기초 흔한 문제 해석 (5) 입력 출력 흐름 및 서열화 및session
5476 단어 java 기초 지식 포인트
입력 출력 흐름 및 서열화 및session
입력 및 출력 흐름
입출력 스트림
—1.바이트 흐름 InputStream(그림 오디오 등 비문자 데이터 읽기) - 바이트 읽기는 모든 바이트 입력 흐름의 슈퍼클래스입니다. 한 바이트(8bit)를 읽을 때마다 OutputStream과 대응하는 가장 일반적인 FileInputStream입니다.
핵심:
ObjectInputStream 객체 입력 바이트 흐름
객체를 하드 드라이브에 저장 - 시리얼화된 후 저장 읽기 하드 드라이브의 객체 - 역시리얼화된 후 읽기
ObjectOutPutStream 객체 출력 바이트 흐름
—2.문자 흐름 Reader는 문자 흐름을 읽는 추상 클래스(이중 바이트 읽기)에 사용됩니다. 한 글자에 두 바이트입니다. - 문자 하위 클래스만 읽을 수 있습니다. BufferReader(버퍼 효율이 비교적 높음)
서열화와 반서열화의 예
/*
* ,
* */
public class ObjectStreamTest {
public static void main(String[] args) throws Exception {
//ObjectStreamTest.writeObject();
ObjectStreamTest.readObject();
}
//
public static void readObject() throws Exception {
ObjectInputStream read=new ObjectInputStream(new FileInputStream("C:/student.o"));
Student s1=(Student)read.readObject();
Student s2=(Student)read.readObject();
System.out.println(s1 + "," + s2);
}
//
public static void writeObject() throws Exception {
ObjectOutputStream write =new ObjectOutputStream(new FileOutputStream("c:/student.o"));
write.writeObject(new Student(1, "aa"));
write.writeObject(new Student(2, "bb"));
write.close();
}
}
솔리드 클래스 객체
// ---> ( )
public class Student implements Serializable{// Serializable ,
// :
private static final long serialVersionUID = 3326694874182755921L;
@Override
public String toString() {
return "Student [id=" + id + ", age=" + age + "]";
}
private int id;
private String age;
public Student(int id, String age) {
super();
this.id = id;
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
세션 폐기 조건 1.브라우저가 닫히고 30분 동안 서버 세그먼트와 상호작용을 하지 않았습니다. 세션 성명 주기가 만료되었습니다.세션 폐기 방법이 있어요.
사용자가 로그인 상태에서session을 유지하고 웹 서버를 멈추면session은 소각되지 않으며 웹 서버를 다시 시작한 후에session는 메모리로 반서열화되어 페이지를 다시 갱신하고 로그인 상태입니다.브라우저를 다시 열면 (캐시 세션이 효력을 상실하지 않음) 로그인하지 않습니다.
서열화 번호를 강제로 수정하면 웹 서버를 다시 시작하면 반서열화 오류가 발생합니다
、