반응형 public void static main/Book33 [대규모 시스템 설계 기초] 3장, 4장 으어 스터디 하다가 아파서 버티다가 마지막에 못듣고 나와버렸다............ ㅠㅠㅠ 일단 스터디한 부분까지 정리!설계 계산 해보기TPS는 Transactions Per Second에 줄임말이다. 초당 처리되는 트랜잭션 수를 의미한다. Read TPS와 Write TPS를 사용하여 유저 수와 기간에 따른 데이터 량을 계산 하는 방법을 알아보쟈~TPS 관련 글: https://docs.whatap.io/en/best-practice-guides/about-apm-dashboard ❓ 30일동안 얼만큼의 데이터가 쌓일까 ❓ READ TPS: 100WRITE TPS: 10유저: 1000명1초 동안의 총 트랜잭션 수총 트랜잭션 수는 유저 수에 TPS를 곱한다.Read 트랜잭션 수/초 = 100 * 1,.. 2025. 1. 8. [대규모 시스템 설계 기초] 1장, 2장 스터디에 참여하게 되었다...! 어렵다...! 하지만 해야지 뭐 어케1장. 사용자 수에 따른 규모 확장성로드 밸런서(Load Balancer)1. 동작 원리 및 구현로드 밸런서는 여러 서버에 들어오는 네트워크 트래픽을 분산시켜 서버 과부하를 방지한다.요청 분배: 클라이언트 요청을 받아 백엔드 서버 중 하나로 전달한다.방식:라운드 로빈: 순서대로 서버에 요청을 분배.가중치 기반: 성능이 높은 서버에 더 많은 요청 할당.최소 연결: 현재 연결 수가 가장 적은 서버에 요청 전달.2. 장단점 사용 이유장점:시스템 가용성 및 확장성 향상.특정 서버 과부하 방지.장애 서버 자동 감지 및 제외.단점:초기 설정 및 유지보수 필요.로드 밸런서 자체가 장애 지점이 될 수 있음.사용 이유: 많은 사용자가 동시에 접속하는 서.. 2025. 1. 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. [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. 이전 1 2 3 4 다음 반응형