JAVA 48

JVM 메모리 구조 및 변수 적재 위치

자바 응용프로그램이 시작되면, 자바 가상 머신(Java Virtual Machine, JVM)은 프로그램 수행에 필요한 메모리를 할당 받고, 이 메모리를 관리합니다. Java에서 변수는 크게 전역변수, 지역변수로 구분되며 전역변수는 클래스 변수, 인스턴스 변수로 세분화됩니다. 변수의 종류를 결정짓는 요소는 변수가 어느 위치에 선언됐느냐에 따라 변하게됩니다. 변수의 종류 선언 위치 생성 시기 특징 전역변수 =멤버변수 =필드 클래스 변수 (=Static변수) 클래스 영역 클래스가 메모리에 올라갈 때 - static 메모리에 생성 - 프로그램 실행시 생성, 종료시 소멸 - 변수의 초기화 지원(초기화 필요 없음) 인스턴스 변수 (=객체변수) 인스턴스가 생성되었을 때 - heap 메모리에 생성 - GC에 의해 메..

JAVA 2020.12.14

Java 성능 관리

kok202.tistory.com/312 자바 성능 튜닝 이야기 - 00 해당 책을 정리합니다. http://www.yes24.com/Product/Goods/11261731 개발자가 반드시 알아야 할 자바 성능 튜닝 이야기 자바 애플리케이션 개발 가이드. 고성능 애플리케이션을 위해 고려해야 할 복잡한 요 kok202.tistory.com junshock5.tistory.com/92 Event Driven Architecture 란? MSA 란? "하나의 큰 어플리케이션을 여러개의 작은 어플리케이션으로 쪼개어 변경과 조합이 가능하도록 만든 아키텍쳐" 마치 작은 레고블록을 하나 하나 붙여 큰 결과물을 만드는 형태라 할 수 junshock5.tistory.com waspro.tistory.com/600 Ev..

JAVA 2020.12.09

[Java] boolean, Boolean

Boolean을 사용해야하는 경우 Null check가 필요 없는 경우 기본 자료형이 더 좋음. unboxing의 시간이 소요되기 때문. 그러나 Null 값 허용이 필요하다던지, DB에 널값이 있을 수 있다던지, Collection에서 사용해야하는 경우는 Boolean을 사용하는 것이 좋음. 사용할 수 있는 메서드가 많아짐 https://stackoverflow.com/questions/18953251/when-should-i-use-boolean-instead-of-boolean https://stackoverflow.com/questions/3728616/boolean-vs-boolean-in-java boolean - primitive type (기본 자료형) Boolean - reference t..

JAVA 2020.07.21

모던 자바 인 액션 내용 정리

[CHAPTER 1] 자바 8,9,10,11 : 무슨 일이 일어나고 있는가? 자바 8 : 간결한 코드, 멀티코어 프로세서의 쉬운 활용 - 스트림 API - 메서드에 코드를 전달하는 기법 - 인터페이스의 디폴트 메서드 Behavior parameterization(동작 파라미터화) - 자바 8 이전 상황에서는 익명 클래스를 이용해서 동작 구현 공짜로 병렬성을 얻을 수 있다. 스트림 파이프라인을 이용해 입력 부분을 여러 CPU 코어에 쉽게 할당 할 수 있다. 스트림 메서드로 전달하는 코드는 다른 코드와 동시에 실행하더라도 안전하게 실행도리 수 있어야한다. 다른 코드에 동시에 실행하더라도 안전하게 실행 할 수 있는 코드를 만들려면 공유된 가변 데이터(shared mutable data)에 접근하지 않아야한다...

JAVA 2020.07.21

Java Inner Class

내부클래스는 클래스 내에 선언된 클래스다. 클래스에 다른 클래스를 선언하는 이유는 두 클래스가 서로 긴밀한 관계에 있기 때문이다. 클래스들의 논리적인 그룹을 나타낼 때 쓴다. 주로 model 객체에서 상위모델과 하위모델이 있을 때 쓰는 것 같다. (Static Nested Class 를 많이 씀) 향상된 캡슐화 좋은 가독성과 유지보수성 https://doublesprogramming.tistory.com/158 자바 - 내부 클래스(Inner class) 8_inner_class.md 본 내용은 자바의 정석 3rd Edition을 참고하여 작성되었습니다. 개인적으로 학습한 내용을 복습하기 목적이기 때문에 내용상 오류가 있을 수 있습니다. 1. 내부 클래스? 내부클래스는 doublesprogramming...

JAVA 2020.05.29

Java 초기화

의문 : model에서 선언한 변수들에 초기화를 해야하나? public class TestModel { private String test1; private String test2 = ""; } 모델 안에서 클래스 선언을 했을 때 test1은 null로 나타남. DB에 넣어 줄 때 null로 넣지 않으려고 사용함! 미미하지만 성능에는 좋지 않음 https://wakestand.tistory.com/92 자바 초기화는 무슨 뜻이고 왜 해야할까? 자바 초기화로 검색을 해 보면 생성자와 묶어서 많이 나오는데 초기화는 생성자(Constructor)에서 변수 값 주는게 초기화인가? 이런 생각이 든다 물론 생성자에서 변수에 값 주는것도 초기화는 맞�� wakestand.tistory.com https://abydo..

JAVA 2020.05.28

if else case 성능차이

https://thinkpro.tistory.com/m/132 if문은 종적인 관계로 비교하기 때문에 조건이 많아질수록 실행 속도는 현저하게 떨어지게 된다. 그래서 비교 구문 중에 byte, short, chart, int 자료형의 데이터 값에 대한 비교에서는 횡적인 관계로 비교 할 수 있는 구문을 내놓게 되었고 그것이 바로 switch ~ case 문이다. 이것은 컴파일 시에 그 위치를 jvm이 기억하기 때문에 값이 대입되는 즉시 해당 위치로 이동할 수 있다.

JAVA 2020.04.29
반응형