JAVA(244)
-
[JSP] 15. JSTL(JSP Standard Tag Library) #1 JSTL이란 무엇인가?
1. JSTL이란 무엇인가? JSTL는 자바 EE 웹 애플리케이션 개발 플랫폼의 구성요소입니다. XML 데이터 처리, 조건문 실행, 데이터베이스 접근, 반복문과 같은 일반적인 작업을 위한 JSP 태그의 태그 라이브러리를 추가하여 JSP 규격을 확장한 것입니다. 즉, JSTL는 JSP 페이지에서 일반적으로 많이 쓰이는 자바 언어 로직들을 태그 라이브러리화 한것입니다. 왜 JSTL를 사용해야 하는가? JSP는 스크립트릿( )과 표현식 등의 스크립트 코드와 HTML 코드가 뒤섞이게 되는데 이렇게 뒤썩인 JSP 코드는 알아보기 힘든 경우가 있습니다. 예를 들어 if문이나 for문을 사용할 경우에 다음과 같은 형태가 됩니다. 위 코드는 직원의 정보를 담은 리스트를 순회하며 해당 직원의 부서가 인사부인 사람의 이름..
2022.06.29 -
[Java][Thread] 쓰레드의 구현과 실행
1. 쓰레드를 구현하는 방법 Thread 클래스를 상속하는 방법 Runnable 인터페이스를 구현하는 방법 1.1 Thread 클래스를 상속하는 방법 class MyThread extends Thread{ public void run(){ // Thread 클래스의 run()을 오버라이딩 ... } } MyThread t1 = new MyThread(); t1.start(); 1.2 Runnable 인터페이스를 구현하는 방법 class MyThread implements Runnable{ public void run(){ // Runnable 인터페이스의 run()을 구현 ... } } Thread t1 = new Thread(new MyThread()); t1.start(); 2. 현재 실행중인 쓰레드..
2022.06.28 -
[Java][Thread] 프로세스와 쓰레드
1. 프로세스와 쓰레드는 무엇인가? 프로세스 : 실행중인 하나의 프로그램 쓰레드 : 하나의 프로세스안에서 수행되는 1개 이상의 작은 프로세스(경량 프로세스라고도 부름) 프로세스의 구성 위 그림에서 하나의 프로세스가 하나의 쓰레드를 가지고 있으면 싱글쓰레드 프로세스라고 부르고 쓰레드가 2개 이상이라면 멀티쓰레드 프로세스라고 부릅니다. 2. 멀티태스킹과 멀티쓰레딩 멀티태스킹(MultiTasking, 멀티프로세싱) : 메모리 위에 여러개의 프로세스를 올려두고 실행하는 것을 의미합니다. 멀티쓰레딩(MultiThreading) : 하나의 프로세스 내에서 여러 쓰레드가 동시에 작업을 수행하는 것을 의미합니다. 3. 멀티쓰레딩의 장단점 CPU의 사용률을 향상시킴 자원을 보다 효율적으로 사용할 수 있음 사용자에 대한 ..
2022.06.28 -
[Java][I/O] 직렬화(Serialization)
1. 직렬화란 무엇인가? 직렬화(Serialization)란 객체를 데이터 스트림으로 만드는 것을 뜻합니다. 즉, 객체에 저장된 데이터를 스트림에 쓰기(write) 위해 연속적인(serial) 데이터로 변환하는 것을 의미합니다. 반대로 스트림으로부터 데이터를 읽어서 객체를 만드는 것을 역직렬화(deserialization)이라고 합니다. 객체의 직렬화와 역직렬화 객체의 정의 및 특징 클래스에 정의된 인스턴스 변수의 집합 객체에는 클래스 변수나 메서드가 포함되지 않음 객체는 오직 인스턴스변수들로만 구성되어 있음 2. ObjectInputStream, ObjectOutputStream 클래스의 정의된 인스턴스 변수가 단순한 기본형일때는 직렬화하여 저장하는 일이 간단하지만 인스턴스 변수의 타입이 참조형일때는 ..
2022.06.28 -
[Java][I/O] 표준입출력과 File
1. 표준입출력 - System.in, System.out, System.err 표준입출력은 콘솔(console, 도스창)을 통한 데이터 입력과 콘솔로의 데이터 출력을 의미합니다. 자바에서 제공하는 표준 입출력 스트림 System.in : 콘솔로부터 데이터를 입력받는데 사용 System.out : 콘솔로 데이터를 출발하는데 사용 System.err : 콘솔로 데이터를 출력하는데 사용 표준 입출력 스트림 클래스 타입 System.in : InputStream System.out : PrintStream System.err : PrintStream 2. 표준입출력의 대상변경 - setOut(), setErr(), setIn() System.in, System.out, System.err의 입출력 대상은 기본..
2022.06.28 -
[Java][I/O] 문자기반의 보조스트림
1. BufferedReader & BufferedWriter BufferedReader / BufferedWriter는 버퍼를 이용해서 입출력의 효율을 높일 수 있도록 해주는 역할을 수행합니다. @Order(1) @Test void bufferedReaderTest() { try(FileReader fr = new FileReader("./src/ch15/ex_10_BufferedReader_BufferedWriter/BufferedReaderWriterTest.java"); BufferedReader br = new BufferedReader(fr)){ String line = ""; for(int i = 1; (line = br.readLine()) != null; i++) { // ";"를 포함한..
2022.06.27