JAVA

Java 메모리 구조

k9e4h 2019. 4. 7. 15:30

https://12bme.tistory.com/142

 

[자바] 자바 메모리 구조

자바 메모리 구조 메모리 구조를 정확히 이해하면, 같은 기능의 프로그램이더라도 메모리 관리에 따라 성능이 좌우돼며, 메모리 관리가 되지 않을 경우 속도저하 현상이나 튕김 현상이 일어날 수 있습니다. 또한..

12bme.tistory.com

객체 초기화

https://okky.kr/article/396847?note=1248831

 

OKKY | Object object = null; 이랑 Object object = new Object(); 차이가???

Object object null; 이랑 Object object  new Object(); 차이가 뭐에요?!?!?!?!?!?!?

okky.kr

...더보기

작성자님의 질문으로 돌아가서

Object object; 

여기까지만 생각해보면 Object 형태의 객체참조(객체 자체가 아님)를 저장할 수 있는 변수인 (소문자로 시작하는) object 라는 변수가 선언되었다는 이야기 입니다.

그런데 첫 문장인 

Object  object  = null; 

은 object 변수가 아직 실제로 참조하는 곳이 없다. 라고 초기화시킨 것이고

Object object = new Object();

는 object 변수에 새로운(new) Object 형태의 객체를 만든 후 그것을 찾을 수 있는 참조값을 저장하도록 했다.

라는 뜻입니다.

편의상 객체를 저장한다고 표현하지만 정확하게는 객체참조를 (reference)를 저장하는 것입니다.

자바가 객체형 데이터를 저장하는 참조저장 방식을 미리 알고계시면 이해가 수월할 것입니다.

 

자바의 모든 변수는 

1. 선언

2. 초기화

단계를 거쳐야 

3. 사용 

을 할 수 있습니다.

Object object; 여기까지만 쓰면 선언입니다.

이 상태에서 object 를 출력해보려고하면 초기화가 되지 않았다고 오류가 뜹니다.

하지만

Object object = null; 이렇게쓰면 아무것도 저장하지 않았음을 확정하는 것으로 초기화까지 진행된 것으로 null 이라는 상태값의 출력이 가능해 집니다.

 

=null; 은 아무것도 저장되지 않았음의 상태로 변수를 초기화한다는 것.

= new Object(); 는 새로운 객체(Object형태인)를 만들고 그 것(을 찾아갈 수 있는 참조)을 저장해서 변수를 초기화한다는 것

 

입니다.

 

https://sime.tistory.com/41

 

[JAVA] 객체생성 - new 연산자

JAVA에서는 객체를 New 연산자로 선언하고 생성한다. Class 타입 변수명 = new 생성자 (); [예제 소스] 1 2 3 4 5 6 7 //구조체 : 다른 타입의 변수들의 묶음 자료형 //사용자 정의 자료형 class Student{ int age..

sime.tistory.com

 

 

 

객체 초기화 순서 : Static block -> Instance block -> Constructor

https://enterkey.tistory.com/411

 

 

Java에서 객체의 초기화 순서

자바는 Static block -> Instance block -> 생성자 순으로 초기화가 된다. 먼저 아래와 같은 코드를 실행해 보자. public class TestClass { public static void main (String[] args) { System.out.println("----..

enterkey.tistory.com

불변 객체 가변 객체

https://brunch.co.kr/@oemilk/120

 

Effective Java - 객체의 생성과 소멸

#05 불필요한 객체의 생성을 피하자 | Effective Java - 객체의 생성과 소멸 #05 불필요한 객체의 생성을 피하자 객체 생성을 위해 필요한 리소스를 아끼기 위해, 기능적으로 동일한 객체는 매번 생성하기보다는 하나를 계속 이용하는 게 좋습니다. 불필요한 객체 생성을 피하는 방법에 대해 알아보겠습니다. #01 불변 객체 재사용 아래 코드를 보면 String 불변(immutab

brunch.co.kr

객체의 Null 할당에 대해서

http://egloos.zum.com/lemonfish/v/5380639

 

[Java] 객체 사용후 null 할당! 해야하나 말아야 하나?

오늘도 포스팅 대용으로 네이뇬~ 지식 KIN 에 달았던 답변을 옮겨 본다. 지금껏 달았던 답변중 가장 재밌는 질문이 아니었나 생각된다. 질문은 이런 내용 이었다. 현재 메모리 누수 현상이 있어jdbc connection 관련해서 확인하고 있는데요보통 PreparedStatement, ResultSet 사용 후 finally 절에서 close 하자나요근데

egloos.zum.com

 

 

반응형

'JAVA' 카테고리의 다른 글

Akka  (0) 2019.05.07
Java Null  (0) 2019.04.09
ISO 8601 시간 형식  (0) 2019.04.06
제너릭 Generic java 가변성 T  (1) 2018.07.18
[JAVA] HttpURLConnection / requestMethod, connectTimeout  (0) 2018.06.26