Java/Java Tips 4

자바의 장단점

자바의 특징 1. 자바의 장점? 1) 완벽한 캡슐화 이 캡슐화에 의해 프로그램 자체의 보안성 등이 더욱 강화된다. 2) 휴대성(portability) 자바 응용 프로그램은 JVM에 종속적이지만 플랫폼 독립적이다. 따라서, 한번 작성을 하면 JVM이 있는 어느 플랫폼에서든지 작동을 한다. 3) 타입 데이터 타입이 있고 타입 변환이 불가능하다는 것은 자바의 강한 장점이다. 실제로, 코딩을 하다 보면 데이터 타입이 변하지 않았으면 하는 상황들이 생기곤 한다. 특히 주어진 데이터를 분석하는 데이터 과학 분야에서는 타입 변환이 안되는 이 자바의 특성이 매우 중요하다고 한다. 4) 객체 지향적 특징 객체 지향 언어인 자바는 절차 지향 언어보다 더 다양하고 창의적인 논리적 디자인이 가능하다. 5) 쉽게 배울 수 있다..

Java/Java Tips 2018.07.04

자바 레퍼런스와 가비지 컬렉션

자바 레퍼런스와 가비지 컬렉션 자바의 가비지 컬렉터는 그 동작 방식에 따라 매우 다양한 종류가 있지만, 기본적으로 모든 자바 가비지 컬렉터는 공통적인 2가지 작업을 수행한다고 볼 수 있다. 1. 힙 내의 객체 중에서 가비지를 찾아낸다.2. 찾아낸 가비지를 회수해서 메모리 공간을 확보한다. 초창기의 자바에서는 이 gc의 작업에 사용자가 개입하지 못하도록 구현이 되어 있었다. 그러나, JDK 1.2 버전 부터는 java.lang.ref 패키지 내의 클래스들을 이용해서 가비지 컬렉션에 사용되는 레퍼런스에 개입할 수 있도록 구현을 하면서, 자바 가비지 컬렉터와 사용자 사이의 상호작용이 가능하게 만들었다. 이 java.lang.ref 패키지 내에는 총 4가지 종류의 레퍼런스 클래스가 있다. 전형적인 객체 참조의 ..

Java/Java Tips 2018.06.28

AutoClosable에서 이용해서 리소스 사용 예외 처리하기

AutoClosable에서 이용해서 예외 처리하기 자바 7부터, 리소스가 AutoCloseable 인터페이스를 구현하는 클래스에 속하는 경우 다음과 같은 코드 패턴에 대한 유용한 단축 기능을 제공한다.(참고로, 자바에서 리소스란, 자바 응용프로그램 내에서 접근 가능한 데이터 조각을 의미한다. i.e. 클래스 등.. 일반적으로, Class 클래스나 ClassLoader 클래스의 메소드들을 이용해서 리소스에 접근한다.) //리소스 열기try {...//리소스를 이용해서 작업을 한다....} catch (Exception e) {...//리소스를 닫는다...} AutoCloseable 인터페이스는 다음과 같은 단일 메소드를 포함한다 : void close() throws Exception 이 메소드를 이용해서..

Java/Java Tips 2018.06.27