Java(8)
-
[Java] 쓰레드(Thread) 란? 특징과 사용법
프로세스와 쓰레드 - 프로세스 : 실행 중인 프로그램으로 자원(CPU와 Memory 같은 Resource)과 쓰레드로 구성된다. - 쓰레드 : 프로세스 내에서 실제 작업을 수행 : 모든 프로세스는 최소한 하나의 쓰레드를 가지고 있다. : 싱글 쓰레드 프로세스와 멀티 쓰레드 프로세스로 구분된다. ※ 1개의 new 프로세스를 생성하는 것보다 1개의 new 쓰레드를 생성하는 것이 더 적은 비용이 든다. ※ 과거 CGI 같은 경우 멀티 쓰레드를 지원하지 않아, 요청이 올 때마다 새로운 프로세스가 생성되었는데 이는 Web 수요가 늘어나는 시기에 멀티 쓰레드가 지원되는 Java에 밀려 사라지는 이유 중 하나가 되었다. 멀티쓰레드의 장점 및 단점 - 장점 : 시스템 자원을 보다 효율적으로 사용 가능 : 사용자에 대한..
2021.05.04 -
[Java] 예외처리(Exception) 란? - 특징과 사용법
오류의 종류 - 에러 (Error) : 에러 발생 시, 프로그램이 비정상 종료 된다. : 정상 실행 상태로 돌아갈 수 없다. - 예외 (Exception) : 사용자의 잘못된 조작 또는 개발자의 잘못된 프로그래밍으로 인한 오류 : 예외 발생 시, 프로그램이 종료되지만 예외처리를 해줄 경우 정상 실행 상태로 되돌릴 수 있다. => 예외처리의 목적은 프로그램을 정상 실행 상태로 돌리기 위함 Exception 의 종류 - 일반 예외 (= Complie Exception 또는 Checked Exception) : 컴파일 시점에 예외가 발생함 - 실행 예외 (=RuntimeException 또는 UnChecked Exception) : 실행 시점에 예외가 발생함 [RuntimeException] 자주 발생하는 E..
2021.04.25 -
[Java] Java8 에 새롭게 추가된 기능을 알아보자
Java 8 새롭게 추가된 기능을 알아보자. - SAM interface - Lambda - Stream - DateTime - Optional - Default Method 함수형 인터페이스 - Abstract Method를 오직 1개만 가진 interface - SAM(Single Abstract Method) interface - 인터페이스에 @FunctionalInterface을 사용한다. (자바가 제공하는 어노테이션이라 import 필요 없음) - 즉 @FunctionalInterface 어노테이션이 붙어 있으면 함수형 인터페이스라고 생각하면 된다. 그러면 왜 SAM 으로 인터페이스를 만드는 걸까? 람다로 바꾸어 사용하기 위해서이다. 추상 메서드가 오직 1개만 존재하여야 람다로 사용할 수 있기 ..
2021.04.12 -
[백준 2667] 단지번호붙이기 (Java) DFS / BFS
문제 코드 1. DFS 로 풀기 2. BFS 로 풀기
2021.03.29 -
[백준 3986] 좋은 단어 (Java)
문제 문제 설명 문제에서 말하는 좋은 단어의 기준 알아보자. 아래 그림처럼 알파벳 쌍끼리의 선이 교차하지 않을때 좋은 단어라 하고 1번 처럼 교차하였을 경우 좋은단어라 하지 않는다. 풀이 접근 스택을 이용하자 1. 스택 선언 2. 스택의 Top 문자와 탐색 문자가 같다면 = POP 스택의 Top 문자와 탐색 문자가 같지 않다면 = PUSH 2-1. 스택의 Top 이 빈경우라면 = PUSH 코드
2021.03.22 -
[백준 1158] 요세푸스 문제 (Java)
문제 코드
2021.03.19