본문 바로가기
반응형

BackEnd FrontEnd/JAVA22

assert 함수란 assert문을 사용한 Assertion(검증)은 주로 프로그램 흐름에서 코드가 정상적으로 처리되기 위해서 필요한 조건을 지정할 수 있게 해주고, 이를 위반할 시에 AssertionError를 발생시켜주는 기능이다. 이러한 검증 기능은 Java 1.4부터 지원되는 기능인데 Java 1.4에서 Assertion 기능을 사용하려면 컴파일시에 명령프롬프트에서 -source 1.4 옵션을 지정해주어야 한다. Java 1.4에서 assert문이 들어간 소스 파일 컴파일 하기javac -source 1.4 Test.java 물론 Java 1.5부터는 자동적으로 이를 인식하기 때문에 Java 1.5이상의 버전을 사용하는 사람은 이를 신경쓰지 않아도 된다. 그럼 시험삼아 아래의 간단한 코드를 컴파일하고 실행해보자. T.. 2017. 7. 3.
직렬화(serialization) 역직렬화(deserialization) 객체를 직렬화하여 전송가능한 형태로 만드는것객체들의 데이터를 연속적인 데이터로 변형하여 Stream을 통해 데이터를 읽도록 해준다.이것은 주로 객체들을 통째로 파일로 저장하거나 전송하고 싶을 때 주로 사용된다. 역직렬화는 직렬화된 파일 등을 역으로 직렬화하여 다시 객체의 형태로 만드는 것을 의미한다.저장된 파일을 읽거나 전송된 스트림 데이터를 읽어 원래 객체의 형태로 복원한다. 직렬화를 위한 전제조건직렬화가 가능한 클래스를 만드는 것 public class A{} 이런형태라면 public class A implements Serializable{ } 1. serializable 인터페이스를 implements2. serializable 없는 경우 보통의 경우는 직렬화가 불가능하다. 하지만 클래스간의 관계.. 2017. 6. 30.
volatile 원 글 Java's Volatile Keyword 을 참고하여 번역하였습니다.Java volatile 키워드는 자바 변수를 "메인 메모리에 저장 할" 표식으로 사용합니다. 좀 더 정확하게 말하자면 모든 volatile 변수를 읽어 들일 때 CPU 캐시가 아니라 컴퓨터의 메인 메모리로 부터 읽어들입니다. 그리고 volatile 변수를 쓸 때에도(write) CPU 캐시가 아닌 메인 메모리에 기록합니다.java 5 이래로 volatile 키워드는 volatile 변수들을 메인 메모리로 부터 읽고 쓰는걸 것 보다 더 큰 의미를 가지는데 이는 곧 다시 설명 하겠습니다.Java volatile은 변수의 가시성(Visibility)을 보장한다.Java volatile 키워드는 여러개의 쓰래드들 에서 사용되는 변수의.. 2017. 6. 29.
String, StringBuffer String, StringBuffer 클래스의 특징 String 자료형은 한 번 값이 생성되면 그 값을 변경할 수 없습니다.이렇게 값을 변경할 수 없는 객체를 immutable 객체라고 부릅니다.즉, trim, toUpperCase 등 메소드를 보면 문자열이 변경되는 것으로 보일 수 있으나 해당 메소드 수행 시 또 다른 String 객체를 생성하여 return합니다. 이에 반해, StringBuffer 클래스는 반대로 값을 변경할 수 있는 mutable 객체입니다.한번 생성된 값을 언제든지 수정이 가능 합니다. String, StringBuffer 성능 비교 String < StringBuffer 위에서 말씀드렸듯이, String 객체는 변경이 있을 때마다 객체를 새로이 만듭니다. 123for(int i.. 2017. 6. 27.
반응형