프로세스와 메모리 구조
·
CS
Spring으로 개발하다 보면 스레드 풀, 트랜잭션, @Async 같은 것들을 설정할 일이 생긴다. 근데 이걸 그냥 외워서 쓰면 언젠가 반드시 막히는 순간이 온다. 왜 스레드 풀 사이즈를 이렇게 잡는지, @Transactional이 왜 내부 호출에서 안 먹히는지, 이런 것들이 결국 OS 레벨의 동작 원리와 연결되어 있기 때문이다!!!!요즘 멀티 스레드 쪽을 깊게 공부해보다가 그냥 스레드부터 냅다 글을 적을까 했지만 학부생일 때 공부했던 운영체제부터 정리해서 쓰면 어떨까 싶어서 이 주제로 정리해봤다!CPU는 한 번에 하나밖에 못 한다CPU 코어 1개는 한 번에 명령어 1개만 실행할 수 있다. 그런데 우리는 컴퓨터로 유튜브 보면서 카카오톡 하고 IDE도 켜놓는다. 어떻게 가능한 걸까? CPU 코어가 많아서인..
Java - Collection Framework란?
·
Java
이전에 포스팅했던2025.04.24 - [프로그래밍언어/Java] - 자바 프로그래밍(1) - for each문 자바 프로그래밍(1) - for each문알고리즘 공부를 하다가 for each문이 나와서 글을 작성해본다.학부에서 Java를 공부할 때 for each문을 접해본 적이 없었는데NHN 아카데미 자바 백엔드 과정을 수료하면서 처음 배웠던 기억이 있다...fkqlaus.tistory.com에서 Iterable에 관해 이야기할 때 Collection에 대한 내용이 나왔었다(아주 쪼끔..)면접을 보러 갔을 때도 Collection에 관한 질문을 받은 적이 있는 만큼 잘 이해한다면 실무와 면접에서 도움이 될 거라고 생각한다. Collection Framework가 뭔가요? Java의 Collection..
Java - 면접 질문으로 다시 보는 Java의 List와 구현체(ArrayList 등)와 관계
·
Java
얼마 전에 면접을 보러 갔다가 이런 질문을 받았다. 면접관 : ArrayList는 List interface를 구현한 클래스인데 3가지 정도가 같이 넘어오는데 그게 뭔지 아나요? 라는 말을 듣고 아주 그냥 멘붕이 왔었다.그래서 이 글에는 그 내용을 정리해보려고 한다. 이 질문에는 두가지의 의미를 가지고 있다고 생각했다.첫 번째로는 객체지향프로그래밍(OOP)과 설계 관념에서의 추상적 개념두 번째로는 실제 기능 관점 아마 첫번째가 맞을 것 같지만 두 가지 모두 끄적여보려고 한다. 객체지향프로그래밍(OOP)와 설계 관념에서의 추상적 개념 1. 다형성 (Polymorphism)List list = new ArrayList(); 이렇게 선언하면 List 타입의 참조 변수로 ArrayList 객체를 다룰 수 있..