본문 바로가기

CS/JAVA9

Guava에 대해서 알아보자! google guava ! 개발 시 자주 대면하는 유효성 체크, Collection, 날짜, 문자 등등 있다. 이런 걸 좀더 편하게 사용할 수 있게 Google 에서 배포되는 라이브러리이다. 장점 버그 발생률을 현저히 줄일 수 있다. 장황하고 비효율적인 코드를 줄일 수 있다. 직관적이다. 개발표준을 준수하는 코드를 작성할 수 있다. 편하다. 생상성이 증가한다. 대표적인 사용법 CaseFormat: 문자열을 camel style 로 변경하는 함수 System.out.println(CaseFormat.LOWER_HYPHEN.to(CaseFormat.LOWER_CAMEL, "test-data")); // testData Guava는 구글이 작성한 자바 오픈소스 라이브러리입니다. 개발자라면 이전에 한번정도는 스.. 2021. 4. 30.
문자열 클래스, 다양한 친구들의 이야기를 들어보자 분류 String StringBuffer StringBuilder 변경 Immutable Mutable Mutable 동기화 Synchronized 가능 (Thread-safe) Synchronized 불가능. String Class new 연산자를 사용하여 생성된 인스턴스의 메모리 공간은 변하지 않는다. (Immutable) Garbage Collector로 제거되어야 한다. 문자열 연산시 새로 객체를 만드는 Overhead가 발생한다. 객체가 불변하므로, Multithread에서 동기화를 신경쓸 필요가 없음.(조회 연산에 매우 큰 장점) 문자열 연산이 적고, 조회가 많은 Multithread 환경에서 좋다. StirngBuffer Class ,StringBuilder Class 특징 공통점 new 연.. 2021. 3. 21.
Primitive type VS Reference type , 두 친구의 이야기를 들어보자 Primitive type(기본형 타입) JAVA에서는 총 8가지의 Primitive type을 정의하고 제공한다. JAVA에서 기본 자료형은 반드시 사용하기 전에 선언하여야한다. OS에 따라 기본 자료형의 길이가 변하지 않는다. 비객체 타입이므로 null값을 가질 수 없다. 만약 Null을 가지고 싶으면 Wrapper Class를 활용한다. Stack 메모리에 저장된다. Reference type(참조형 타입) JAVA에서 Primitive type을 제외한 모든 타입은 Reference type이다. Reference type은 JAVA에서 java.lang.Object클래스를 상속하는 모든 클래스를 의미한다. new로 인하여 생성된 것들은 메모리 영역인 Heap 영역에 생성을 하게 되며, Garba.. 2021. 3. 21.
Call by value와 Call by reference, 비슷한 이름이지만 전혀 다른 두 친구 Call by value 값에 의한 호출 함수가 호출 될 때, 메모리 공간 안에서는 함수를 별도의 임시공간이 생성된다.(종료 시 해당 공간이 사라짐) Call by value 호출 방식은 함수 호출 시 전달되는 변수 값을 복사해서 함수 인자로 전달한다. 이때 복사된 함수 인자에서 지역적으로 사용되기 때문에 local value 속성을 가진다. 따라서 함수 안에서 인자 값이 변경되더라도, 외부 변수 값은 변경이 안된다. Class CallByValue{ public static void swap(int x, int y) { int temp = x; x = y; y = temp; } public static void main(String[] args) { int a = 10; int b = 20; Syste.. 2021. 3. 20.