JAVA개념

· JAVA개념
프로세스와 쓰레드(process & thread) -> 프로세스 : 실행중인 프로그램, 자원(메모리, CPU)과 쓰레드로 구성 -> 쓰레드 : 프로세스 내에서 실제 작업을 수행. 모든 프로세스는 최소한 하나의 쓰레드를 가지고 있다. -> 프로세스 : 쓰레드 = 공장 : 일꾼 -> 싱글 쓰레드 프로세스 = 자원(공장) + 쓰레드(일꾼) 일꾼이 한명 -> 멀티 쓰레드 프로세스 = 자원 + 쓰레드 + 쓰레드 + ... + 쓰레드 일꾼이 여러명 - "하나의 새로운 프로세스를 생성하는 것보다 하나의 새로운 쓰레드를 생성하는 것이 더 적은 비용이 든다" - 2프로세스 1 쓰레드 vs. 1프로세스 2 쓰레드 - 공장을 하나 더 짓는 것보다 일꾼을 늘리는 방안이 더 효율적이다. 멀티쓰레드의 장단점 - 대부분의 프로그램..
· JAVA개념
StringBuffer() - 16문자를 담을 수 있는 버퍼를 가진 StringBuffer 인스턴스를 생성한다. StringBuffer sb = new StringBuffer(); StringBuffer(int length) - 지정된 개수의 문자를 담을 수 있는 버퍼를 가진 StringBuffer인스턴스를 생성한다. StringBuffer sb = new StringBuffer(10); StringBuffer(String str) - 지정된 문자열 값(str)을 갖는 StringBuffer 인스턴스를 생성한다. StringBuffer sb = new StringBuffer("스트링버퍼"); StringBuffer append(boolean b) StringBuffer append(char c) Stri..
· JAVA개념
String클래스에서는 equals 메서드를 오버라이딩해서 문자열의 내용을 비교하도록 구현되어 있지만 StringBuffer클래스는 equals 메서드를 오버라이딩하지 않아서 StringBuffer클래스의 equals 메서드를 사용해도 등가비교연산자(==)로 비교한 것과 같은 결과를 얻는다. 반면에 toString()은 오버라이딩되어 있어서 StringBuffer인스턴스에 toString()을 호출하면, 담고 있는 문자열을 String으로 반환한다. 그래서 StringBuffer인스턴스에 담긴 문자열을 비교하기 위해서는 StringBuffer인스턴스에 toString()을 호출해서 String인스턴스를 얻은 다음, 여기에 equals 메서드를 사용해서 비교해야 한다. public class StringB..
· JAVA개념
프로그램 오류 - 프로그램이 실행 중 어떤 원이에 의해서 오작동을 하거나 비정상적으로 종료되는 경우가 있다. - 이러한 결과를 초래하는 원인을 프로그램 에러 또는 오류라고 한다. 1. 컴파일 에러 - 컴파일 시에 발생하는 에러 - 소스코드 컴파일 -> 컴파일러가 소스코드(*.java)에 대해 오타나 잘못된 구문, 자료형 체크 등의 기본적인 검사를 수행하여 오류가 있는지 알려줌 -> 에러들을 수정하여 클래스 파일(*.class) 생성 2. 런타임 에러 - 실행 시에 발생하는 에러 - 프로그램이 실행 중 독작을 멈춘 상태로 오랜 시간 지속 or 갑자기 프로그램이 실행을 멈추고 종료되는 경우 - 자바에서는 실행 시(runtime)발생할 수 있는 프로그램 오류를 '에러(error)'와 '예외(exception)..
· JAVA개념
1. 높은 재사용성 - JAVA API에서 제공하는 메서드들을 사용하면서 경험한 것처럼 한번 만들어 놓은 메서드는 몇 번이고 호출할 수 있으며 다른 프로그램에서도 사용이 가능 2. 중복된 코드의 제거 - 프로그램을 작성하다보면, 같은 내용의 문장들이 여러 곳에 반복해서 나타나곤 한다. (프로젝트 하면서 이해함) 3. 프로그램의 구조화 - 큰 규모의 프로그램에서는 문장들을 작업단위로 나눠서 여러 개의 메서드에 담아 프로그램의 구조를 단순화시키는 것이 필수적.
· JAVA개념
응용프로그램 실행 -> JVM은 시스템으로부터 프로그램을 수행하는데 필요한 메모리를 할당받고 JVM은 이 메모리를 용도에 따라 여러 영역으로 나누어 관리한다. 3가지 주요 영역(method area, call stack, heap) 1. 메서드 영역(method area) - 프로그램 실행 중 어떤 클래스가 사용되면, JVM은 해당 클래스의 클래스 파일(*.class)을 읽어서 분석하여 클래스에 대한 정보(클래스 데이터)를 이곳에 저장한다. 이 때, 그 클래스의 클래스변수(class variable)도 이 영역에 함께 생성된다. - 클래스변수 : 인스턴스 변수 앞에 static을 붙이기만 하면 된다. - 클래스변수는 모든 인스턴스가 공통된 저장공간(변수)을 공유하게 된다. 2. 힙(heap) - 인스턴스..
알아가자
'JAVA개념' 카테고리의 글 목록 (2 Page)