Java(8)
-
Java Collection 빠르게 사용하기 ( feat. Big O )
N 개의 데이터를 입력받아 임의의 중복되지 않는 X 개의 데이터를 추출하시오!! 이러한 문제가 있다고 가정하자. 해당 문제는 추첨 기능을 간단하게 코드로 구현하는 문제이다. 실제로 이런 추첨 기능을 구현하는 건 수많은 방법이 존재하겠지만 JCF(Java Collection Framework)를 통해 간단하게 구현하고 성능적으로 좋게 하려면 어떤 방법이 좋을지 여러 상황을 가정하여 생각해 보려 한다. 또한 왜 이런 현상이 발생하는지도 함께 알아보도록 하자!! 그럼 해당 항목을 간단하게 구현해 보자!! go! go! 우선 입력받는 N 개의 샘플 데이터를 생성한다! int nCount = 10000000; //입력받는 N개의 데이터 갯수 (천만건) int xCount = 10000; //추첨할 X개의 데이터 ..
2021.10.15 -
문자열(String) Class 사용법
문자열?? 그냥 사용하면 되는 거 아닌가 하지만 Java에서 가장 많이 가장 쉽게 사용하는 게 바로 이 문자열(String)이다. 그렇기 때문에 해당 문자열에 대해서 사용법을 조금 더 알고 있다면 좋은 성능을 발휘(?) 할 수 있지 않을까 한다. String의 Life Cycle String은 가장 쉽게 접할 수 있는 불변(Immutable) 클래스의 하나이다. 문자열 생성 시 별도의 String Pool에 생성어 되어 Immutable 하게 관리되는데 빈번하게 사용되기 때문에 같은 문자열에 대해서는 하나의 참조 값을 가지고 재사용되도록 하여 메모리를 효율적으로 관리한 것이다. 이러한 특징이 존재하는 String은 문자열을 사용함에 있어서 연산 등 문자열이 변경되는 경우 기존 정보에 추가되는 것이 아니라..
2021.08.09 -
불변 객체(Immutable Object)
우리는 급변하는 세상 속에서 살고 있지만 그중에서도 절대 변하지 않았으면 하는 것은 있다. 많은 변화 속에 변하지 않는 그것 불변(Immutable)의 특징에 대해 알아보자. 불변 객체(Immutable Object) 란? 불변 객체란 '객체(Object)가 생성이 된 이후에 내부의 값 또는 상태를 변경할 수 없는 객체'로 한번 선언 및 초기화 후에는 절대 변경되지 않는 객체를 말한다. 그럼 이렇게 값이 변하지 않는 불변 객체의 특징에 대해 알아보자. 불변 객체의 대표는 String Class이다? 불변 객체 하면 제일 먼저 떠오르는 것이 바로 String이다. 하지만 혼동하지 말아야 할부분은 String Class는 값이 수정 가능한 변수이고 정확한 불변 객체는 리터럴(literal) " "이다. St..
2021.06.04 -
About String Class
우리는 String 하면 문자열을 표현하는 데이터 타입(DataType)의 하나로 알고 간단하게 쓰고 있지만 String Class에는 다른 데이터 타입(Primitive Data Type)과는 다른 몇 가지의 특별한(?) 특징이 존재한다. 오늘은 그 각각의 특징에 대해 정리해 보려 한다. String Class 선언 및 초기화 데이터 타입의 선언은 보통 해당 데이터 타입의 변수를 지정한 뒤 값 리터럴( literal )을 입력하는 방식으로 이뤄진다. String 역시 다른 데이터 타입과 동일하게 선언과 초기화할 수 있으며 해당 방법으로 많이 사용되고 있다. //각 데이터 자료형의 변수 선언과 동일하게 사용가능 int intVal = 0; char charVal = 'a'; String strVal = ..
2021.05.22 -
자료형의 범위를 넘으면?
데이터 자료형의 범위는 어떻게 구해지며 범위는 어떻게 계산되는 것일까?? 데이터 자료형은 여러 가지가 존재하지만 확인하기 편한 정수형 자료형을 가지고서 확인해 보자. 자세한 데이터 유형 JAVA 변수(Variable) 및 데이터 유형(Data Type)을 참고. 음수를 포함한 정수형 자료형의 범위의 표현은 2의 보수 (Two`s complement)의 표현 범위로 나타내는데 이것 역시 프로그램에서 음수 표현 방식 여기를 참고하면 된다. 각설하고, 데이터의 표현 범위는 -2n-1 ~ 2n-1-1 이다. (n은 bit 단위(1byte = 8bit)로 계산) 자료형 메모리 계산식 정수 표현 범위 byte 1 Byte (8bit) -27 ~ 27-1 -128 ~ 127 short 2 Byte (16bit) -2..
2021.05.15 -
프로그램에서 음수 표현 방식
프로그램에서 음수 표현 방식 프로그램에서 음수는 어떻게 표현하는 걸까? 음수 표현방식에 대해 알아보자!! 프로그램에서 모든 연산은 2진수로 이루어진다. 이 때문에 2진수에서 음수를 나타내는 방법으로 부호를 나타내는 최상위 비트(MSB : Most Significant Bit)를 사용하는 것인데, 이 최상위 비트를 부호 비트라고 한다. 부호 비트가 0이면 양수, 1이면 음수를 나타내는 방식이다. 가장 작은 데이터 단위인 byte를 기준으로 설명하면, 실제로 1byte는 8bit로서 2진수로 표현하게 되면 0000 0000 ~ 1111 1111까지 단위를 표현하게 되는데, 이는 10진수로 0 ~ 255가 되고 이렇게 되면 양수만 표현할 수 있기 때문에 2진수에서 음수를 표현하기 위해서 제일 첫 번째 비트를 ..
2021.05.14