반응형 전체 글139 [STUDY] 2주차 [Q]조건문은 기계어로 번역했을때 어떻게 생겼을까요?메소드 오버로딩을 자바에서 내부 구현을 어떻게 할까요?다형성이 코드를 잘 짜는데 어떻게 도움이 될까요?추상 클래스는 어떤 상황에서 사용하게 될까요?[A]조건문은 기계어로 번역했을때 어떻게 생겼을까요?자바의 조건문(if, switch)은 기계어로 변환할 때 주로 비교 연산과 분기 명령으로 나타난다.예를 들어, 자바코드if (a > b) { doSomething();} else { doSomethingElse();}컴파일 후 저수준 언어로 변환된 모습 (어셈블리 수준)CMP a, b ; a와 b를 비교JLE ELSE_LABEL ; a 여기서 CMP는 비교 명령어, JLE는 조건에 따라 실행 흐름을 변경하는 분기 명령어이다. 깊게 생각.. 2024. 12. 16. [STUDY] 1주차 으어어어 스터디 시작이다!힘내자![Q]자바는 왜 컴파일러가 기계어를 만들어내는 대신 JVM 을 통해서 중간 형태(.class)의 명령어들을 실행할까?객체지향의 4대 원리를 조사해봅시다.힙영역과 스택영역의 차이는 무엇일까요? 스택 영역이라는 이름은 어디에서 유래한걸까요?초기화가 되지 않은 String 타입의 변수에서 값을 읽어오면 어떻게 될까요? NullPointerException 은 어떤 상황에 발생할까요?연산자들의 우선순위에 대해서 알아봅시다.[A]1. 자바는 왜 컴파일러가 기계어를 만들어내는 대신 JVM 을 통해서 중간 형태(.class)의 명령어들을 실행할까?플랫폼 독립성 (Write Once, Run Anywhere)자바의 주요 설계 목표는 한 번 작성한 코드를 여러 플랫폼에서 실행할 수 있다는.. 2024. 12. 6. [JVM 밑바닥] 7장 클래스 로딩 메커니즘 공부시작!1. 클래스 로딩 시점JVM은 클래스를 "필요한 순간"에 로딩합니다. 정확한 시점은 아래와 같습니다:클래스를 사용할 때: 예를 들어, new 키워드로 객체를 생성하거나, 클래스의 정적 메서드/변수를 호출할 때.Class.forName() 호출 시: 리플렉션을 통해 클래스를 로드할 때.JVM의 기본 실행: JVM이 시작되면서 메인 클래스를 로드합니다.2. 클래스 로딩 처리 과정 (3단계)클래스 로딩은 크게 로딩 → 링크 → 초기화의 3단계로 나뉩니다.(1) 로딩 (Loading)클래스 파일(.class)을 찾고 읽어들여 메모리에 로드합니다.이 작업은 JVM 내의 클래스 로더(ClassLoader)가 담당합니다.메서드 영역에 클래스 정보를 저장 합니다.클래스 객체(java.lang.Class)를 생.. 2024. 11. 17. [JVM 밑바닥] 6장 클래스 파일 클래스 파일 기본 구조자바 클래스 파일은 기본적으로 클래스 선언과 멤버(필드와 메서드)로 구성됩니다.예를 들어, Person이라는 클래스를 만든다면, 이 클래스는 아래와 같은 요소로 구성될 수 있습니다:클래스 이름: 클래스 선언 부분으로 class Person {}처럼 작성됩니다.필드: 클래스가 가지는 속성을 정의하며, 예를 들어 String name; int age;처럼 작성됩니다.생성자: 객체 생성 시 호출되는 메서드로, 클래스와 이름이 동일하고 리턴 타입이 없습니다.메서드: 클래스의 동작을 정의하는 함수들로, 예를 들어 public void greet() {}처럼 작성됩니다.자바 클래스 파일 구조클래스 파일은 크게 다음과 같은 구조로 구성됩니다.Magic Number: 파일의 시작 부분에 위치한 고.. 2024. 10. 27. [JVM 밑바닥] 3장 가비지 컬렉터와 메모리 할당 전략 -1 조아써 오늘은 3장에 3-1 부터 3-3까지만 정리해보자! 대상이 죽었는가?자바 세계에서는 거의 모든 객체 인스턴스가 힙에 저장된다. 가비지 컬렉터가 힙을 청소하려면 가장 먼저 어떤 객체가 살아 있고, 또 어떤 객체가 죽었는지 판단해야 한다. 도달 가능성 분석 알고리즘GC루트 라고 하는 루트 객체들을 시작 노드 집합으로 쓰는 것이다. 시작 노드들에서 출발하여 참조하는 다른 객체들로 탐색해 들어간다. 그리고 어떤 객체와 GC 루트 사이를 이어주는 참조 체인이 없다면, 즉 GC 루트로부터 도달 불가능한 객체는 더 이상 사용할 수 없는 게 확실해진다.그럼 자바에서는 어떤 객체가 GC 루트를 이용할 수 있을까?가상 머신 스택(스택 프레임의 지역 변수 테이블)에서 참조하는 객체: 현재 실행중인 메서드에서 쓰는 매.. 2024. 8. 7. [JVM 밑바닥] 1장. 자바, 2장 자동 메모리 관리 조아써! JVM 밑바닥까지 파헤치기 너로 정했다!읽어보자!1장JDK (Java Development Kit)Java 프로그램을 개발하기 위해 필요한 도구 모음 이다.컴파일러, 디버깅 도구, 자바 가상 머신(JVM) 등을 포함하고있다.JRE는 JDK에 포함되어있다.JRE (Java Runtime Environment)Java 프로그램을 실행하는데 필요한 도구들로 구성된 패키지 이다. 자바 메모리 영역과 메모리 오버플로런타임 데이터 영역간단히 말하면, Java Application을 실행할 때 사용되는 데이터들이 저장되는 메모리 공간 이다.실제 클래스 파일이 적재되는 곳으로 JVM이 OS로부터 Java 프로그램 실행을 위한 데이터와 명령어를 저장하기 위해 할당 받는 메모리 공간 이다.메서드 영역(Method.. 2024. 7. 25. 세상에나.... 세월이 너무 빠르네...벌써 지금 회사에 들어온지 3년이 다 되어간다!! 스터디는 나름 중간중간 해왔지만... 뭔가 아직 자신이 없다...나는 지금 연차에 맞는 지식을 갖고있는 사람인가? 다시 되돌아본다...그래서 다시 책을 펼치고 다짐을 했다! 일단 다시 차근차근하게 해보자!이책 일단 끝까지 봐보자!그럼 어제의 나보다는 더 많이 아는거니까! 어제의 나 보다 더 나은 오늘의 나로 살아가기 위해서는 지금의 내가 움직여야해!정신차려!!! 새로운 공부방법 도저어어언...!! 조만간 공유하겠다! 2024. 7. 23. 나... 블로그 했었지... 맞다... 맙소사! 정말 오랜만에 블로그에 글쓴다 나름 찔끔씩 공부는 하고있었는데 블로그에 글쓰는게 정말 부지런해야하는구나... 회사 동기들끼리 하던 스터디도 정지돼서 방학이다~ 하면서 쉬고있었는데 또 불안해서 혼자 찔끔찔끔 책이라도 읽고있었다.. ㅋㅋ 공부한거 블로그에 써야지 써야지 했는데도 하루종일 업무한다고 컴퓨터 보다보니까 집에와서는 컴퓨터좀 그만봤으면해서 책만 읽고있었다...ㅋㅋㅋ 운동하다 허리통증이 생겨서 누워서 읽고 또 누워서 만화보고 ㅋㅋ 넷플릭스 보고 슬슬이제 블로그에도 정리하면서 다시 공부 시작해야겠다 긴시간 방학이였어! 잘쉬었지? 평일날 공부하는게 너무 힘들다... 세상 직장인분들 정말 대단하시고 존경스러움 ㅠㅠ 오늘보다 더 나은 내일의 내가 되기를 바라며 오늘도 힘차게 공부해보자! 근데 일단 .. 2023. 6. 11. [CISCO NETWORK] PART 1 - OSI 7 Layer 이번에는 네트워크 7계층하고 프로토콜에 대해서 자세히 인것 같으면서도 아닌거같게 알아보자! ✅OSI 7계층 네트워크 통신이 일어나는 과정을 7단계로 나눈 국제 표준화 기구(ISO)에서 정의한 네트워크 표준 모델이다! 통신이 일어나는 과정을 단계별로 파악하기 용이하게 하기 위해서이다! 나는 말안들으니까 1번이 아니라 7번부터공부할꺼다! ⭐응용 계층 (Application Layer) 우리가 사용하는 프로그램을 말한다! 웹 브라우저, 어플 등등! 최종 목적지로써 HTTP, FTP, SMTP, Telnet 등과 같은 프로토콜이 있다. 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행한다. 네트워크 소프트웨어의 UI 부분, 사용자의 입출력 부분을 담당한다! ⭐표현 계층 (Presentation Laye.. 2023. 2. 16. 이전 1 ··· 3 4 5 6 7 8 9 ··· 16 다음 반응형