언어 log/Java3 [Java] JVM(Java Virtual Machine) 구조 JVM의 역할 JVM 구조 Class Loader Runtime Data Area(Memory) [Method Area, Heap Area] [Stack Area, PC register, Native Method Stack] Execution Engine ⍞ Reference JVM의 역할 자바 애플리케이션을 Class Loader를 통해 읽어 들여 자바 API와 함께 실행 JVM은 Java와 OS 사이에서 중개자 역할을 수행 → JAVA가 OS에 독립적으로 실행 및 재사용을 가능하게 함 메모리관리, Garbage collection을 수행 스택기반의 가상머신 ARM 아키텍쳐 같은 하드웨어는 레지스터 기반으로 동작하는데 비해 JVM은 스택기반으로 동작한다 JVM 구조 .java 파일이 javac(java.. 2020. 9. 10. [Java] Array to List, List to Array Array → List 1. 가장 단순한 for문 list.add(value); 예시 2. 간결한 메소드 asList() ✨ List list = Arrays.asList(arr); 예시 3. Collection 패키지 사용 addAll() ✨ Collections.addAll(list, arr); 예시 4. 익숙하다면, stream List list = Arrays.stream(arr).collect(Collectors.toList()); 예시 List → Array 1. 가장 단순한 for문 arr[i] = list.get(i); 예시 2. 간결한 메소드 toArray ✨ String[] arr = list.toArray(new String[0]); 예시 3. 간결하지만 시간 오래 걸리는 stream.. 2020. 6. 13. [Java] Array copy 배열 복사/복제 [얕은 복사] 주소값 복사 1. B = A; 예시 [깊은 복사] 복제. 새로운 메모리 공간에 값 복사 2. B = A.clone(); 예시 3. 기존 배열의 일부만 덮어씌우기 || clone()보다 더 빠르길 원할 때 System.arraycopy( A, sourcePos, B, destPos, len ); 예시 4. 원하는 길이 설정 B = Arrays.copyOf( A, newLength ); 예시 5. 원하는 시작점 설정 B = Arrays.copyOfRange( A, from_index, to_index ); 예시 [깊은 복사] 2차원 배열 👀 예시 [얕은 복사] 주소값 복사 1. B = A; 예시 class Main { public static void main(String[] args) { i.. 2020. 5. 31. 이전 1 다음