일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- primitivetype
- 원시타입
- char
- mybatis
- ClassPathResource
- Spring
- SQL
- 백준
- string
- 시뮬레이션
- sql태그
- JSON
- 알고리즘
- include태그
- 데이터탑입
- 변수
- json파싱
- java
- 자바
- 자바오류
- 프로그래머스
- 차이
- 차이점
- 참조타입
- 코딩테스트
- 주사위굴리기
- ReferenceType
- Char[]
- 내맘대로정리
- Exception
- Today
- Total
목록내맘대로정리 (3)
재채기는 H
문득 자바개발을 하다가 생각했다. 그냥 char[]을 안쓰고 String 클래스만 쓰면 안될까? 우선 String을 생성하는 방식은 두가지있습니다. 리터럴(literal) : String Constant Pool 저장 new 연산자 : Heap 저장 위의 그림과 같이 리터럴로 생성할 경우, String Constant Pool에 저장되어 같은 문자열을 공유합니다. (즉, Pool안에서 같은 값을 동시에 공유한다.) new연산자로 생성할 경우는 같은 값이어도 각각 Heap메모리에 저장됩니다. 위의 내용을 보면 알 수 있다. String이 리터럴 방식은 같은 문자열을 공유한다. String의 'equals() 메소드' 와 '== 연산자' 비교의 차이 (값 비교와 주소 비교) 리터럴 방식과 다르게 new 연산..
Primitive Type(원시 타입) : 값 형식으로 스택(Stack)에 저장 NULL 존재X , (필요시 Wraper Class 활용) 저장된 변수들은 범위 밖으로 나가면 스택에서 제거됨 장단점 : "효율적이지만 수명이 제한되어 서로 다른 클래스 간에 데이터 공유하는데 적합하지 않음" Reference Type(참조타입) : 참조형식이며 힙(Heap) 영역에 저장 NULL 존재 가비지 컬렉션이 소멸되는 시점에 객체 수거 장단점 : "다른 클래스에서 액세스하는데 적합하지만 오버헤드가 커짐"
변수 : 값을 저장할 수 있는 메모리상의 공간을 의미한다. 데이터 타입 : 데이터 타입에 따라 저장할 수 있는 값의 종류와 범위가 달라진다. 기본형 (Primitive Type) boolean, char, byte, short, int, long, float, double 참조형 (Reference Type) 8개의 기본형을 제외한 나머지 타입이며 객체의 주소를 저장한다. ※ String Class - 참조형에 속하지만 기본형 같이 쓰인다. - 불변하는 객체 (즉, 값 변경하면 새로운 객체를 만들어낸다.) - .equals() 메소드로 값을 비교한다.