목록
'전체 글' 747건
코드로 놀고, 언어로 성장하는 공방.
-
스레드 생명 주기와 스케줄링스레드 상태스레드는 JVM에 있어 생명체와 같습니다. 스레드는 태어나고, 실행하고, 잠자고, 대기하고, 종료하는 등 생명 주기(life cycle)를 가집니다. 그리고 생명주기 동안 여러 상태의 변이를 거칩니다. 스레드의 상태는 다음과 같이 총 6가지이며 JVM에 의해 관리됩니다.New스레드가 생성되었지만 아직 실행할 준비가 되지 않은 상태입니다. start() 메소드가 호출되면 RUNNABLE 상태가 관리됩니다.RUNNABLE스레드가 현재 실행되고 있거나, 실행 준비되어 스케줄링을 기다리는 상태입니다. TIMED_WAITING스레드가 sleep(long n)을 호출하여 n밀리초 동안 점을 자는 상태입니다.BLOCK 스레드가 I/O 작업을 실행하여 I/O 작업의 완료를 기다리면서 멈춘(blocked) 상..
-
데이터베이스 및 테이블 생성하기데이터베이스 생성하기 MySQL 프롬프트에 접속합니다. CREATE SCHEMA [데이터베이스명]의 데이터베이스를 생성하는 명령어입니다. SCHEMA(스키마)라고 되어 있는데, MySQL에 데이터베이스와 스키마는 같은 개념입니다. nodejs라는 이름의 데이터베이스를 생성합니다. 그 후 use nodejs; 명령어를 추가로 입력하여 앞으로 nodejs 데이터베이스를 사용하겠다는 것을 MySQL에 알립니다.mysql> CREATE SCHEMA `nodejs` DEFAULT CHARACTER SET utf8;Query OK, 1 row affected, 1 warning (0.07 sec)mysql> use nodejs;Database changed CREATE SCHEMA 뒤에 DEFAULT CHARAC..
-
다른 브라우저에서 새 세션 만들기브라우저에서 Ctrl + Shift + N을 눌러 스크릿 모드의 크롬을 실행합니다. 주소창에서 /sess로 요청하면 새로운 세션을 생성한 후 다른 세션 id를 출력합니다. 세션 기본 유효 시간은 톰캣 컨테이너에서 지정한 30분(1800)초입니다. 그러나 HttpSession의 setMaxInactiveInterval() 메서드를 이용하면 사용자가 원하는 세션 유효 시간을 설정할 수 있습니다. 그리고 invalidate()의 메서드를 이용하면 새션을 언제든지 삭제할 수도 있습니다.다음과 같이 톰캣 컨테이너의 web.xml에 세션 유효 시간이 설정된 것울 확인할 수 있습니다. 이번에는 제공되는 메서드들을 이용해서 직접 세션 유효 시간을 재설정해보겠습니다.1. 다음과 같이 SessioTest2 클래스를 준비합..
-
Runnable 인터페이스 스레드 만들기Runnable은 클래스가 아닌 인터페이스로서 경로명 java.lang.Runnable이며, 다음과 깉이 추상 메서드 run() 하나만 가지고 있습니다.interface Runnable { public void run();} 스레드 클래스 선언: Runnable 인터페이스 구현Runnable 인터페이스를 구현하도록 TimerRunnable 클래스를 선언합니다.class TimerRunnable implements Runable { ................................} 스레드 코드 작성: run() 메서드 오버라이딩Runnable 인터페이스의 run() 메서드를 오버라이딩하여 스레드 코드를 작성합니다.class TimerRunnable implments Runnable { @Over..
-
워크벤치 커넥션 생성하기먼저 워크벤치를 실행합니다. MySQL Connections 옆의 + 버튼을 클릭합니다. 커넥션 생성 화면에서 Connection Name에 localhost라고 하고 Password에서 Store in Vault... 버튼을 누릅니다. MySQL 설치 시 설정했던 비밀번호를 입력하고 OK를 누릅니다. Setup New Connection 화면에서도 OK를 눌러 커넥션을 생성하면 됩니다. MySQL Connections에 새로 생성된 localhost를 누릅니다.다음은 접속 화면입니다.
-
서블릿에서 세션 API 이용하기1. 다음과 같이 세션 테스트를 위한 실습 파일인 SessionTest 클래스를 준비합니다. 2. SessionTest 클레스를 다음과 같이 작성합니다. request의 인지 없는 getSession() 메서드를 호출하여 세션이 없으면 새로 생성하고, 세션이 있으면 기존 세션을 가져옵니다. 또한 세션 객채의 getMaxInactiveInterval()를 호출하여 생성된 세션의 유효 시간을 가져옵니다.package sec03.ex01;import jakarta.servlet.ServletException;import jakarta.servlet.annotation.WebServlet;import jakarta.servlet.http.HttpServlet;import jakarta.servlet.http.H..