본문 바로가기

초급 개발자 로그/기술 용어23

자바 (Java) 구조 자바는 회사에서 항상 쓰면서 그냥 그렇게 썼는데 생각해보니까 자바의 구조를 상세하게 살펴본 적이 거의 없었다. 이 참에 정리할 겸 백기선님의 강의를 결제했다. JVM JVM은 Java Virtual Machine으로 자바 바이트 코드(.class 파일)를 OS에 특화된 코드로 변환하여 실행한다. 바이트 코드를 실행하는 표준(JVM 자체는 표준)이자 구현체(특정 밴더가 구현한 JVM)다. JVM은 OS와 JAVA 사이에 중개자 역할을 하여 OS에 구애받지 않고 JAVA가 실행되도록 해줍니다. 자바 바이트 코드를 어떻게 실행해야 할지 정해준 표준 스팩이다. 풀어서 설명하자면 JVM은 Java 파일을 바이트 코드로 변환을 해주는 역할을 하고, OS와 Java 파일 사이에서 중개자 역할로써 인터프리터나 JIT .. 2022. 6. 6.
[Leetcode] Two-Pointer in Linked List Linked List Cycle은 두가지 방식으로 구현할 수 있다. HashSet을 이용한 순환형 링크드 리스트 구현 방식 public class Solution { public boolean hasCycle(ListNode head) { HashSet set = new HashSet(); while( head != null) { if(set.contains(head)) { return true; } else { set.add(head); head = head.next; } } return false; } } fastNode와 slowNode 두 노드를 이용하여 순환 체크 방식 public class Solution { public ListNode detectCycle(ListNode head) { if.. 2022. 6. 1.
[Docker] 윈도우10에 Docker를 설치해보기 Docker는 경량 가상화 기술인 리눅스 컨테이너를 구현하는 애플리케이션입니다. 처음에 Docker를 설치해보려고 했으나, 윈도우10에서는 계속 먹통이 발생했다. 이유는 Docker는 다른 의미로 리눅스 컨테이너라는 이름을 가진다. 즉, 리눅스 기반으로 동작하는 애플리케이션이다. 그래서 윈도우에서는 호환이 안되는 문제점이 있었다. Docker Desktop을 사용하면 윈도우에서도 도커를 사용할 수 있다해서 바로 시도해보았다. 그런데... 윈도우 10 버전에 따라 도커 설치 차이가 있었다. 내 컴퓨터는 윈도우 10 Home 버전이었다. 윈도우 10의 Home과 Pro의 가장 큰 차이는 Hyper-V 기능의 지원여부였다. Windows 10 Pro 에디션 WSL2 기반 Docker Engine 사용 가능 H.. 2022. 5. 26.
큐 구현 방식 2가지 큐를 구현하는 방식은 2가지 입니다. 순환 큐는 FIFO(선입선출) 원리에 따라 연산을 수행하고 마지막 위치를 다시 첫 번쨰 위치에 연결하여 원을 만드는 선형 데이터 구조입니다. 포인터를 이용한 배열 구현 방식 순환 대기열에서 array와 두 개의 포인터를 사용하여 head는 큐의 시작 위치, tail은 큐의 끝 위치를 나타냅니다. class MyCircularQueue { private int[] data; private int head; private int tail; private int size; public MyCircularQueue(int k) { data = new int[k]; head = -1; tail = -1; size = k; } public boolean enQueue(int v.. 2022. 5. 8.