JVM은 기본적으로 Stack에서 모든 연산이 이루어질 수 있도록 설계되었음. 바이트 코드는 명령들의 집합으로써 각 명령들은 1 byte의 opcode와 n 개 이상의 연산자(operand)로 구성된다. opcode에는 JVM에서 실행할 명령 코드가 들어 있다. 1) 스택(Runtime Stack) 바이트 코드(컴파일된 목적 코드)를 불러들여서(load) 지역 변수(local variable)을 할당. 블록 영역을 벗어나면 소멸. 반드시 초기화 작업 선행되어야 함. 자동으로 초기화 되지 않음. 2) 힙(Heap : The garbage-collected Heap) 배열이나 클래스 객체(인스턴스)가 할당됨. GC(Garbage Collector)가 관리함. 이 영역은 특별한 초기화 없이도 사용가능하다. 참..
치환(Replace)방법 : Ctrl + F (공통분모를 찾아라!) 공통분모 -> Ctrl + F -> Replace with 선정 -> 영역지정(scope selection) -> scope(selected lines) -> Replace All 치환하고 싶은 곳을 드래그 하여 컨트롤 + F 변화할 라인을 드래그 한 후 selected lines 체크 한다. 그 후에 빨간 줄로 쳐진 Replace All 을 체크하면 find 에 써 있는 글자가 replace with 에 써있는 글자로 변환되는 것을 확인할 수 있다.
규칙성 -> 배열 -> 컬렉션(Class, Interface) : 기능(메소드, 필드) String str = new String("1234"); 클래스 인스턴스(객체) 연산자 생성자 int score[] = new int[5]; new : 동적 변수 생성 연산자 -> Heap(자유메모리공간) String str1, str2; str1 = new String("1234"); str2 = new String("1234"); int [] score = new int[]{ ~, ~, ~ } Integer i = new Integer("100"); -> int (auto-(un)boxing) : since JDK 1.5 int i = Integer.parseInt("100"); 가변배열의 장점 : 고정배열과는 ..
변수 명명 일반적 사례 1. 일반 원시(프리미티브) 타입 1) 단독 변수일 경우 : int intValue; 2) 반복 구문의 변수일 경우 : int i, int j, int k; 3) 반복 구문에서 카운터(누산; 누적) 변수 : int count; int cnt; 4) 플래그(점검/확인) 변수일 경우 : int flag; boolean flag; 5) 길이 변수 : int len; 6) 오프셋(offset:한계치) 변수 : int off; 2. 참조형일 경우 1) 단순 문자열일 경우 : String str; 2) 배열(array)일 경우 : String[] arrStr; String[] arr; 3) 인스턴스(instance)일 경우 : Member member; ; 클래스 이름과 동일하되 앞자리 소문..
기본적인 출력 방법을 짜보는 시간 /** 자바 개발자반 예제 1 (오류 정정 문제) 아래의 예제는 오류를 찾아서 교정하는 문제입니다. 컴파일/실행을 하여 오류를 정정하여 아래와 같이 출력되도록 조치하십시오. Hello World! 0 단, 소스 파일 이름이 JavaExam_1.java 이라고 가정합니다, **/ //예제의 원본 class Javaexam_1 { public int main(String[] args) { System.out.println('Hello World!'); int a,b; byte c; a = b; System.in.println(a); } } // 풀이 class JavaExam_1 // Javaexam_1 -> JavaExam_1 { public static void main..
원시형, 프리미티브타입=기본형 int -> Wrapper Class : Integer(형변환 : type casting) Class, 동적 변수 생성, String 0x : decimal(10진수) + hex(a) = (16진수) 0~9 + a~f(A~F) = 0~15 DMA(Direct Memory Access) 인스턴스(instance) : 실객체 생성자 -> 실객체 : 메모리 할당 + 객체(instance) UTF-8 EUC-KR ISO 8859-1(라틴어) : 영어 \r : 커서의 위치를 맨 처음으로 이동(보냄) \f : 페이지 전환 new line : line feed parity(signed) (bit) -> short : 11111111...111111 'a'(O)(문자), "a"(X) : ..
J2ME(Micro~) J2EE : JSP, Servlet, EJB C++ -> Java -> C# C++ ++ -> C# Thread(쓰레드) 경우는 운영체제에 "약간" 의존적이다 ! JVM : Java Virtual Machine : JRE OOP : 상속성, 다형성, 은닉성(캡슐화) gc(); : 가베지콜렉션(청소부) 메소드(함수) 참고로 C언어에는 GC기능이 없기 때문에 일일이 사용한(할당한) 메모리를 반환해야 한다. N/T : socket, CORBA thread : light-weighted process(경량 프로세스) , 프로세스보다 작은 단위 동적 로딩 : 자원의 효율적인 사용(분배) JIT(Jitter) : Just-In-Time Platform : 플랫폼(OS, Server-OS) J..
청년취업아카데미에서 자바를 처음 배울 때 작성했던 포스팅입니다. 프로그래밍을 시작하기 전 준비사항에 대해서 알아보자. 1. 바탕 화면 아이콘을 정리한다. 필요시 폴더를 만들어서 바탕화면에 쓰지 않는 아이콘을 이동하여 모아둔다. 2. 그래픽 프로그래밍을 하지 않는 상황이라면 좀더 화면 컬러수/해상도를 약간 저수준(가령 16만 컬러 ~~)으로 낮춘다. 3. 알툴바/구글바/게임사이트/다운로드 사이트 등은 가급적 지우도록 한다. 굳이 필요 하다면 다른 컴퓨터에서 사용하든지 다른 계정에서 사용하든지 조치한다. 물론 계정이 달라도 여전히 적용되는 경우가 많다. 이러한 알툴바 류의 애드온(add-on) 프로그램과 다운로드 사이트(가령 airfile의 NAT Grid 프로그램)은 시스템 성능을 저하시키는 주범이다. 4..