일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 이펙티브자바
- 자바
- Python
- 장애물인식
- JPA
- 배달로봇
- 자율주행
- 파이썬
- 프로그래머스
- 딥러닝
- Java
- 포인트클라우드
- Hibernate
- 알고리즘
- 디자인패턴
- 논문
- Spring Batch
- Jetson
- 영속성컨텍스트
- 아두이노
- 자바ORM표준JPA프로그래밍
- 자료구조
- cartograhper
- persistance context
- Database
- 운영체제
- MySQL
- DeepLearning
- 논문리뷰
- 네트워크
- Today
- Total
목록static (2)
제리 devlog
static은 런타임시 클래스 로더에 의해 메서드 영역에 적재되며 프로그램이 종료될 때 까지 GC에 대상이 아니라고 알고있었다. 그런데, permanent영역과 metaspace에 관련된 글을 읽는 중 static이 heap영역으로 할당된다는 말이있어 혼란스러웠다. 먼저 permanent영역과 metaspace영역에 대해서 정리해보자. permanent영역 permanent영역은 클래스 내부의 메타 데이터를 저장하는 영역이다. heap영역에 속하며 class, method meta data, static object, variable, constant pool등을 관리했다. java8이전에는 permanent영역은 method영역으로 사용되었다. java8이후부터 사라졌으며 metaspace영역으로 대체..
장점 네이밍을 통해 직관적으로 파악할 수 있다. 생성자의 매개변수 타입이 겹칠 경우 사용이 사용할 수 있다. 호출될 때마다 인스턴스를 생성하지 않아도된다. 반환 타입의 하위 타입으로 객체를 반환 할 수있다. static method를 작성하는 시점에 반환할 객체의 클래스가 존재하지 않아도 된다. 단점 static method만 제공하면 하위 클래스를 만들 수 없다. static method는 프로그래머가 찾기 어렵다. 객체의 인스턴스를 얻기위해 보편적으로 public한 생성자를 사용하는 방법이 있다. public class Fruit{ int price; public Fruit(int price){ this.price = price; } public static void main(String[] args..