- TO-DO LIST
- 59-2강 Server-Client 소개와 직렬화/역직렬화 ~ 63-1강 멀티 쓰레딩 프로그래밍
- 배운 내용 요약 정리
Java 직렬화/역직렬화
바이트 단위 스트림과 문자 스트림
자바 직렬화: 자바 시스템 내부에서 사용되는 객체 또는 데이터를 외부의 자바 시스템에서도 사용할 수 있도록 바이트(byte) 형태로 데이터 변환하는 기술 및 변환된 데이터를 다시 객체로 변환하는 기술(역직렬화)
JVM의 Runtime Data Area(Heap 또는 스택 영역)에 상주하고 있는 객체 데이터를 바이트 형태로 변환하는 기술과
직렬화된 바이트 형태의 데이터를 객체로 변환해서 JVM으로 상주시키는 형태
SerialVersionUID 고유 번호 관리
transient로 직렬화 대상 제외 (보안상의 문제나 기타 이유로 멤버 변수의 일부를 제외하고 싶은 경우)
메소드 레퍼런스
Class::MethodName로 함수 호출하는 문법
메소드를 참조, 해당 메소드의 동작을 다른 코드에서 재사용할 수 있는 기능
메소드 참조하는 방법
- 스태틱 메소드 참조(Class::staticMethod)
Consumer<String> exe = Printer::printSomething;
Comsumer<String> exe2 = test -> Printer.printSomething(text);
exe.accpet("do something");
exe2.accpet("do something");
- 생성자 참조(Class:new)
- 객체 인스턴스 메소드 참조(instatnce::method)
- 임의 인스턴스 메소드 참조(Class::method)
// StringUtils의 isLongName static 메소드를 이용하여 긴 이름의 손님들 이름을 출력
customers.stream()
.map(customer -> customer.name)
.filter(StringUtils::isLongName)
.forEach(System.out::println);
// 손님들 이름을 가지고, 새로운 Customer List를 만들어라
List<Customer> customerList = customerNames.stream()
.map(Customer::new)
.collect(Collectors.toList());
Thread란
프로세스 내 동시에 진행되는 작업 갈래
Thread thread1 = new Thread(new MyRunnable());
thread1.start();
Java Multi Thread 프로그래밍
두 개의 쓰레드로 두 개의 작업을 수행하는 경우
- 부족한 점
- 스스로 시도해본 것들
- 해결 내용
- 알게된 점
- 헷갈리거나 실수한 점
- 회고
'SuperCoding' 카테고리의 다른 글
2024.02.02(금) 슈퍼코딩 부트캠프 백엔드 인턴 Week4 Day5 보고 (0) | 2024.03.06 |
---|---|
2024.02.01(목) 슈퍼코딩 부트캠프 백엔드 인턴 Week4 Day4 보고 (1) | 2024.03.06 |
2023.11.01(수) 슈퍼코딩 부트캠프 백엔드 인턴 Week4 Day3 보고 (0) | 2024.03.06 |
2023.10.31(화) 슈퍼코딩 부트캠프 백엔드 인턴 Week4 Day2 보고 (0) | 2024.03.06 |
2023.10.30(월) 슈퍼코딩 부트캠프 백엔드 인턴 Week4 Day1 보고 (0) | 2024.03.06 |