[F-Lab] 2주차 회고
·
📝 끄적끄적/F-Lab
사전 질문NullpointerException에서 포인터 개념 정리노트 확인받기instanceof 단점 부분과 다형성 코드에서 의문점OutOfMemory 에러 PermGen 사전 학습자바의 신 2권 (할 수 있는 만큼 학습)7장까지 학습1주 차 보충 질문 학습 (다 정리했다! 뿌듯)JVM Warm-up, feat. 스프링 첫 요청이 오래 걸리는 이유JDK 8에서 Perm 영역이 삭제된 이유Out-of-Memory (OOM) 왜 발생하고, 어떻게 예방할까?instanceof 사용을 지양해야 하는 3가지 이유Java는 포인터 없는 언어라고 했는데 왜 NullPointerException 이 발생하는 걸까?언제 interface 사용하고, 언제 abstract class 사용 하나? 멘토님 질문GC(블로그 정..
[F-Lab] 1주차 회고
·
📝 끄적끄적/F-Lab
사전 질문코테 공부법이직할 회사 고르는 법쿼리 성능개선 이력서 작성법 사전 학습이력서 수정자바의 신 1권 전체 학습 멘토님 질문자바 언어를 왜 사용하나요?JVM 동작 과정JVM의 단점은 없을까요?JVM 런타임 데이터 영역String객체 리터럴 vs new() 차이객체 지향 프로그래밍이란?pass by value vs pass by reference다향성이란?상속이란?instance of 키워드란?인터페이스란?인터페이스와 추상 클래스의 차이Exception과 Error의 차이Checked Exception vs UncheckedException어노테이션이란? 느낀 점먼저 냅다 기술질문을 하시기보다는 한 주 동안 어떻게 보내셨는지, 막혔던 건 없는지 아이스브레이킹을 해주신다.(휴가 갔다 왔으면 휴가 다녀왔다..
[F-Lab] 0주차 - 시작한 계기, 사전 미팅
·
📝 끄적끄적/F-Lab
퇴사3년 반 동안 다니던 회사를 퇴사했다.첨에는 "환승 이직해야겠지..?" 하고 한 회사에 지원해서 최종 면접까지 경험할 수 있었다.마지막 관문에서 대차게 말아먹고 떨어졌지만…이 과정에서 “이대로 이직한다고 100% 기쁠까” 생각해 보니, 꼭 그렇지만은 않았다.그간 회사에서 안 좋은 사건이 있었고, 지인들은 신고하라고 당장 그만두라고 했다.괜찮다고 꾸역꾸역 삼키고 버텼지만 괜찮지 않았다.결국! 내 마지막 20대, 처음이자 마지막으로 잠시만 쉬고 쭉 일하자 다짐했고, 1년 넘게 고민하다 퇴사했다.그 후에는 짧게 일하러 서울에 유학도 가고, 유럽 여행도 길게 다녀왔다.정~말 행복했다 ㅎㅎㅎ 후회하지 않는다! 😌  F-Lab을 선택한 이유이직 시장에서 나의 위치는 굉장히 불리하다고 생각했다.(SI → 성능..
JDK 8에서 Perm 영역이 삭제된 이유
·
💻 Dev/Java & OOP
JDK 8부터 자바는 기존의 PermGen(Permanent Generation) 영역을 제거하고, Native Memory를 사용하는 Metaspace를 도입했다. PermGen이란?PermGen(이하 Perm) 영역은 JDK 7까지 존재했던 메모리 영역으로, 클래스 메타데이터와 런타임 중에 읽힌 클래스 및 메서드 정보 등을 저장하는 공간이었다. Perm에 저장되는 데이터클래스 메타데이터(클래스 이름, 메서드 이름, 필드 이름 등)런타임 상수(Constant Pool)Static 변수(JDK 8 이전)메서드와 바이트코드 Perm 영역은 힙(Heap) 외부에 위치하며, JVM 실행 시 크기가 고정된다. 하지만 이 고정된 크기는 메모리 부족 문제를 자주 일으켰다. 동적으로 클래스들이 로드되고 Static ..
가비지 컬렉터(GC) feat.힙 영역
·
💻 Dev/Java & OOP
Heap 영역가비지 컬렉터(GC)를 이해하기 전에 먼저 힙 영역에 대한 이해가 필요하다.Heap 영역의 역할자바의 힙 영역은 JVM 메모리 구조에서 가장 중요한 부분 중 하나로, 크게 세 가지 주요 역할을 한다. 1. 객체 저장 공간자바의 객체와 배열(Array)과 같은 참조 타입 변수는 힙영역에 저장된다.힙 영역에 저장된 데이터는 스택(Stack) 영역에 있는 참조 변수(reference value)를 통해 접근할 수 있다. 2. 동적 메모리 할당프로그램 시작 시에 한 번에 전체 메모리가 할당되는 것이 아니라, 객체가 실제로 필요할 때 동적으로 메모리가 할당된다.class Main { public static void main(String[] args) { // 여기서 person은 ..
자바는 Call by Value만 사용한다.
·
💻 Dev/Java & OOP
프로그래밍을 하다 보면 Call by Value / Call by Reference 개념을 배우게 된다.특히 C언어에서 포인터 할 때 고통받았던 기억이... 옛날에 자바 공부할 때는 어디서는 Call by Reference도 사용한다고 봤다..!결론만 보자면 자바는 Call by Value만 사용한다. Call by Value기본 데이터 타입Call by Value란 값에 의한 호출을 의미한다.메서드 호출 시 전달되는 값의 복사본이 메서드로 전달된다는 뜻이다.public class CallByValueExample { public static void main(String[] args) { int original = 5; modify(original); Sys..