일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Real MySQL
- MSA
- Stream
- redis
- Java
- jvm
- thread
- 자바
- spring
- 백준
- mysql
- Collection
- list
- K8s
- 이스티오
- 자바 ORM 표준 JPA 프로그래밍
- 토비의 스프링 정리
- 스트림
- Kotlin
- GC
- IntellJ
- 보조스트림
- JPA
- 쿠버네티스
- 토비의 스프링
- SpringBoot
- 스프링
- OS
- Stack
- gradle
- Today
- Total
목록jvm (3)
인생을 코딩하다.
상수 풀(String Pool)은 GC가 될까요? JVM 내부구조를 다시 보던 중에, 문득 "상수 풀은 GC가 될까?" 라는 생각이 떠올랐습니다. 자바에서 보통 static은 GC가 되지 않는데, 상수풀도 GC가 안되려나? 자바에서 보통 string 객체의 사용량이 가장 큰데 상수풀이 GC가 되지 않는다면 메모리에 큰 이슈가 발생하지 않을까? 큰 이슈가 발생할 수도 있으니, JVM에서 상수풀이 GC가 되도록 최적화하는 옵션을 설정해두지 않았을까? 하는 생각들을 했었습니다. https://www.baeldung.com/java-string-pool에서 답을 얻을 수 있었습니다. Before Java 7, the JVM placed the Java String Pool in the PermGen space,..
JVM 역할이 뭘까?? 자바 애플리케이션 클래스 로더를 통해 읽어 들여 자바 API와 함께 실행 JAVA와 OS사이에서 중개자 역할을 수행하여 JAVA가 OS에 구애받지 않고 재사용을 가능하게 해줌 메모리관리, Garbage collection을 수행한다. 스택 기반으로 동작한다. 즉, 운영체제 위에서 동작하는 프로세스로 자바 코드를 컴파일해서 바이트 코드를 해당 운영체제가 이해할 수 있는 기계어로 바꿔 실행시켜주는 역할을 한다. // 바이트코드) 자바 가상머신이 이해할 수 있는 언어로 변환된 자바 소스 코드 왜 JVM을 알아야 하는가? 메모리 효율성을 위해 메모리 구조를 알아야 하기 때문이다. 동일한 기능의 프로그램이더라고 메모리 관리에 따라 성능이 좌우된다. 우리는 한정된 메모리를 효율적으로 사용하여..
public class ReferencePass { public static void main(String[] args) { ReferencePass reference = new ReferencePass(); reference.callPassByValue(); } public void callPassByValue() { int a = 10; String b = "hyungil"; System.out.println("before passByValue"); System.out.println("a=" + a); System.out.println("b=" + b); passByValue(a, b); System.out.println("after passByValue"); System.out.println("a=..