본문 바로가기

전체 글

(135)
클래스와 인스턴스 클래스와 인스턴스의 차이에 대해 설명해주실 수 있을까요? 클래스(Class)란 클래스(Class)란 Java 프로그램에서 객체를 생성하기 위한 일종의 설계도 객체가 가지는 속성(필드)와 동작(메소드)으로 이루어져 있다. 흔히 붕어빵(객체)를 만들기 위한 붕어빵 틀(클래스)이라고 비유를 한다. 클래스는 필드(Field), 생성자(Constructor), 메소드(Method)로 구성되어 있다. 필드: 객체의 데이터가 저장되는 곳 생성자 : 객체가 실제로 생성될 때 초기화 역할을 담당 메소드: 객체의 동작에 해당하는 실행 블록이다. 인스턴스(Instance)란 클래스가 붕어빵 틀이라면 그 틀을 통해 생성된 객체(붕어빵) 하나하나를 해당 클래스의 인스턴스(Instance)라고 부른다. Java 프로그램 실행 시..
[Docker][error] ( Error response from daemon: You cannot remove a running container ) docker container rm [컨테이너] 실행 시 오류가 났다. 해결방법 docker stop 84ac93ee9586 docker rm 84ac93ee9586
[Docker] sudo 없이 docker 명령어 사용하기 1. 현재 사용자를 docker group에 포함 sudo usermod -aG docker ${USER} 2. 터미널 재시작 후 결과 확인 id -nG
JVM의 힙 & 스택 메모리 JVM의 스택과 힙메모리 영역에 대해 아는 만큼 설명해주실 수 있을까요? 자바의 메모리 영역 자바 프로그램이 실행되면 JVM(자바 가상 머신)은 OS로부터 메모리를 할당받고, 그 메모리를 용도에 따라서 여러 영역으로 나누어 관리합니다. JVM의 메모리 공간(Runtime Data Area)은 크게 Method(Static)영역, Stack 영역, Heap 영역으로 구분되고 데이터 타입(자료형)에 따라 각 영역에 나누어 할당 되게 된다. 컴파일러에 .java -> .class컴파일 클래스 로더에 의해서 클래스 파일을 메모리 영역에 로드 후 초기화 작업을 수행 메모리 영역에 Static(Method)부터 로드가 된다. 클래스 로드가 끝난 후 JVM은 main 메소드를 찾아 지역변수, 객체변수, 참조변수를 스..
[Kafka] Kafka Topic 삭제 Docker 에 Kafka가 설치되어있다고 가정한다. (base) bagjeongmin@bagjeongmin-ui-MacBookAir ~ % docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6ddf989d6e5b wurstmeister/kafka "start-kafka.sh" 42 hours ago Up 2 hours 0.0.0.0:9092->9092/tcp kafka f6443c680f8c wurstmeister/zookeeper "/bin/sh -c '/usr/sb…" 42 hours ago Up 2 hours 22/tcp, 2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp zookeeper c38864..
[Java] 컴파일되는 과정 컴파일되는 과정에 대해 설명해주세요. 자바는 OS에 독립적인 특징을 가지고 있다. JVM(Java Vitual Machine) 덕분이다. 컴파일 순서 개발자가 자바 소스코드(.java)를 작성합니다. 자바 컴파일러가 자바 소스코드(.java)파일을 읽어 바이트코드(.class)코드로 컴파일 합니다. 바이트코드(.class)파일은 아직 컴퓨터가 읽을 수 없는 JVM(자바 가상 머신)이 읽을 수 있는 코드이다.(java -> class) 컴파일된 바이트코드(.class)를 JVM의 클래스로더(Class Loader)에게 전달합니다. 클래스 로더는 동적로딩(Dynamic Loading)을 통해 필요한 클래스들을 로딩 및 링크하여 런타임 데이터 영역(Runtime Data Area의 Method Area), 즉..
[Docker/Kafka] zookeeper/Kafka 설치 로컬에서 설치해봐도.. 강의를 따라서 설치해봐도 도저히 설치되지 않았는데 docker로 설치하는것도 안됐는데 한 블로그 그대로 하니 설치가 되었다. 하루내내 삽질한 기록 Zookeeper 컨테이너 이미지 가져오기 docker pull wurstmeister/zookeeper Kafka 컨테이너 이미지 가져오기 docker pull wurstmeister/kafka docker-compose.yml # compose 파일 버전 version: '3' services: # 서비스 명 zookeeper: # 사용할 이미지 image: wurstmeister/zookeeper # 컨테이너명 설정 container_name: zookeeper # 접근 포트 설정 (컨테이너 외부:컨테이너 내부) ports: - "..
동시성제어(1) - Redis 레이스 컨디션(race condition) @Service public class ApplyService { ... public void apply(Long userId){ long count = couponRepository.count(); if(count > 100){ return; } couponRepository.save(new Coupon(userId)); } } TestCode @Test public void 여러명응모() throws InterruptedException { int threadCount = 1000; ExecutorService executorService = Executors.newFixedThreadPool(32); //다른스레드에서 수행해주는 작업을 기다려주는 클래스 C..