프로세스와 쓰레드 Process는 간단히 말해서 '실행중인 프로그램' => 프로그램을 실행하면 OS로부터 실행에 필요한 메모리(자원)을 할당 받아 프로세스가 된다. 프로세스는 프로그램을 수행하는데 필요한 데이터, 메모리 등의 자원 그리고 쓰레드로 구성 => 프로세스의 자원을 이용하여 작업을 수행하는 것이 쓰레드 하나의 프로세스가 가질 수 있는 쓰레드의 개수는 제한되어 있지 않음 쓰레드가 작업을 수행하는데 개별적인 메모리(호출스텍)을 필요로 하기에 프로세스 메모리의 한계에 따라 생성 할 수 있는 쓰레드 개수 정해져 있다. 멀티태스킹과 멀티 쓰레딩 현재 대부분의 OS는 멀티 태스킹을 지원하기 때문에 여러개의 프로세스가 동시에 실행 될 수 있음 CPU의 Core 가 한 번에 단 하나의 작업만 수행할 수 있으므..
배열 배열 배열이란 ? 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 배열의 생성 타입[] 변수이름; // 배열을 선언 (배열을 다루기 위한 참조변수 선언) 변수이름 = new 타입[길이]; // 배열을 생성 (실제 저장공간 생성) 배열의 길이와 인덱스 길이가 0인 배열도 생성 가능 => int[] score = {}; 길이가 0인 배열 생성 배열의 초기화 자동적으로 자신의 타입에 해당하는 기본값으로 초기화 됨 new 타입[] 생략 불가 배열의 출력 Arrays.toString(배열 이름) char 배열만 println method로 출력 가능 배열의 복사 자신을 가르키는 참조 변구가 없는 배열은 사용이 불가함, 쓸모 없게된 배열은 JVM의 가비지 컬렉터에 의해서 자동적으로 메모리에서 제거 배열의 ..
생략이 많음...책을 보면 익히기 어렵지 않은 내용 Chapter 03 문자열을 비교할 때는 equals()사용 equals()는 객체가 달라도 내용이 같으면 true를 반환 대소문자 구별 없이 비교를 하고 싶다면 equalsIgnoreCase() 사용 Chapter 04 switch 문의 제약 조건 조건식 결과는 정수 또는 문자열 case문의 값은 정수 상수만 가능, 중복 불가 enhanced for statement jdk 1.5부터 적용 for (int i=0; i
변수 변수란? 변수란 단 하나의 값을 정할 수 있는 메모리 공간 변수를 선언하면, 메모리의 빈 공간에 '변수타입'에 알맞은 크기의 저장공간이 확보되고, '변수이름'을 통해서 사용할 수 있음 변수의 초기화 사용 전 반드시 초기화를 실행 garbage value가 남아있을 수 있음 지역 변수는 반드시 초기화 / 클래스 변수, 인스턴스 변수 초기화 생략 가능 변수의 명명 규칙 1. 대소문자가 구분되며 길이에 제한이 없다 2. 예약어를 사용하지 않는다 3. 숫자로 시작해서는 안 됨 4. 특수문자는 '_'와 '$'만 허용 권장하는 규칙 (coding convention) 1. 클래스 이름의 첫글자는 항상 대문자 2. 여러 단어로 이루어진 이름은 단어의 첫 글자를 대문자로 (파스칼) 3. 상수의 이름은 모두 대문자..
자바 자바란? 자바의 가장 중요한 특징은 운영체제에 독립적 (JVM의 역할) C++의 장점을 채택하는 동시에 잘 사용되지 않는 부분을 제외 자바의 역사 애플릿(Applet)을 이용하여 정적 웹페이지 구현 => 하지만 보안상의 이유로 최신 브라우저에서 애플릿 지원 중단 반면에 서버쪽 프로그래밍을 위한 서블릿(Servlet)과 JSP(Java Server Page)가 더 많이 사용 자바 언어의 특징 운영 체제에 독립적 자바 응용프로그램은 운영체제나 하드웨어가 아닌 JVM하고만 통신 JVM이 자바 응용프로그램으로부터 전달 받은 명령을 해당 운영체제가 이해할 수 있도로고 변환 자바로 작성된 프로그램은 운영체제 독립적이지만 JVM은 운영체제에 종속적 / 썬에서는 여러 운영체제에 설치할 수 있는 서로 다른 버전의 ..