본문 바로가기
반응형

public void static main91

[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.
[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.
[CISCO NETWORK] PART 1 자! 이제 시작이야! 내가 정리하고 싶은 부분만 정리할꺼다! ✅네트워킹을 한다고 하면 LAN과 WAN이 공존한다! 무엇인지 알아보쟈! LAN (Local Area Network) 어느 한정된 공간에서 네트워크를 구성 한다는 것 WAN (Wide Area Network) 멀리 떨어진 지역을 서로 연결하는 경우 ✅이더넷(Ethernet)? 네트워킹의 한 방식 즉 네트워크를 만드는 방법 중 하나! CSMA/CD라는 프로토콜을 사용해서 통신한다! 👷‍♂️CSMA/CD란? - Carrier Sense Multiple Access/Collision Detection 을 줄여서 부르는 방식! 1. 통신하고 싶은 PC나 서버는 먼저 지금 네트워크상에 통신이 일어나고 있는지를 확인한다! (네트워크 자원을 쓰고있는 PC나.. 2023. 2. 13.
[Effective Java] 아이템 48 으아아아 내일 아니 12시 지났꾸나 오늘 스터디인데 너므 졸립다 왜 왜 주말에 안하고 이제하는거야!! 주말에 뭐하는데~~!~!!!!~!~!!! [책 규칙] 노란색 - 자세히 알아보고싶은 부분 초록색 - 핵심 개념 (블로그 정리시는 검은색으로!) 빨간색 - 무슨말인지 모르겠는 부분 [아이템 48] 스트림 병렬화는 주의해서 적용하라 스트림 병렬화를 알아보기전에 정리! 동시성(Concurrency)...? 멀티 작업을 위해 멀티 스레드가 번갈아가며 실행하는 성질! 싱글 코어 CPU를 이용한 멀티 작업은 병렬적으로 실행되는 것 처럼 보이지만 실제로는 동시성 작업임! 병렬성(Parallelism)...? 병렬성은 멀티 작업을 위해 멀티 코어를 이용해 동시에 실행하는 성질이다! 데이터 병렬성(Data Paralle.. 2023. 2. 8.
[Effective Java] 아이템 45 책 읽는것도 너어어어어어ㅓ어ㅓ무 힘들구나 [책 규칙] 노란색 - 자세히 알아보고싶은 부분 초록색 - 핵심 개념 (블로그 정리시는 검은색으로!) 빨간색 - 무슨말인지 모르겠는 부분 [아이템 45] 스트림은 주의해서 사용하라!!!! 스트림? 다량의 데이터 처리 작업(순차적이든 병렬적이든)을 돕고자 자바 8에 추가되었다! (책) 컬렉션, 배열 등에 저장된 요소들을 하나씩 참조하면서 코드를 실행할 수 있는 기능이다! 불필요한 for문을 사용하지 않을 수 있고, 람다식을 활용할 수 있어서 코드를 직관적이게 처리할 수 있다! 스트림 특징 데이터를 담는 저장소는 아니다! 데이터를 변경하지 않는다! 재사용 할 수 없다! 무제한일 수도 있다! 스트림 구조(스트림 파이프 라인) 데이터.Stream생성().중개연산()..... 2023. 2. 7.
[Effective Java] 아이템 41 조금씩 꾸준히! 아자앙자! 힘내! [책 규칙] 노란색 - 자세히 알아보고싶은 부분 초록색 - 핵심 개념 (블로그 정리시는 검은색으로!) 빨간색 - 무슨말인지 모르겠는 부분 [아이템 41] 정의 하려는 것이 타입이라면 마커 인터페이스를 사용하라! 마커 인터페이스? 아무 메서드도 담고 있지 않고, 단지 자신을 구현하는 클래스가 특정 속성을 가짐을 표시해주는 인터페이스! 일반적인 인터페이스와 동일하지만 사실상 아무 메소드도 선언하지 않은 인터페이스를 말한다! 대표적으로 Serializable 인터페이스가 있다! public interface HelloInterface{ } 왜쓸까? 객체의 타입과 관련된 정보를 제공해준다! 컴파일러와 JVM은 이 마커인터페이스를 통해 객체에 대한 추가적인 정보를 얻을 수 있게 .. 2023. 1. 31.
[Effective Java] 아이템 35 으아ㅏㅏ [책 규칙] 노란색 - 자세히 알아보고싶은 부분 초록색 - 핵심 개념 (블로그 정리시는 검은색으로!) 빨간색 - 무슨말인지 모르겠는 부분 [아이템 35] ordinal 메서드 대신 인스턴스 필드를 사용하라 ordinal 메서드? 전체 중에 해당 열거 객체가 몇번째 인지 알려준다! 순서는 0번부터 시작! 모든 열거 타입이 이를 제공한다! 열거 타입 상수와 연결된 정숫값이 필요하면 ordinal 메서드를 이용하려 한다! STOP! // ordinal을 잘못 사용한 예 public enum Ensemble { SOLO, DUET, TRIO, QUARTET, QUINTET, SEXTET, SETPTET, OCTET, NONET, DECTET; public int numberOfMusicians() { .. 2023. 1. 30.
[Effective Java] 아이템 33 (이거 보지마세여! 다시 정리할꺼에요!) [책 규칙] 노란색 - 자세히 알아보고싶은 부분 초록색 - 핵심 개념 (블로그 정리시는 검은색으로!) 빨간색 - 무슨말인지 모르겠는 부분 [아이템 33] 타입 안전 이종 컨테이너를 고려하라! 타입 안전 이종 컨테이너? 한 타입의 객체만 담을 수 있는 컨테이너가 아니라 여러 다른 타입 (이종)을 담을 수 있는 타입 안전한 컨테이너. 타입 안전 이종 컨테이너 패턴 예제 즐겨찾는 인스턴스를 저장하고 검색할 수 있는 Favorites 클래스로 패턴을 보자! // 타입 안전 이종 컨테이너 패턴 - 구현 public class Favorite { // 비한정적 와일드카드 타입이라 이 맵 안에 아무것도 넣을 수 없다고 생각할 수 있지만 그 반대다. // 와일드카드 타입이 중첩(nested) 되었다는 점을 깨달아야 한.. 2023. 1. 25.
반응형