본문 바로가기

java,jsp,spring/java

(20)
java 네트워크 네트워크 TCP/IP TCP(Transmission Control Protocol) : 두 시스템 간에 신뢰성 있는 데이터의 전송을 관장하는 프로토콜 IP(Internet Protocol) : 패킷 교환 네트워크에서 송수신 호스트가 데이터를 주고 받는 것을 관장하는 프로토콜 IP 주소 네트워크 상에서 유일하게 식별할 수 있는 컴퓨터 주소 4개의 숫자가 .으로 연결 ex) 192.156.11.15 숫자 주소는 기억하기 어려워 도메인 이름으로 바꿔 사용 DNS > 도메인 이름을 숫자로 구성된 IP 주소로 자동 변환 현재 32비트 IP버전4(IPv4) 사용하나 128비트의 IPv6이 점점 사용되는 추세 포트 통신하는 프로그램 간에 가상의 연결단 포트 생성 모든 응용프로그램은 하나 이상의 포트 생성 가능 잘 알..
java 스레드 스레드 (Thread) 스레드와 멀티스레딩 스레드 : JVM에 의해 스케쥴되는 실행 단위의 코드 블럭 자바의 멀티태스킹 : 멀티스레딩, 응용프로그램 > 스레드가 한개 이상 구성되어 있음 멀티스레딩 효과 : 시간 지연을 줄임 [멀티스레딩 예시 코드] class ThreadEx1 extends Thread { @Override public void run() { for (int i = 0; i < 5; i++) { System.out.println("i: "+i); } } } public class ThreadEx { public static void main(String[] args) { ThreadEx1 t1 = new ThreadEx1(); //Thread t2 = new Thread(new Threa..
java 입,출력 스트림 입력 스트림, 출력 스트림 개념 바이트 기반 스트림, 문자 기반 스트림 바이트 : 그림, 멀티미디어, 문자 포함 문자 차이점 : 바이트 기반 > int 타입 / 문자 기반 > char 타입 입력 스트림 int read() : 한 바이트를 읽어 들인다. 단, 더이상 읽어올 자료가 없으면 -1을 반환 int read(byte b[]) : 바이트 배열을 읽어 들임 int read(byte b[], int off, int len) : 바이트 배열의 주어진 위치에 주어진 길이 만큼 읽어 들임 [예시 코드] import java.io.FileInputStream; import java.io.InputStream; public class ReadExample2 { public static void main(Strin..
java 제네릭, 컬렉션 제네릭 특정(Specific) 타입을 미리 지정해주는 것이 아닌 필요에 의해 지정할 수 있도록 하는 일반(Generic) 타입 타입 변환 제거 가능 > 관리 편리, 컴파일 오류 방지 “hello”는 객체기 때문에 값을 받기 위해서 String으로 다운캐스팅 해야함 타입으로 지정했기 때문에 “hello”는 String타입으로 입력되어 다운캐스팅 불필요 타입 변수 자리에 실제 사용할 타입 명시할 때 명칭 사용 두 개 이상의 타입 파라미터 사용 가능 [예제 1] [box.java] public class Box { private Object object; public Object get() { return object; } public void set(Object object) { this.object = o..
java 기타 클래스 StringBuffer 클래스 가변 크기의 문자열 저장 클래스 StringBuffer sb = new StringBuffer(”java”); StringTokenizer 클래스 하나의 문자열을 여러 문자열로 분리 String query = “name=kitae&addr=seoul&age=21”; StringTokenizer st = new StringTokenizer(query, “&”); 토큰 1 : “name=kitae” 토큰 2 : “addr=seoul” 토큰 3 : “age=21” StringTokenizer st = new StringTokenizer(query, “&=”); 토큰 1 : “name” 토큰 2 : “kitae” 토큰 3 : “addr” 토큰 4 : “seoul” 토큰 5 : “a..
java 스레드, 메모리 사용 영역 스레드(thread) 프로세스 내에서 실행되는 흐름의 단위 메모리 사용 영역 OS에서 할당 받은 메모리 영역(Runtime Data Area)을 세 영역으로 구분 메소드 영역 : static 영역(클래스 로딩 시 생성) 클래스정보(멤버변수의 이름) 변수정보(데이터타입, 접근제어자정보) 메소드정보(메소드 이름, 리턴타입, 파라미터, 접근제어자 정보) static변수(정적 멤버변수, static이 붙은 자료형) final class변수 Constant pool(상수풀 : 문자상수, 타입, 필드, 객체참조가 저장됨) 힙 영역 : 객체, 배열 영역 스택 영역 : Primitive 타입 (boolean, char, short, int, long, float, double) 의 데이터가 값이랑 같이 할당,Strin..
java 패키지 패키지 주요 패키지 java.lang 자바 language, 자동 상속 > 그냥 사용할 수 있음 java.util 자바 유틸리티 java.io 입출력 java.awt 자바 GUI 객체 해시코드 서명 : 객체에 대한 서명 객체를 식별하는 정수값 내부 주소 : 참조 변수 해시코드가 같으면 equals()메소드를 이용해 객체가 같은지 비교 → 해시코드가 같다고 동일객체가 아닐 수 있음 예제 class Point { private int x,y; public Point(int x, int y) { this.x = x; this.y = y; } //public String toString() { //toString 메소드 오버라이딩 //return "Point("+x+", "+y+")"; //} } public ..
java 추상클래스, 인터페이스 추상 클래스 실체클래스의 공통적인 부분(변수,메서드)를 추출해서 선언한 클래스 객체 생성을 하지 못함 종류 : 추상 메소드 포함 / 미포함 상속 1. 단순 상속 : 추상클래스를 상속 받고 추상 메소드를 오버라이딩하지 않으면 서브클래스에도 abstract를 붙여야함 2. 구현 상속 abstract class Calculator { public abstract int add(int a, int b); public abstract int subtract(int a, int b); public abstract double average(int[] a); } public class GoodCalc extends Calculator{ @Override // annotation: 시스템 주석 public int ad..