728x90 java138 JAVA의 깊은 복사, 얕은 복사 #얕은 복사 1번을 2번에 복사할 경우 1번이 수정이 일어나거나 2번이 수정이 발생하면 둘다 수정이 된다. 얕은 복사는 주소값을 복사하기 때문에 주소로 값을 참조하여 값이 변경되면 해당 값을 참조하고 있는 배열들의 값이 변경된다. int[] a = {1, 2, 3}; int[] b = a; b[0] = 2; 를 한 후 System.out.println(Arrays.toString(a)); System.out.print(Arrays.toString(b)); 를 할경우 [2, 2, 3] [2, 2, 3] 을 출력하게 된다. #깊은 복사 1번을 2번에 복사할 경우 1번이 수정이 일어나거나 2번이 수정이 발생해도 값은 수정이 발생한 곳만 변경된다. 주소값을 참조하는 것이 아닌, 새로운 메모리 공간에 값을 복사하.. 2021. 12. 30. [백준] 14226번 : 이모티콘(JAVA) https://www.acmicpc.net/problem/14226 14226번: 이모티콘 영선이는 매우 기쁘기 때문에, 효빈이에게 스마일 이모티콘을 S개 보내려고 한다. 영선이는 이미 화면에 이모티콘 1개를 입력했다. 이제, 다음과 같은 3가지 연산만 사용해서 이모티콘을 S개 만 www.acmicpc.net 풀이 [화면에 있는 이모티콘 갯수, 클립보드에 있는 이모티콘 갯수] 형태로 값을 저장하면서 해당 규칙을 수행해 나가면서 bfs를 돌리면됩니다. 아무 입력없이 처음에 화면에 1을 입력해서 [1,0]으로 시작합니다. 1. 화면에 이모티콘을 클립보드에 복사 => [x, y] -> [x, x] 2. 클립보드에 있는 모든 이모티콘을 화면에 붙여넣기 => [x, y] -> [x + y, y] 3. 화면에 있는.. 2021. 12. 28. JVM이란 #JVM이란? JVM이란 자바 가상 머신(Java Virtual Machine)의 약자로 줄여 부르는 말이다. JVM은 자바 애플리케이션을 class loader를 통해 읽어 자바 API와 함께 실행하는 것이다. JVM은 JAVA와 OS사이에 위치해 중개자 역할을 수행하여 OS에 구애받지 않고 재사용이 가능하게 해준다.(어디서든 실행 가능) JVM은 스택 기반의 가상머신이다. #자바프로그램 실행 과정 1. 프로그램이 실행되면 JVM은 OS로부터 프로그램이 필요로 하는 메모리를 할당 받는다. 2. 자바 컴파일러(javac)가 자바 소스코드(.java)를 읽어 자바 바이트코드(.class)로 변환시킨다. (자바를 처음 배울 때 콘솔창에서 직접 실행시키는 방법을 대신 해준다.) 3. Class Loader를 .. 2021. 12. 25. JAVA 관련 deep한 내용들이 나와있는 사이트 정리 https://www.grepiu.com/post/9 GrepIU www.grepiu.com 각종 Collections들의 시간복잡도 2021. 12. 24. 이전 1 ··· 8 9 10 11 12 13 14 ··· 35 다음 728x90