본문 바로가기

PL

(103)
[JAVA] 배열 선언
[JAVA] static 1. static 정리 일반적으로 우리가 만든 Class는 Static 영역에 생성되고, new 연산을 통해 생성한 객체는 Heap영역에 생성됩니다. 객체의 생성시에 할당된 Heap영역의 메모리는 Garbage Collector를 통해 수시로 관리를 받습니다. 하지만 Static 키워드를 통해 Static 영역에 할당된 메모리는 모든 객체가 공유하는 메모리라는 장점을 지니지만, Garbage Collector의 관리 영역 밖에 존재하므로 Static을 자주 사용하면 프로그램의 종료시까지 메모리가 할당된 채로 존재하므로 자주 사용하게 되면 시스템의 퍼포먼스에 악영향을 주게 됩니다. [ Static 변수 특징 ] Static 변수는 클래스 변수이다. 객체를 생성하지 않고도 Static 자원에 접근이 가능하다..
JAVA 운영체제에 독립적 운영체제에 독립적이다. 자바 언어가 나오기 전까지 기존의 언어(Programing Language)는 한 운영체제(Window, Linux, Macintosh) 등의 운영체제에 적용하기 위해 많은 노력이 필요했었다. 자바 언어가 나오면서부터 이러한 적용하기 위한 노력들이 줄어들었다. 그 이유는 뭐였을까? 바로 애뮬레이터인 자바가상머신(JVM)을 통해서 가능해졌다. [[기존 언어]] [[운영체제, 하드웨어]] [[자바 언어]] [[JVM]] [[운영체제, 하드웨어]] 기존 언어는 운영체제와 하드웨어 등이 이해 할 수 있도록 각각 운영체제에 맞는 변환과정을 거쳐야 했음 (종속적) 자바 언어는 운영체제와 하드웨어가 아닌 JVM 하고만 통신함, 응용 프로그램으로부터 전달받은 내용..
JVM( Java Virtual Machine ) 자바 가상 머신의 구성 자바 가상 머신(JVM)은 다음과 같이 구성됩니다. 1. 자바 인터프리터(interpreter) 2. 클래스 로더(class loader) 3. JIT 컴파일러(Just-In-Time compiler) 4. 가비지 컬렉터(garbage collector) 자바 컴파일러에 의해 변환된 자바 바이트 코드를 읽고 해석하는 역할을 하는 것이 자바 인터프리터(interpreter)입니다. 자바는 동적으로 클래스를 읽어오므로, 프로그램이 실행 중인 런타임에서야 모든 코드가 자바 가상 머신과 연결됩니다. 이렇게 동적으로 클래스를 로딩해주는 역할을 하는 것이 바로 클래스 로더(class loader)입니다. JIT 컴파일러(Just-In-Time compiler)란 프로그램이 실행 중인 런타임에..
JAVA 프로그램의 실행 과정 자바는 자바 가상 머신(JVM, Java Virtual Machine)을 사용하여, 운영체제와는 독립적으로 동작할 수 있습니다 따라서 자바는 어느 운영체제에서나 같은 형태로 실행될 수 있습니다. 자바 컴파일러(Java compiler) 자바 컴파일러는 자바를 가지고 작성한 자바 소스 코드를 자바 가상 머신이 이해할 수 있는 자바 바이트 코드로 변환합니다. 자바 컴파일러는 자바를 설치하면 javac.exe라는 실행 파일 형태로 설치됩니다. 자바 바이트 코드(Java bytecode) 자바 바이트 코드(Java bytecode)란 자바 가상 머신이 이해할 수 있는 언어로 변환된 자바 소스 코드를 의미합니다. 자바 컴파일러에 의해 변환되는 코드의 명령어 크기가 1바이트라서 자바 바이트 코드라고 불리고 있습니다..
JDK와 SDK 차이점 JDK란 "Java Development Kit (자바 개발 도구)"이라는 의미이고, SDK란 "Software Development Kit (소프트웨어 개발 도구)"의 약자입니다. 자바만 개발할 수 있는 SDK를 JDK라고 합니다. 마이크로소프트(MS) 등의 다른 회사에서도 SDK라는 이름으로 개발 도구들을 많이 발표합니다. 그런데 현재 JDK 는 대부분 "Java SE 개발 도구"를 의미합니다. "Java EE" 개발도구는 SDK라고 부르더군요. 자바 초보자라면 "Java SE 개발 도구"를 다운받아서 설치하면 됩니다. 결국 자바프로그래밍에서의 JDK와 SDK는, 표현의 차이만 있을 뿐 서로 동일한 것이라고 볼 수 있습니다.
[C/C++] 수학 관련 함수
동적할당된 메모리 크기 구하기, _msize 동적 할당된 메모리의 크기 구하기 : C 언어 관련 전체 목차 http://blog.naver.com/tipsware/221010831969 1. sizeof 연산자 보통 C 언어에... blog.naver.com
calloc, malloc, realloc 1. malloc char* p = (char*) malloc ( sizeof(char) * 10 ) 2. calloc 3. realloc C언어 동적메모리할당(malloc, calloc, realloc, free) * C를 배울때 보통 동적메모리할당은 후반부에 배운다. 이유인즉, 포인터, 배열, 함수 등 기본적인 내용을... blog.naver.com
[C/C++] header파일 #include 을 사용하면 'iostream'이라는 헤더 파일의 모든 내용을 복사해오도록 요청한다. 이렇게 하면 헤더 파일의 내용을 코드 파일에서 사용할 수 있다. 헤더 파일은 일반적으로 선언만 포함하므로 어떻게 구현되는지 정의하지는 않는다. 실제 정의는 링크 단계에서 자동으로 프로그램에 링크되는 C++ 런타임 지원 라이브러리에서 구현된다. 만약 iostream 헤더 파일이 존재하지 않는다면, cout과 관련된 모든 선언을 각 파일의 맨 위로 일일이 복사해야 한다 전방 선언과 정의'에서 컴파일러가 main.cpp를 컴파일할 때 'add'가 무엇인지 알 수 있도록 전방 선언(forward declaration)을 했었다. 사용하고자 하는 모든 함수에 대한 전방 선언을 각 파일에 작성하는 것은 매우 지루한..
[C/C++] scanf
[C] sizeof C 언어 코딩 도장: 36.4 배열의 크기 구하기 반복문으로 크기가 10인 배열의 요소를 모두 출력한다면 다음과 같이 만들 수 있겠죠? int numArr[10] = { 11, 22, 33, 44, 55, 66, 77, 88, 99, 110 }; // 요소가 10개 for (int i = 0; i < 10; i++) // 0부터 10까지 반복 { // dojang.io sizeof 연산의 함정 C에서 sizeof는 해당 변수 혹은 자료형의 크기를 알아 보고자 할때 쓰이며 동적 메모리 할당인 malloc을 비롯한 여러 함수와 복합적으로 사용할 경우가 적지 않게 있습니다. 그러나 이 sizeof 를 쓸 sckllo7.tistory.com
[C/C++] NaN