반응형 프로그래밍102 [Java] JVM 메모리 구조 오늘은 자바 JVM의 메모리에 대해서 알아보도록 하겠다. 사실 JVM 메모리에 대해서 왜 알아야할까? 스스로 자문했을 때 메모리 관리정도?라고 답변을 했다. 소규모프로젝트나 간단한프로그램을 만드는 개발자들은 JVM메모리에 대해서 빠삭하게 이해해야할 필요성을 느끼지 않을 수 있다. (나도 그랬으니까...) 뭐 그럴 수 있다쳐도 대규모의 프로젝트를 개발해야 할 때 적어도 Java로 개발한다면, JVM메모리 구조에 대한 이해는 필수적이며 기본적으로 알아야 할 개념인 것이다. 메모리관리에 따라 프로그램의 성능은 월등히 차이가 날 수 있으며, 메모리관리를 제대로 하지 못해 성능저하 현상이 일어나는 경우는 보통 33%가 코드를 잘 못짰거나, 메모리에 대한 이해없이 설계를 한 경우다. 생각이상으로 더 중요한게 메모리.. 2017. 6. 28. [Java] enum 이란? Enum class란? 우리가 흔히 상수를 정의할 때 final static string 과 같은 방식으로 상수를 정의를합니다. 하지만 이렇게 상수를 정의해서 코딩하는 경우 다양한 문제가 발생됩니다. 따라서 이러한 문제점들을 보완하기 위해 자바 1.5버전부터 새롭게 추가된 것이 바로 "Enum" 입니다. Enum은 열거형이라고 불리며, 서로 연관된 상수들의 집합을 의미합니다. 기존에 상수를 정의하는 방법이였던 final static string 과 같이 문자열이나 숫자들을 나타내는 기본자료형의 값을 enum을 이용해서 같은 효과를 낼 수 있습니다. Enum의 장점 Enum을 사용하면서 우리가 얻을 수 있는 이점은 다음과 같습니다. 1. 코드가 단순해지며, 가독성이 좋습니다. 2. 인스턴스 생성과 상속을 .. 2017. 6. 27. [Android] BroadCastReceiver(브로드캐스트리시버) 이번 시간에는 브로드캐스트리시버에 대해서 알아보자.. BroadCastReceiver 는 4대 컴포넌트 중에 하나이다. BroadCastReceiver 의 역할은 단말기 안에서 이루어지는 수많은 일들을 대신해서 알려준다.예를들어 배터리부족,SMS문자메시지,전화가온다거나 하는 일들을 방송알림 해준다. BroadCastReceiver를 구현하기 위해 2가지 방법이 존재한다.코드상에서 BroadCastReceiver를 등록하는 방법인 동적인 방법과Manifest.xml에 의 형태로 등록하는 정적인 방법이 존재한다. 1. 정적으로 Receiver 구현하기 먼저 정적인 방법을 소개한다.. 앞서 말했듯이 Manifest.xml에 우선 BroadCastReceiver를 다음과 같이 등록하자! 나는 다음과 같이 폴더를.. 2017. 6. 27. [Java] 멀티스레드 개념 이번 시간에는 "멀티스레드 개념"을 알아보자 우선 프로세스와 스레드를 이해하고 넘어가야한다. 운영체제는 실행 중인 하나의 어플리케이션을 "프로세스"라고 부른다. 사용자가 어플리케이션을 실행하면 운영체제로부터 필요한 메모리를 할당맏아 코드를 실행한다. 이것이 바로 프로세스다. 또 하나의 어플리케이션은 2개이상의 프로세스를 가질 수 있다. 예를 들어 chrome이라는 어플리케이션을 더블클릭을 2번하면, chrome이라는 exe 프로세스가 2개 생긴다. 또 "멀티태스킹"이란 두가지 이상의 일을 동시에 처리하는 것을 말한다. (결국 멀티스레드는 멀티태스킹을 하기 위함이다!) 운영체제에서 멀티태스킹을 지원하기 위해 CPU및 메모리자원을 각 프로세스에서 적절히 할당시키고 병렬 실행을 시킨다. 예를 들어 노래를 들으.. 2017. 6. 27. 이전 1 ··· 15 16 17 18 19 20 21 ··· 26 다음 반응형