일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- CS
- 스프링부트
- 리눅스
- Oracle
- 플러터
- 자바
- 파이썬
- DB
- Spring Security
- baekjoon
- 데이터베이스
- Flutter
- backjoon
- CS지식
- 시큐리티
- 자바스크립트
- springboot
- 데이터
- spring
- 백준
- 자료구조
- 스프링
- JPA
- postgresql
- 네트워크
- Java
- 스프링 부트 쇼핑몰 프로젝트 with JPA
- python
- 프로그래머스
- javascript
- Today
- Total
목록Programming Language (58)
Jin's Dev Story
가비지 컬렉션(Garbage Collection, GC) 자바의 메모리 관리 방법 중의 하나로 JVM의 Heap 영역에서 동적으로 할당했던 메모리 중 필요 없게 된 메모리 객체를 모아 주기적으로 제거하는 프로세스 가비지 컬렉터(Garbage Collector) 가비지 컬렉션을 수행하는 주체 가비지 컬렉션의 필요성 가비지 컬렉션을 이용하게 되면 프로그래머가 동적으로 할당한 메모리 영역 전체를 완벽하게 관리하지 않아도 되고, 버그나 불필요한 작업을 해소할 수 있는 장점 하지만, 동적으로 할당된 메모리가 사용되지 않는 경우엔 문제가 발생 메모리 해제 시점을 추적해야 하는데 비용이 들게 되고, 프로그래머가 수동으로 메모리 할당과 해제를 일일이 해줘야함. 그러므로 가비지 컬렉션이 필요 가비지 컬렉션의 동작 매커니..
JVM(Java Virtual Machine) 자바 가상 머신 운영체제에 종속적이다. 자바와 운영체제 사이에서 중개자 역할을 수행하며, 자바가 운영체제에 구애받지 않고 프로그램을 실행할 수 있도록 도와줌 가비지 컬렉터를 사용한 메모리 관리도 자동으로 수행하며, 다른 하드웨어와 다르게 레지스터 기반이 아닌 스택 기반으로 동작 자바 프로그램의 실행 단계 자바 컴파일러에 의해 자바 소스 파일은 바이트 코드로 변환됨 바이트 코드를 JVM에서 읽어 들인 다음에, 복잡한 과정을 거쳐 어떤 운영체제 간에 프로그램을 실행할 수 있도록 만드는 것 ⇒ 만약, 자바 소스 파일은 리눅스에서 만들었고 윈도우에서 이 파일을 실행하고 싶다면, 윈도우용 JVM을 설치만 하면 됨 JVM 메모리 구조 자바 프로그램의 실행 단계 Garb..
Stream(스트림) 다양한 데이터 소스(컬렉션, 배열 등)를 표준화된 방법으로 다루기 위한 것 데이터 소스를 스트림으로 변환 후 여러 번의 중간 연산과 마지막의 최종 연산을 통해 다를 수 있음 배열, 컬렉션을 대상으로 연산 수행 한 번 생성하고 사용한 스트림 재사용 불가 중간 연산은 여러 개의 연산 적용 가능, 최종 연산은 마지막에 한 번 적용 최종 연산이 호출되어야 중간 연산에 대한 수행이 이루어지고 그 결과가 만들어짐 따라서 중간 연산에 대한 결과를 연산 중에 알 수 없음 → 이를 ‘지연 연산’이라 함 스트림 만들기 중간연산(반복 적용 가능, 연산 결과가 스트림) 최종연산(스트림의 요소를 소모) → 결과 리턴 list.stream() // 스트림 만들기 .distinct() // 중간연산 .limi..
람다함수란? 익명 함수를 지칭하는 용어 함수를 단순하게 표현하는 방법 람다의 장단점 장점 코드의 간결성 지연연산 수행 병렬처리 가능 단점 람다식의 호출이 까다로움 람다 스트림 사용 시 반복문 사용 시 성능이 떨어짐 가독성이 떨어질 수 있음 람다식 표현 1. 메서드의 이름과 반환 타입을 제거하고 ‘→’ 를 블록 {} 앞에 추가 2. 반환값이 있는 경우 식이나 값만 적고 return문 생략 가능( ; 생략) 3. 매개변수의 타입이 추론이 가능하면 생략 가능 주의사항 매개변수가 하나인 경우 괄호() 생략 가능(타입이 없는 경우) 블록 안의 문장이 하나뿐일 때 괄호{} 생략 가능(끝에 ; 생략) 하나뿐인 문장이 return문이면 괄호{} 생략 불가 return문과 중괄호를 같이 생략 가능 @Functionall..