JAVA 공부77 [IT 기초] 동적할당, 정적할당/가비지컬렉터 -- 동적할당 -- 메모리 동적할당이란, 프로그램을 실행하는 중 필요한 메모리 공간을 할당하는 것을 말한다. 사용이 끝나면 운영체제가 사용 할 수 있도록 반납하고 다음 요구시 재 할당을 받을 수 있다. 동적으로 할당된 메모리 공간은 프로그래머가 직접 해제하거나 가비지 컬렉터에 의해 해제된다. -- 정적할당 -- 메모리 정적할당은, 메모리의 크기가 하드 코딩되어 있기 때문에, 프로그램이 시작 될 때 필요한 메모리의 크기를 예상해서 미리 할당(확보) 한다는 특징을 갖는다. 정적할당된 메모리의 경우 프로그램을 실행하는 도중에는 해제되지 않고 있다가, 프로그램 종료 시 운영체제가 회수해 간다. -- 가비지컬렉터(Garbage Coolector) -- '주소를 잃어버려서 사용할 수 없는 메모리', '정리되지 않은.. 2020. 5. 13. [IT기초] 부동소수점과 그 한계 숫자 123을 표현하는 방식에는 아래와 같이 여러가지가 있다. 16진수 : 7B 10진수 : 123 8진수 : 173 2진수 : 1111011 이 중 우리가 일상적으로 사용하는 숫자 표현 방식은 10진수 이다. 그러나 컴퓨터는 기본적으로 2진수를 사용한다. 13 => 1101과 같이 이진수로 표현하기 쉬운 수도 있지만, 0.3 => 0.0100110011......(0011의 무한 반복) 과 같이 이진수로 표현하지 못하는 소수가 발생한다. 이와 같은 경우 어쩔 수 없이 컴퓨터에는 가장 근사치의 값이 저장된다. 이 근사 값을 저장하는 방법에는 고정 소수점과 부동소수점 두가지가 있다. 고정 소수점 정수를 표현하는 비트 수와 소수를 표현하는 비트 수를 미리 정해 놓고 해당 비트 만큼만 사용해서 숫자를 표현하는.. 2020. 5. 13. [IT 기초] 기계어와 어셈블리언어 고급언어 프로그램은 인간이 이해 할 수 있는 고급언어와 기계가 이해 할 수 있는 기계어의 번역(컴파일)을 통해 만들어 진다. @고급언어 일반적으로 언급되는 프로그래밍 언어 Java C언어, Python등 추상화 되어 있는언어 고급언어를 컴파일러가 어셈블리어로 번역 ▼ ▽ 컴파일러 ▼ @어셈블리어(assembly language) 컴파일러로 부터 생성된 기계가 이해할 수 있는 형태로 번역된 언어 기계어와 일대일 대응이 되는 낮은 사고방식의 언어 CPU의 종류에 따라 서로 다른 코드를 가짐 어셈블러는 어셈블리어를 기계어로 번역 ▼ ▽ 어셈블러 ▼ @기계어 0과 1로 이루어진, 컴퓨터가 직접 해독하고 실행 할 수 있는 언어 프로그램을 나타내는 가장 낮은 단계의 언어 CPU의 종류에 따라 서로 다른 코드를 가짐(=CPU.. 2020. 5. 13. 자바에서의 캡슐화란? 캡슐화(Encapsulation) 캡슐화는 일반적으로 변수와 클래스를 하나로 묶는 작업이다. 캡슐화의 중요 목적은 중요한 데이터를 보존,보호하기 위해 사용하는 것이다. 즉 캡슐화는 클래스에 담는 내용중 중요한 데이터나 기능을 외부에서 접근하지 못하게하기 위해 사용한다고 알아 두면 된다. 캡술화 = 은닉성 이라고 생각하면 쉽다. - 캡슐화 방법 1. 멤버 변수 앞에 접근 제어자 private를 붙인다. (private: 자기 클래스에서만 접근할 수 있는 것 ) 2. 멤버 변수에 값을 넣고 꺼내 올 수 있는 메소드를 만든다 (접두어 set/get을 사용해 메소드를 만든다.) 구체적으로 어떤 말일까? 자 학생이란 클래스와 학교라는 클래스를 만들었다고 가정해보자. 학생이라는 클래스에서 학생의 나이들은 priva.. 2020. 5. 13. [자바 상식] CGI와 서블릿 그리고 톰캣 1. CGI란 무엇인가 CGI란 공통 게이트웨이 인터페이스(common gateway interface)의 약어로, 웹서버와 외부 프로그램 사이에서 정보를 주고받는 방법이나 규약들을 말한다. 그렇다면 여기에서는 CGI에 대하여 조금 쉽게 설명한 후에 그 개념에 대하여 더 자세하게 알아보도록 하겠다. CGI란 사용자의 요청의 의한 서버의 응답이라고 할 수 있다. 예를 들어 방명록이나 게시판등이 대표적이라고 할 수 있는 것이다. CGI를 가능하게 하기 위해서는 사용자의 입력을 받아들이는 html문서와 입력을 처리하기 위한 CGI프로그램이 필요하다. CGI는 응용프로그램이기 때문에 html로는 만들 수 없고 웹서버의 환경의 따라 다르게 구현되는데 주로 C, Perl, Visual Basic 등이 사용되고 있다.. 2020. 5. 13. [자바 상식] JVM과 바이트코드 JVM : Java Virtual Machine (자바 가상 머신) - 자바 소스코드로부터 만들어지는 자바 바이너리 파일(.class)을 실행할 수 있다. - Java Byte Code를 OS(Operating System : 운영체제)에 맞게 해석, 실행될 수 있는 런타임 환경을 제공해주는 규격. - JVM은 많은 하드웨어와 소프트웨어 플랫폼에 이용 가능하다. - 운영체제 독립적으로 동작하기 위해 필요 - 컴파일된 바이트 코드를 실행하기 위한 가상의 머신 * Loads code : 작성된 소스코드를 로드(Load : 읽기) * Verifies code : 소스코드 검증 및 확인 ( 문법에 올바른지 검증하여 정상적으로 동작하는지 확인한다.) * Executes code : 소스코드 실행(실제 머신에서 소.. 2020. 5. 13. 이전 1 ··· 5 6 7 8 9 10 11 ··· 13 다음