본문 바로가기

전체 글49

JVM (Java Virtual Machine) 보통 자바개발 서적들의 1장에 자바란? 같이 자바 language의 개요와 JVM에 대해 간략하게 나오지만..그 마져도 대충 읽고 넘어갔었던 것 같다. JVM의 내부를 모른다 해도, JVM이 어떤 형태로 동작하는지의 내부 동작원리를 알고 있다면 조금더 이해도 높은 개발은 물론이고 나아가서 만드는 프로그램의 성능을 더 높일수 있을 것이다. (리플렉션(Reflection)과 클래스 로더(Class Loader)를 이해하는데 도움도 됨) 그래서 이번장에는 JVM에 대해 정리해보려 한다. 자바가 다른 프로그래밍 언어와 확연히 구별되는 특징은 "Write once, run everywhere" (한번 작성하면, 어디서든 실행된다.) 라고 할수있다. 다른 언어의 경우 OS에서 제공하는 라이브러리들을 가져와서 써야하.. 2016. 5. 4.
자바 언어 (java language) 자바는. 자바는 1990년대 썬 마이크로 시스템즈(Sun Microsystems, Inc, 이하 썬)의제임스 고슬링(James A. Gosling)이 개발한 언어이다. 제임스 고슬링 형님은 자바의 아버지라고 불리는 사람이며 자바가 객체 지향 프로그래밍(Object oriented Programming)을 지원하는 언어가 되도록 가장 큰 영향력을 주었다. 원래는 가전제품에 설치될 임베디드 시스템(Embedded System)을 위한 언어로 개발되었기 때문에 개발 환경에 구애받지 않도록 설계되었다.그 당시 객체 지향 프로그래밍과 개발 환경에 구애받지 않는 특징이 지금의 자바 형태에 근간이 되었다. 자바는 개발 목적에 따라 언어 사용환경을 크게 세 가지로 구분 할 수 있다. Java SE(Java Standa.. 2016. 5. 4.
java null 키워드로 메모리 효율적으로 관리하기. 자바 기본형(Primitive Type) 변수들(boolean, char, byte, short, int, long, float, double)은 가각 변수형에 따라서 기본값이 존재한다.ex) boolean : false, int : 0 이외의 참조형(Reference Type) 변수들은 기본값이 존재하지 않는다. 이런 변수들은 값이없는 상태로 이름만 가지고 있으며 이런상태의 변수는 널(null) 값을 가지고 있다고 말하며 자바에서도 이러한 상태를 나타내는 null 키워드가 존재한다. 변수에 값을 넣는다는 의미는 곧 메모리에 데이터를 새롭게 생성했다는 의미이며 String value = null; 와같이 선은을 하면 value 라는 변수는 JVM 메모리에서 참조하는 변숫값이 없음을 의미한다.곧 value.. 2016. 5. 4.
디자인패턴 - 데코레이터 패턴 (decorator pattern) 데코레이터 패턴 (decorator pattern) 객체에 추가적인 요건을 동적으로 첨가한다.데코레이터는 서브클래스를 만드는 것을 통해서 기능을 유연하게 확장할 수 있는 방법을 제공한다. 데코레이터 패턴 클래스 다이어그램 ConcreteComponent에 새로운 행동을 동적으로 추가할수 있다.각 데코레이터 안에는 구성요소(Component)에 대란 레퍼런스가 들어있는 인스턴스 변수가있다.Decorator는 자신이 장식할 구성요소(Component)와 같은 인터페이스 또는 추상 클래스를 구현한다.ConcreteDecoratorA, ConcreteDecoratorB 에는 그 객체가 장식하고있는(데코레이터가 감싸고 있는 Component객체)을 위한 인스턴스 변수가 있다. 따라서 데코레이터는 Component.. 2016. 5. 4.