
개발자가 작성한 자바라는 컴퓨터 언어에 맡도록 작성된 인간어(.java file)를 컴파일러를 통해 자바 어플리케이션/자바 바이트 코드(.class file)로 자바 가상 머신이 이해할 수 있는 코드인 기계어로 전환하는 과정인 컴파일을 진행
대원칙: 자바는 항상 변수의 값을 복사해서 대입한다. Call by value(값에 의한 호출) Call by Value 방식은 함수가 호출될 때 실제 함수에 전달되는 매개변수의 값은 복사본이며, 따라서 함수 내에서 매개변수가 변경되더라도 원본 값에 영향을 주지 않는

JAVA에서는 총 8가지의 Primitive type을 미리 정의하고 제공한다.자바에서 기본 자료형은 반드시 사용하기 전에 선언(Declared)되어야 한다. 계산을 위해 실제 값을 저장해야 하기 때문이다.OS에 따라 자료형의 길이가 변하지 않는다.비객체 타입이므로 n
직렬화 객체들의 데이터를 연속적인 데이터(스트림)로 변형하여 전송 가능한 형태로 만드는 것 역직렬화 직렬화된 데이터를 다시 객체의 형태로 만드는 것 객체 데이터를 통신하기 쉬운 포맷(Byte,CSV,Json..) 형태로 만들어주는 작업을 직
코드를 작성하다 보면 같은 타입 뿐만 아니라 서로 다른 타입 간의 연산이 필요할 수 있다. 이럴 땐, 연산 수행 전에 타입을 일치시켜야 하는데, 이 때 필요한 것이 형변환(casting)이다.

프로세스 : 실행중인 프로그램, 자원(Resource)과 스레드로 구성스레드 : 프로세스 내에서 실제 작업을 수행하며, 모든 프로세스는 최소 하나의 스레드를 가지고 있음프로세스 : 스레드 = 공장 : 일꾼멀티태스킹(멀티프로세싱) : 동시에 여러 프로세스를 실행시키는 것
Java의 모든 객체는 lock을 갖고 있음.모니터처럼 동작한다고 하여 monitor lock 혹은 monitor 라고 함.Synchronized 블록은 Intrinsic Lock을 이용해서, Thread의 접근을 제어함.Q) ++count 문이 atomic 연산인가?

JAVA 의 특징 컴파일된 코드(바이트코드)가 플랫폼 독립적이기 때문에 어느 하드웨어(CPU)든, 어느 운영체제(OS)든 상관 없이 구동할 수 있다. 어느 플랫폼이든 작성한 소스를 변경할 필요가 없이 실행할 수 있다는 의미인데, 이러한 특징은 자바 가상 머신(JAVA

Goal >1. Garbage Collection의 역할에 대해 설명할 수 있다. Garbage Collection의 메모리 해제 과정을 3단계로 설명할 수 있다. Generational Gabage Collection에 대해 설명할 수 있다. Generational

SW 재사용성, 호환성, 유지 보수성을 보장프로젝트에 항상 적용해야 하는 것은 아니지만 위의 목적들로 발생하는 문제를 예방하기 위해 특정 패턴을 만들어 둔 것1\. Single Responsibility Principle하나의 클래스는 하나의 역할(=하나의 책임, ax