스레드란 무엇인가? 스레드 (Thread) --스레드는프로세스에서 동작(구성)하는 실행의 흐름 단위로,간단하게 "실행의 단위"라고 생각하면 된다. 하나의 프로세스는 여러 개의 스레드를 가질 수 있으며,스레드를 이용하면 하나의 프로세스에서 여러 부분을 동시에 실행할 수 있다. -- 프로세스와 스레드 --스레드라는 개념이 없을 당시의 프로세스는 한 번에 하나의 일만 처리했다.그래서 프로세스의 모든 동작은 [ A작업 끝 -> B작업 시작 -> B작업 끝 -> C작업 시작 ... ]처럼 순차적으로 동작한다.한 번에 하나의 작업만 처리하는 프로세스를 "단일 스레드 프로세스"라고 부르기도 한다. 스레드라는 개념이 도입되면서하나의 프로세스가 한 번에 여러 작업을 동시에 처리할 수 있게 되었다.즉, 여..
프로세스는 무엇일까? 프로세스 (Process) --프로세스는실행 중인 프로그램을 의미한다. 프로그램은 실행되기 전까지는그저 보조기억장치에 저장되어 있는 데이터일 뿐이지만,해당 프로그램을 보조기억장치에서 메모리에 적재하고 실행하는 순간해당 프로그램은 프로세스가 된다. (실행 중인 프로그램) 윈도우는 [작업 관리자]를 통해 확인할 수 있다. 포그라운드 프로세스 (foreground process)는현재 크롬 브라우저, 작업 관리자처럼 사용자가 보는 앞에서 실행 중인 프로세스를 의미한다. 백그라운드 프로세스 (background process)는사용자가 보지 못하는 뒤(내부)에서 실행 중인 프로세스를 의미한다.그리고 백그라운드 프로세스 중에서 사용자와 상호작용하지 않고그저 묵묵히 정해진 일만 수..
변수와 상수는 무엇이며, 어떻게 작성할까? 변수 --변수는단일 값을 저장하고 관리하기 위한 이름을 붙인 메모리 공간이다. 변수 기본 형식[접근 제한자] ;// 변수만 생성 (공간만 생성)[접근 제한자] = ;// 변수 생성과 동시에 값 할당public double a = 3.14;// double타입인 변수 a를 생성과 동시에 3.14값을 할당 (접근 제한자는 public으로 지정)int b = 5;// int타입인 변수 b를 생성과 동시에 5값을 할당 (접근 제한자는 생략하였으므로 기본값인 private로 지정int c;// int타입인 변수 c를 생성 변수 규칙변수를 사용하기 전에 반드시 초기화변수명 대소문자 구분변수명은 예약어와 동일한 명칭 사용 불가변수명의 시작은 무조건 영문 작..
자바 소스 코드를 작성할 때 어떠한 규칙이 있을까? 예시 코드 --Hello.java 소스코드class Hello { public static void main (String[] args) { System.out.println("Hello World."); }}-- 자바 소스코드 실행 시 동작 순서 --자바 소스 코드를 작성한 (.java)파일 생성IDE를 통해 (.java)파일 실행 (프로그램의 시작점인 main() 메서드가 존재하는 파일 위치에서 실행해야 한다.)컴파일러를 통해 컴파일 동작 (.java 파일 -> 바이트코드(.class) 파일로 변환)JVM을 통해 바이트코드(.class)파일을 해석하고 실행 (+ 메모리 적재)4번에 이어서 JVM이 main() 메..
빌드는 무엇이며, 어떻게 동작하는 것일까? 빌드 (Build) --빌드는소스 코드를 최종적으로 실행 가능한 형태로 변환하는 과정을 의미한다. Java의 빌드는단순히 컴파일만 하는 것이 아닌 "컴파일", "패키징", "의존성 관리", "테스트", "배포 준비" 등이포함되어 있는 더 넓은 개념이다. Java 소스코드 빌드 주요 단계컴파일 : java 소스코드(.java 파일)를 바이트코드(.class 파일)로 변환하는 단계의존성 관리 : 해당 프로그램이 사용하는 "외부 라이브러리" or "모듈"을 추가(관리)하는 단계패키징 : 바이트코드와 관련 리소스 파일들을 하나의 아카이브 파일로 묶는 단계 (jar파일)테스트 : 작성했던 코드가 원했던 동작으로 동작하는지 확인 단계리소스 처리 ..
java란 무엇일까? JAVA --Java는 1995년에 Sun Microsystems에서 처음 출시한 "객체지향 프로그래밍 언어"다.(현재는 Oracle이 Java를 인수하여 관리 중)-- 주요 특징 --1. 객체지향 프로그래밍 언어 (OOP, Object-Oriented Programming)프로그램을 객체 단위로 구조화하여 코드의 재사용성을 높이고 유지보수를 쉽게 도와준다.객체지향의 핵심인 "캡슐화", "상속", "다형성", "추상화"와 같은 개념을 지원한다. 2. 운영체제(플랫폼)에 독립적기존의 언어(C, C++ 등)들은 하나의 운영체제(플랫폼)에 맞게 프로그램이 개발되기 때문에운영체제나 하드웨어에 종속된다.그래서 다른 운영체제에서는 해당 프로그램을 실행할 때 다르게 동작하거나 실..
서브쿼리는 어떻게 작성할까? 서브쿼리 --서브쿼리는SQL문에서 내부에 또 다른 SQL문을 작성하는 쿼리다. 일반적으로 서브쿼리를 작성하는 절SELECT절FROM절WHERE절HAVING절SELECT문뿐만 아니라 INSERT, UPDATE, DELETE문에서도 작성 가능하다. 서브쿼리와 같이 사용할 수 있는 연산자IN : 서브쿼리에서 반환된 값들 중에 하나라도 일치하는 값이 있는지 확인EXISTS : 서브쿼리의 결과가 존재하는지 여부 확인주로 WHERE절 or HAVING절에서 사용된다. IN 연산자 형식속성명 IN (서브쿼리) EXISTS 연산자 형식EXISTS (서브쿼리)-- SELECT절에 서브쿼리 작성하기 --SELECT절에 작성하는 서브쿼리는일반적으로 특정 속성(컬럼)..
TCL은 무엇일까? 트랜잭션 제어어 (TCL) --TCL은DB에서 트랜잭션을 제어하는 데 사용되는 SQL 명령어다.이때 DDL, DML, DCL처럼 직접적으로 데이터를 조작하는 것이 아니라트랜잭션 단위에서 데이터 변경을 제어하는 명령어이므로TCL은 DDL, DML, DCML 명령어와 함께 사용된다. 트랜잭션(Transaction)은여러 SQL 작업을 하나의 단위로 묶어 실행하는 것을 의미한다.트랜잭션의 주요 특성 4가지 (ACID)- Atomicity (원자성) : 모든 작성이 성공적이거나 전혀 실행되지 않은 것처럼 취급- Consistency (일관성) : DB의 상태를 일관성 있게 유지- Isolation (격리성) : 독립적으로 실행되어 다른 트랜잭션에 영향을 주지 않..