본문 바로가기

반응형

전체 글

(89)
자바 고급 스터디 8. garbage collector 종류 자바 고급 스터디 목록 공부 시간 : 2021/05/02 16:40 ~ 18:30 8주차. gc종류별 차이점 Java 7,8 에서는 기본적으로 Parallel gc를 사용하며, Java 9~12에서는 G1 gc를 사용한다. Java 11에서는 z GC를 시범적으로 사용하고 있다고 한다. 각각 gc의 하나하나 동작원리를 살펴보기 보다는 어떠한 장점이 있고 버전이 올라가게 되면서 gc 종류를 바꾼 이유를 중점으로 알아보려고 한다. Serial GC 이름에서도 알 수 있듯이, 순차적인, 직렬로 실행되어 Mark-Sweep이 한번에 하나씩만 실행된다. 가장 오래된 GC 종류이며 최근에는 사용되지 않는다. 그 이유는 stop-the-world가 빈번하게 발생하기 때문이다. 서버의 cpu코어가 1개일 경우를 생각하..
aws ec2 에서 local로 파일 다운로드, 업로드 하기 ec2 -> local 다운로드 : scp -i [local에서 key.pem경로] [ec2-user@ip주소]:~[aws에서 옮길 파일 경로] [local 경로] local -> ec2 업로드 scp -i [local에서 key.pem경로] [upload folder] [user id]@[ec2 public IP]:~/[transfer address]
자바 고급 스터디 7. garbage collector 자바 고급 스터디 목록 공부 시간 : 2021/04/08 21:20 ~ 22:40 / 2021/04/11 11:00 ~ 11:40 7주차. gc의 동작원리와 gc가 언제 작동되는지 설명하세요. garbage collector 이란? 가비지 컬렉션을 한마디로 표현하면, 사용하지 않는 메모리를 해제해주는 것이다. C, C++와 같은 언어들의 경우에 개발자가 직접 사용하지 않는 메모리가 어떤 것 인지 판단하여 해제하는 과정이 필요하다. 하지만 자바에서는 자바에서는 가비지 컬렉터가 사용하지 않는 메모리를 탐지하여 해제해준다. garbage collector 사용시 얻을 수 있는 장점, 한계 장점 개발자가 직접 메모리 영역 전체를 컨트롤하지 않아도 됨. 잘못된 메모리 접근으로 발생하는 Crash 현상 방지 가능...
자바 고급 스터디 6. 리플렉션 (reflextion) 자바 고급 스터디 목록 공부 시간 : 2021/04/07 21:20 ~ 22:40 6주차. 리플렉션에 대해서 설명하세요. 리플렉션이란? 리플렉션은 구체적인 클래스 타입을 알지 못해도, 그 클래스의 메소드, 타입, 변수들에 접근할 수 있도록 해주는 자바 API 리플렉션의 정의를 보고 한번에 이해하기는 쉽지않다. 구체적인 클래스 타입을 알지 못해도??? 라는 것이 정확히 어떤 의미인지 선뜻 이해하기 어렵고, 또 구체적인 클래스 타입을 모르는 것을 사용할 일이 있을까? 라 생각이 들기도 한다. 먼저 구체적인 클래스 타입을 모르는 것의 예시를 들어보자. public class Student() { public void study() { // do study } public static void main(Stri..
자바 고급 스터디 5. generic type erasure(제네릭 타입 소거) 자바 고급 스터디 목록 공부 시간 : 2021/04/06 24:00 ~ 24:40, 04/07 11:00 ~ 5주차. generic type erasure(제네릭 타입 소거)에 대해서 설명해보세요. 제네릭 이란? 자바에서 제네릭이란 클래스나 메소드에 사용할 내부 데이터 타입을 컴파일 시점에 미리 정하는 방법이다. 제네릭을 사용함으로써 얻을 수 있는 장점은 무엇일까? 객체의 타입 안정성을 높힐 수 있다. 반환값의 타입 변환, 타입 검사에 대한 것을 생략할 수 있다. public class dd { List list = new ArrayList(); List list = new ArrayList(); } 제네릭을 위와 같이 사용 하면 제네릭을 사용하는 장점을 잘 살릴 수 있을지 생각해보자. 먼저 타입안정성에..
자바 고급 스터디 4. 자바 컴파일 되는 과정 자바 고급 스터디 목록 공부 시간 : 2021/04/04 14:00 ~ 15:15 4주차. 자바가 컴파일 되는 과정에 대해서 설명해보세요. 자바 컴파일 이란? 자바로 작성된 코드를 어셈블리어 -> 기계어(binary code형식)으로 변환해주는 과정이다. 바이너리 코드, 어셈블리 언어, 고급언어 binary code : 10001011101101 과 같이 0과 1로 이루어진 코드 한국어, 영어, 프랑스어 등과 같이 운영체제에 따라 다르다. assembly language : add 3, 5, result 와 같이 이루어진 코드 기계어와 1:1로 매칭됨. binary code로 변환하는 과정이 필요함. 고급언어 어셈블리언어 보다 사람이 이해하기 쉬운 방식으로 개선된 언어 인터프리터, 컴파일러를 사용하는 언..
자바 고급 스터디 3. java JVM구조 자바 고급 스터디 목록 공부 시간 : 2021/03/25 22:30 ~ 25:25 3주차. JVM구조에 대해서 설명, 자바 버전에 따라 어떻게 바뀌는가? jvm의 탄생배경 c, c++ 와 같은 언어들은 타겟 플렛폼(운영체제 + cpu아키텍쳐)에 종속적으로 작동함. ex) 리눅스에서 컴파일하면 윈도우에서 실행불가능 자바 컴파일러에 의해 변환된 java 바이트코드(.class)는 타겟플렛폼에 의존하지 않고 JVM 위에서 작동된다. JVM은 타겟플렛폼에 의존함. (window용 JVM, mac용 JVM...) jvm 구조 1. class loader : 자바는 어플리케이션 시작시 한번에 로드되지 않고, 필요할때 마다 로드된다. (lazy loading) 런타임시에 클래스를 동적으로 jvm에 로드하는 역할을 한..
[timescale db] Mac 타임스케일 디비 설치하기 timescale db 설치하기 timescale 공식문서 설치 #brew 탭 추가하기 brew tap timescale/tap #timescaledb 설치하기 brew install timescaledb #설치 후 파일 경로 이동 /usr/local/bin/timescaledb_move.sh #표준 설정 적용하기 timescaledb-tune #PostgreSQL 재시작 brew services restart postgresql #postgres 슈퍼유저 생성하기 createuser postgres -s db 설정 #postgreSQL연결 (위에서 생성한 슈퍼유저 사용) psql -U postgres -h localhost #데이터베이스 생성 CREATE database tutorial; #생성한 db..

반응형