본문 바로가기 메뉴 바로가기

GyuStory

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

GyuStory

검색하기 폼
  • 분류 전체보기 (84)
    • Algorithm (12)
    • I'm breathing (8)
    • Develop (13)
    • TIL (24)
    • JAVA (15)
    • 과학이좋아 (4)
  • 방명록

JAVA (15)
JAVA GC 동작 원리 이해

GC(Garbage Collection)이란?GC는 JVM의 Heap 영역에서 동적으로 할당됐던 메모리 중 참조되지 않는 객체들을 주기적으로 제거하는 자바의 메모리 관리 기법GC 대상 식별 기준GC의 판단 기준은 Reachability 라는 개념을 적용한다.객체에 레퍼런스가 있는 지를 기준으로, Reachable,Unreachable로 정의한다.GC 동작 원리Mark and Sweep가비지 컬렉션이 될 대상 객체를 Mark하고 Sweep하며 객체가 제거되어 파편화된 메모리영역을 앞에서부터 Compaction채워나가는 작업을 수행한다.Mark : Root Space(Stack의 로컬 변수, Method Area의 Static 변수 등) 로부터 그래프 순회를 통해 연결된 객체들에 마킹하는 단계Sweep : ..

JAVA 2025. 4. 6. 10:35
[김영한 자바강의] 상속

상속 extends : 기존 클래스의 속성과 기능을 물려받는 것.(재사용)부모클래스(슈퍼클래스) / 자식클래스(서브클래스)자바는 단일상속만 지원한다(다중상속의 경우, 상속의 모호함이 생김)  --> 대신에 interface의 다중구현을 통해 해결한다. 상속과 메모리 구조!- 자식객체 생성시에 , 참조값 하나인 인스턴스에 부모클래스와 자식클래스 정보를 둘다 생성한다.(외부에서 볼때는 하나의 인스턴스 같지만, 내부에서는 부모와 자식이 모두 생성되고 공간도 구분되어 메모리 생성된다)-->  메소드 호출시에 호출하는 변수의 타입(클래스)를 기준으로 선택한다.-->  이떄, 자식 타입으로 호출했는데 자식 클래스에 메소드가 없다면, 부모 메소드를 호출하게 된다.(그래도 없으면 컴파일에러!)  ** 널포인트 객체를 ..

JAVA 2024. 11. 21. 22:26
[김영한 자바강의] 7강 자바 메모리 구조와 static

자바 메모리 구조 - 메서드 영역: 모든 영역에서 공유, 클래스 정보, static- 스택 영역 : 지역변수, 중간 연산 결과, 메소드 호출정보(종료되면 stack에서 삭제), 각 쓰레드 별로 생성됨- 힙 영역 : 객체(인스턴스), 배열이 생성되는 영역 , GC가 이루어지는 영역 * 인스턴스는 내부에 변수와 메소드를 가진다. 하지만 인스턴스가 생성될 때, 변수에는 메모리(힙에)가 할당 되지만 메서드에 대해서는 새로운 메모리를 부여하지 않는다. 메서드는 메서드 영역에서 코드를 호출하여 수행하게 된다. static  - 인스턴스 끼리 공유할 수 있게 한다. (메서드 영역을 참조), 붕어빵 틀에서 나온 - static이 붙은 필드를 클래스,static, 정적 변수라고 함(static 안 붙은 필드는 인스턴스 ..

JAVA 2024. 11. 12. 01:29
김영한 자바강의 6강 - 접근 제어

접근 제어자 : 접근 제어자는 멤버 또는 클래스에 사용하여 해당하는 멤버 또는 클래스를 외부에서 접근하지 못하도록 제한하는 역할 **왜 외부에서 클래스 내부로 접근 못하게 캡슐화를 할까? --> 클래스에서 정해놓은 로직들을 무시한 채, 데이터를 변경하는 상황 발생할 수 있기 때문(따라서 보통 클래스들을 데이터들을 private하고 필요 기능들을 외부로 열어놓는다 ex자동차)접근제어자 필요 이유 : 다른 외부 클래스에서 접근 하지 못하게 하기 위함.  종류 : private--> default--> protected(상속관계면 허용) --> public특징 1. 클래스는 default, public 만 사용가능        2. 하나의 java 파일 안에 여러 클래스 생성 가능하지만, public 클래스는..

JAVA 2024. 6. 18. 21:50
김영한 자바강의 5강 - 패키지 import

package : 클래스들의 기능적 묶음, 프로그램이 커질수록 필요함(JAVA의 폴더, 디렉토리)import : 해당 클래스를 불러와서 바로 접근 가능, 원래는 패키지를 포함한 클래스의 전체이름을 적어서 객체생성해야함  패키지의 이름의 앞부분에는 일반적으로 회사의 도메인 이름을 거꾸로 사용한다.ex) com.company.myapp--> 외부라이브러리 함께 사용시에 같은 패키지안에 같은 클래스이름 존재가능성 높아지기 떄문에 회사명으로 중복 방, 거꾸로 사용으로 방지 및 오래된 관례로, 하나의 컨벤션이 된 느낌. String, Integer, System 등, 대부분의 클래스에서 자주 사용되는 클래스들은 모두 java.lang 패키지에 포함되어 있다. 워낙 자주 사용되므로 별도의 import 키워드 없이도..

JAVA 2024. 3. 12. 23:25
김영한 자바 강의 2강 -기본형과 참조형

자바의 변수 데이터타입은 크게 2가지 : 1.기본형(사용하는 값을 직접 넣음, 소문자로 시작 ) --> int , long, double, boolean 2.참조형(객체가 저장된 메모리 위치 가르키는 참조값 저장,Reference Type) --> Student 사용자 정의 클래스, String - 객체 : . (dot) 을 통해 메모리상에 객체에 접근 - 배열 : [ ] 를통해서 메모리상에 생성된 배열 찾아서 사용 가능 참조형은 연산 불가능 객체에 접근하여 멤버변수로 연산 사용 --> int sum = s1.grade + s2.grade String의 경우 참조형이지만 기본형처럼 사용가능하게끔 연산처리 기능, 문자값 바로 대입 기능을 자바에서 지원 자바의 대원칙 : "자바는 항상 변수의 값을 복사해서 ..

JAVA 2024. 3. 5. 02:03
이전 1 2 3 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
  • Github Link
TAG
  • git branch strategy
  • 스프링 동작흐름
  • java 김영한 강의 #2chapter
  • 스프링 기본 구조
  • vue정리
  • Prim vs Dijkstra
  • java garbage collector 기본
  • vue 특징
  • Netlify #CICD
  • #web /was 구분이유
  • 프로시저 #배치 #스케쥴러 #잡 #바인딩변수
  • 스프링 동작흐름 #ioc #di #dispatcherservlet
  • Optinal Chaining
  • 버팀목 국민은행
  • 알고리즘 나머지연산
  • 청년 버팀목 대출
  • gc 기본 동작 원리
  • safe operator
  • 부트스트랩 템플릿 사용시 충돌
  • SQLD 후기
  • 나머지연산 분배법칙
  • 왜 트랜스지방은 살 찜
  • Property or method "" is not defined
  • gc란 뭘까
  • JAVA설치 #JDK #JRE
  • Java
  • 원자 원소 분자 차이점
  • java gc
  • 퍼블리싱 #앱에서 DB바로 안붙이는 이유
  • SSAFY 6기
more
«   2025/06   »
일 월 화 수 목 금 토
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바