
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 : ..
상속 extends : 기존 클래스의 속성과 기능을 물려받는 것.(재사용)부모클래스(슈퍼클래스) / 자식클래스(서브클래스)자바는 단일상속만 지원한다(다중상속의 경우, 상속의 모호함이 생김) --> 대신에 interface의 다중구현을 통해 해결한다. 상속과 메모리 구조!- 자식객체 생성시에 , 참조값 하나인 인스턴스에 부모클래스와 자식클래스 정보를 둘다 생성한다.(외부에서 볼때는 하나의 인스턴스 같지만, 내부에서는 부모와 자식이 모두 생성되고 공간도 구분되어 메모리 생성된다)--> 메소드 호출시에 호출하는 변수의 타입(클래스)를 기준으로 선택한다.--> 이떄, 자식 타입으로 호출했는데 자식 클래스에 메소드가 없다면, 부모 메소드를 호출하게 된다.(그래도 없으면 컴파일에러!) ** 널포인트 객체를 ..
자바 메모리 구조 - 메서드 영역: 모든 영역에서 공유, 클래스 정보, static- 스택 영역 : 지역변수, 중간 연산 결과, 메소드 호출정보(종료되면 stack에서 삭제), 각 쓰레드 별로 생성됨- 힙 영역 : 객체(인스턴스), 배열이 생성되는 영역 , GC가 이루어지는 영역 * 인스턴스는 내부에 변수와 메소드를 가진다. 하지만 인스턴스가 생성될 때, 변수에는 메모리(힙에)가 할당 되지만 메서드에 대해서는 새로운 메모리를 부여하지 않는다. 메서드는 메서드 영역에서 코드를 호출하여 수행하게 된다. static - 인스턴스 끼리 공유할 수 있게 한다. (메서드 영역을 참조), 붕어빵 틀에서 나온 - static이 붙은 필드를 클래스,static, 정적 변수라고 함(static 안 붙은 필드는 인스턴스 ..
접근 제어자 : 접근 제어자는 멤버 또는 클래스에 사용하여 해당하는 멤버 또는 클래스를 외부에서 접근하지 못하도록 제한하는 역할 **왜 외부에서 클래스 내부로 접근 못하게 캡슐화를 할까? --> 클래스에서 정해놓은 로직들을 무시한 채, 데이터를 변경하는 상황 발생할 수 있기 때문(따라서 보통 클래스들을 데이터들을 private하고 필요 기능들을 외부로 열어놓는다 ex자동차)접근제어자 필요 이유 : 다른 외부 클래스에서 접근 하지 못하게 하기 위함. 종류 : private--> default--> protected(상속관계면 허용) --> public특징 1. 클래스는 default, public 만 사용가능 2. 하나의 java 파일 안에 여러 클래스 생성 가능하지만, public 클래스는..
package : 클래스들의 기능적 묶음, 프로그램이 커질수록 필요함(JAVA의 폴더, 디렉토리)import : 해당 클래스를 불러와서 바로 접근 가능, 원래는 패키지를 포함한 클래스의 전체이름을 적어서 객체생성해야함 패키지의 이름의 앞부분에는 일반적으로 회사의 도메인 이름을 거꾸로 사용한다.ex) com.company.myapp--> 외부라이브러리 함께 사용시에 같은 패키지안에 같은 클래스이름 존재가능성 높아지기 떄문에 회사명으로 중복 방, 거꾸로 사용으로 방지 및 오래된 관례로, 하나의 컨벤션이 된 느낌. String, Integer, System 등, 대부분의 클래스에서 자주 사용되는 클래스들은 모두 java.lang 패키지에 포함되어 있다. 워낙 자주 사용되므로 별도의 import 키워드 없이도..
자바의 변수 데이터타입은 크게 2가지 : 1.기본형(사용하는 값을 직접 넣음, 소문자로 시작 ) --> int , long, double, boolean 2.참조형(객체가 저장된 메모리 위치 가르키는 참조값 저장,Reference Type) --> Student 사용자 정의 클래스, String - 객체 : . (dot) 을 통해 메모리상에 객체에 접근 - 배열 : [ ] 를통해서 메모리상에 생성된 배열 찾아서 사용 가능 참조형은 연산 불가능 객체에 접근하여 멤버변수로 연산 사용 --> int sum = s1.grade + s2.grade String의 경우 참조형이지만 기본형처럼 사용가능하게끔 연산처리 기능, 문자값 바로 대입 기능을 자바에서 지원 자바의 대원칙 : "자바는 항상 변수의 값을 복사해서 ..
- Total
- Today
- Yesterday
- java garbage collector 기본
- SQLD 후기
- 왜 트랜스지방은 살 찜
- Optinal Chaining
- gc란 뭘까
- SSAFY 6기
- 알고리즘 나머지연산
- Property or method "" is not defined
- gc 기본 동작 원리
- java gc
- 원자 원소 분자 차이점
- Prim vs Dijkstra
- 스프링 동작흐름
- 나머지연산 분배법칙
- 스프링 동작흐름 #ioc #di #dispatcherservlet
- 청년 버팀목 대출
- safe operator
- Netlify #CICD
- vue 특징
- git branch strategy
- JAVA설치 #JDK #JRE
- java 김영한 강의 #2chapter
- Java
- #web /was 구분이유
- 스프링 기본 구조
- 퍼블리싱 #앱에서 DB바로 안붙이는 이유
- 버팀목 국민은행
- vue정리
- 프로시저 #배치 #스케쥴러 #잡 #바인딩변수
- 부트스트랩 템플릿 사용시 충돌
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |