본문 바로가기
728x90

java14

Junit5 소개 Junit5은 유닛테스트를 해야 하는 자바 개발자가 가장 많이 사용하고 있는 test framework이다. Junit5는 여러 단계로 모듈화가 되어있다. Junit Platform: 테스트를 실행해주는 런처를 제공한다. TestEngine API 제공 Jupiter: TestEngine API 구현체이며 JUnit 5를 제공한다 Vintage: JUnit4, JUnit3을 지원하는 TestEngine구현체이다. @BeforeAll: 모든 테스트가 실행하기 전에 한번 실행된다. @BeforeAll을 사용하는 메서드는 반드시 static이여야 한다. 또 한 반환값이 없어야 한다. @AfterAll: 모든 테스트가 실행된 후 한번 실행된다. @BeforeAll과 같이 메서드는 반환값이 없어야 하며 stati.. 2021. 11. 28.
Concurrent programming Concurrent software는 동시에 여러 작업을 할 수 있는 소프트웨어이다. 자바에서는 다음과 같은 concurrent programming을 지원한다 1. multi processing 2. multi thread 자바는 멀티쓰레딩을 설정하지 않는 한 기본적으로 main thread에서 동작한다. 자바에서 multi thread를 사용할려면 다음과 같은 방식을 사용하면 된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 public class App { //클래스를 만들어서 사용하는 public static void main(String[] args) { MyThread myThread = new MyThread(); myThread.start(); S.. 2021. 11. 22.
Date/Time java8에서 새로 나온 날짜와 시간을 나타내는 api이다. 기존에 사용했던 Date, Calendar, SimpleDateFormat은 여러 불편함이 존재한다. 예를 들어 이름이 명확하지 않다. Date의 경우 날짜 뿐만 아니라 time stamp도 나타낼 수 있다. 또 한 Date.getTIme()은 일상적으로 사용하는 시간이 아닌 1970년 1월 1일 0시 0분 0초를 기준으로 현재시간을 뺀 값을 밀리세컨드 단위로 보여준다. 또 한 객체가 mutable하기 때문에 Date.setTime()을 통해 시간을 바꿀 수 있다. 따라서 thread-safe하지 않다. GregorianCalendar의 경우 type-safe하지 않다는 문제가 발생한다. GregorianCalendar는 연도, 월, 날짜를 인.. 2021. 11. 22.
optional optional은 java 8에서 새로 추가된 인터페이스이다. optional은 비어있거나 하나의 값을 담을 수 있는 컨테이너 인스턴스 타입이다. 아래와 같은 코드가 있다고 가정해 보자 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 package me.skullkim.optional; /** * 온라인 수업에 대한 정보 * stream api 실습을 위한 클래스 * * @author yunki kim .. 2021. 11. 22.
728x90