Java의 메모리 관리
·
CS/Java
1. 메모리 관리란?프로그램에 필요한 저장 공간을 할당하고 해제하는 것목적프로그램 실행에 필요한 데이터를 저장하기 위해 사용효율적인 메모리 사용과 안정성 확보2. C언어 메모리 관리특징개발자가 메모리를 직접 다룰 수 있음대표 함수malloc() : 메모리 할당free() : 할당된 메모리 해제장점중간 과정 없이 직접 다루므로 속도가 빠름메모리 사용 효율이 좋음단점사람이 직접 관리하므로 실수 발생 가능대표적인 문제메모리 누수(Memory Leak) : 사용이 끝난 메모리를 반납하지 않는 문제해제된 메모리 접근 : 이미 free() 한 메모리를 다시 접근하는 문제3. Java 메모리 관리특징JVM 실행 시 운영체제로부터 메모리를 할당받음JVM이 메모리를 관리함즉, Java에서는 개발자가 직접 메모리를 할당하..
컴퓨터 언어 정리
·
CS/Java
1. 컴퓨터 언어란?이진법을 이용하여 논리 연산, 저장을 수행하는 전자 기계와 소통하기 위한 수단컴퓨터와 사람이 의사소통하기 위한 방법명령을 전달하고 결과를 받기 위해 사용됨쉽게 말해, 사람의 말과 컴퓨터의 말이 다르기 때문에 그 둘을 이어주는 번역 도구가 필요하고, 그 역할을 하는 것이 바로 컴퓨터 언어입니다.2. 이진법 (Binary)0과 1이라는 두 개의 숫자를 사용해 수를 나타내는 진법사용하는 이유컴퓨터는 전기적인 신호를 기반으로 동작함전기의 상태를 단순하게 두 가지로 구분 가능열림 → 1닫힘 → 0장점전자 회로 설계가 단순해짐신호 처리 속도가 빨라짐안정성이 높음단점사람이 읽고 이해하기 어려움유지보수가 힘듦3. 기계어 (Machine Language)특징컴퓨터가 직접 이해하는 언어이진수(0과 1)..
Java 기초 정리
·
CS/Java
자바(Java) : 다양한 플랫폼에서 실행될 수 있도록 설계된, 메모리 관리와 강력한 라이브러리 생태계를 갖춘 객체지향 프로그래밍 언어이다.1. 자바의 탄생 배경당시 상황1980년대에는 주로 C와 C++ 을 사용함특히 C언어는 운영체제 및 시스템 개발의 표준처럼 사용됨문제점가전제품과 임베디드 시스템이 발전하면서 다양한 하드웨어 환경이 등장했지만, 다음과 같은 문제들이 존재했습니다.C언어는 절차지향 언어라 프로젝트 규모가 커질수록 유지보수 및 관리가 어려움프로젝트 규모가 커질수록 유지보수가 어려움제조사마다 사용하는 CPU 구조와 기계어 체계가 다름하드웨어마다 별도로 프로그램을 준비해야 하는 번거로움 존재해결 시도썬 마이크로시스템즈(Sun Microsystems) 는 CPU와 운영체제에 상관없이 실행 가능한..