반응형
upload&download #4 DB 테이블 설계 Query(코드만제공) DB테이블. CREATE TABLE THEME_MESSAGE ( THEME_MESSAGE_ID number NOT NULL PRIMARY KEY, GROUP_ID number NOT NULL, ORDER_NO number NOT NULL, LEVELS number NOT NULL, PARENT_ID number NOT NULL, REGISTER date NOT NULL, NAME VARCHAR2(20) NOT NULL, EMAIL VARCHAR2(80) NOT NULL, IMAGE VARCHAR2(40) NOT NULL, PASSWORD VARCHAR2(20), TITLE VARCHAR2(100) NOT NULL ); 글번호, 메인과 답변글 묶는 그룹번호, 글 순서, 답변글 레벨, 답변글의 상위글의 글번..
upload&download #2 DBCP를 이용한 커넥션 풀 DBCP를 이용한 커넥션 풀(Connection pool) 사용 적용. https://docs.oracle.com/javase/8/docs/api/ 코드 참고. Java Platform SE 8 docs.oracle.com DBCPInit.java import문은 자바 컴파일러에 코드에서 사용할 클래스의 패키지에 대한 정보를 미리 제공하는 역할. import 문을 사용할시 다른 패키지에 속한 클래스를 패키지 이름제외한 클래스 이름만으로 사용할수있게한다. // import import javax.servlet.http.HttpServlet; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import java.util.S..
Java Io기반 입출력 및 네트웤 #2 file 클래스 파일 시스템의 파일을 표현하는 클래스 파일 객체 생성, 파일 똔느 디렉토리 존재 유무 확인, 파일 및 디렉토리 생성 및 삭제 예시. import java.io.File; import java.net.URI; import java.text.SimpleDateFormat; import java.util.Date; public class AFileExample { public static void main(String[] args) throws Exception { File dir = new File("C:/Temp/Dir"); File file1 = new File("C:/Temp/file1.txt"); File file2 = new File("C:/Temp/file2.txt"); File ..
Java Io기반 입출력 및 네트웤 #1 IO기반 입출력 및 네트워킹 java.io 패키지 = 자바의 기본적인 데이터 입출력(IO : Input/Output ) API 제공 #예외가 거의 발생하니 try, catch로 해도되고 throws Exception으로 떠넘겨도 된다. 바이트 기반 스트림과 문자 기반 스트림 바이트 기반 스트림 = 그림, 멀티미디어, 문자 등 모든 종류의 데이터를 받고 보내는 것이 가능. 문자 기반 스트림 문자만 받고 보낼 수 있도록 특화. 바이트 기반 스트림 = InputStream , OutputStream 입력 , 출력 최상위 클래스 문자 기반 스트림 = Reader , Writer 입력 , 출력 최상위 클래스 InputStream = 바이트 기반 입력 스트림의 최상위 클래스로 추상 클래스 예시. import jav..
자바[Java] 컬렉션 프레임워크(Collection Framework)에 대한 개념정리 컬렉션 프레임워크(Collection Framework) 컬렉션은? 사전적 의미로 요소(객체)를 수집해 저장하는 것 배열의 문제점은 저장할 수 있는 객체 수가 배열을 생성할 때 결정됩니다. 즉 불특정 다수의 객체를 저장하기에는 문제가 됩니다. 객체를 삭제했을 때 해당 인덱스는 비워지게 됩니다. 낱알 빠진 옥수수와 같습니다. 객체를 저장하려면 어디가 비워져 있는지 확인을 해되는 불편한 점이 있습니다. 컬렉션 프레임워크는 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 제공되는 컬렉션 라이브러리입니다. java.util이라는 패키지에 포함이 되며, 인터페이스를 통해서 정형화된 방법으로 다양한 컬렉션 클래스 이용 컬렉션 프레임워크 주요 인터페이스 List , Set, Map이 있으며 List 중에선 Arr..
Java Generic 제네릭 Generic 제네릭 타입은 컴파일 단계에서 잘못된 타입 사용될 수 있는 문제를 제거 할수있다. 컬렉션, 람다식(함수적 인터페이스), 스트림, Nio에서 널리사용 #제너릭을 모르면 api도큐먼트 해석이 어려우니 학습해야한다 제네릭의 이점은 컴파일 시 강한 타입 체크를 할수있다(완벽하게 타입을 체크) 실행 시 타입 에러가 나는 것 방지 컴파일 시에 미리 타입을 강하게 체크해서 에러 사전 방지 타입변환 제거 가능 제네릭 타입이란 타입을 파라미터로 가지는 클래스와 인터페이스 선언 시 클래스 또는 인터페이스 이름 뒤에 부호를 붙인다 사이에는 타입 파라미터 위치한다 타입 파라미터는 일반적으로 대문자 알파벳 한문자로 표현 … 개발 코드에서는 타입 파라미터 자리에 구체적인 타입을 지정해야함 제네릭 타입 사용여부에 따..
썸네일 Java 멀티스레드 멀티 태스킹 멀티 태스킹 (multi tasking) 두가지 이상의 작업을 동시에 처리한다. 멀티 프로세스 독립적으로 프로그램을 실행하고 여러 가지 자업 처리한다 멀티 스레드 한개의 프로그램을 실행하고 내부적으로 여러 가지작업처리한다. 메인(main) 스레드 모든 자바 프로그램은 메인 스레드가 main()메소드를 실행하며 시작된다. 메소드의 첫 코드부터 아래로 순차적으로 실행되고 종료는 마지막 코드가 실행되거나 return문을 만나면 종료 # java.awt.Toolkit 찾아보기. Toolkit.getDefaultToolkit(); , toolkit.beep(); # OO.start(); # Thread.sleep( ); # implements Runnable = 쓰레드만들어주는것. 예시. 멀티 imp..
썸네일 Java 기본 API 클래스 #3 String 클래스 생성자 byte[] 배열을 문자열로 변환하는 생성자. 키보드로부터 읽은 바이트 배열을 문자열로 변환 #System.in.read()메소드는 키보드에서 입력한 내용을 매개값으로 주어진 바이트 배열에 저장하고 읽은 바이트 수를 리턴. 예시. 바이트 배열을 문자열로 변환. public class ApiByteToStringExample { public static void main(String[] args) { byte[] bytes = {72,101,108,108,111, 32,74,97,118,97}; // key 코드. String str1 = new String(bytes); System.out.println(str1); String str2 = new String(bytes,6,4..
Java 기본API클래스 #2 깊은 복제를 하려면 Object의 clone()메소드를 재정의해서 참조 객체를 복제하는 코드를 직접 작성해야한다 예시. 깊은 복제 public class ApiMemberCar_DeepClone { public String model; public ApiMemberCar_DeepClone(String model) { this.model = model; } } import java.util.Arrays; public class ApiMember_DeepClone implements Cloneable { public String name; public int age; public int[] scores; // scores와 ApiMemberCar_DeepClone에 model이 깊은복제대상 public Ap..