본문 바로가기

Java33

[Java] 백준 1712번: 손익분기점 import java.util.Scanner; public class Main { public static long bep(long A, long B, long C) { long answer = 0; long sell = C-B; if(sell 2019. 8. 21.
[Java] String .split(".")결과가 공백이 나올 때 해결방법 문자열을 split()을 이용하여 자르고 싶을 때 작동이 잘 안되는 경우가 종종 있습니다. 보통 "."을 이용하여 자를 때 많이 일어나는데 이것은 split(); 메서드에 들어가는 "."이 정규식으로 작동하기 때문입니다. 그냥 "."을 이용하여 잘랐을 때의 결과 입니다. public class Test { public static void main(String[] args) { String str = "Hello.Wolrd.Eric!"; System.out.println("자를 문자열 => " + str); System.out.println("문자열을 \".\"를 이용하여 잘라 배열로 만듭니다."); String[] arrStr = str.split("."); System.out.println(); Sy.. 2019. 8. 21.
[java] 스레드(Thread)[4] - 스레드의 상태(state) 제어 스레드는 생성부터 종료까지 여러 상태 값들을 가집니다. 스레드는 크게 4가지의 상태를 가집니다. 스레드의 상태 1. ready state : start() 메서드 호출부터 스케줄러가 run() 메서드를 시작하기까지의 상태입니다. 2. run state : 스레드가 ready state이고, 스케줄러가 run() 메서드를 실행시키면 해당 스레드는 run state 상태가 됩니다. 3. non-runnable state : run state상태인 스레드가 동작을 일시 정지한 상태입니다. non-runnable state에는 3가지의 상태(wating, sleeping, blocked)가 있습니다 3-1 : wating state : synchronized 메서드나 synchronized 블록에 의해 스레드가.. 2019. 7. 27.
[java] 스레드(Thread)[3] - 스레드 우선순위를 설정하는 방법 스레드를 여러개 제작하여 실행하면 여러 메서드를 병행적으로 실행할 수 있어서 프로세스의 성능을 높일 수 있지만, 스케줄러의 프로세스 실행 상황에 따라 예측 하기가 어렵습니다. 스레드가 먼저 시작했다고 우선순위를 가지는 것도 아니고, 먼저 시작한 스레드가 더 늦게 끝날 수도 있습니다. 또한 자원 상황에 따라 스레드가 실행되지 못하고 대기 상태로 남아있을 수도 있습니다. 그렇기 때문에 스레드의 중요도에 따라 우선순위를 정하는 것이 필요합니다. 하지만 이 스레드의 우선순위는 다중 cpu 환경, 또는 멀티코어 환경에서는 무의미합니다. 우선순위를 정하고 싶다면 join() 메서드를 사용하는 것을 권장드립니다 이 예제의 실행환경은 멀티코어 스레드이기 때문에, 실행 결과보다는 설정 방법을 확인하는 용도로 참고만 해주.. 2019. 7. 27.
[java] 스레드(Thread)[2] - Runnable을 이용하여 구현하는 방법 스레드를 만드는 방법 중 black-box 방법으로 알려진 Runnable 인터페이스를 구현하는 방법에 대해 알아보겠습니다. 스레드를 만드는 방법은 white-box방법과 black-box방법이 있습니다. white-box방법은 java.lang.Thread 객체를 extend하여 만드는 것이고, black-box 방법은 java.lang.Runnable 인터페이스를 implements 하여 만드는 것입니다. white-box방식으로 제작한 스레드는 컴파일 타임 시점에 형식이 결정되어 동적인 기능 변경이 불가능하다는 단점이 있습니다. 반면 스레드를 Runnable객체로 만들게 되면 스레드를 상속받아 만드는 white-box방식에 비해 어플리케이션의 유연성과 확장성을 보장받을 수 있게 됩니다. Runnab.. 2019. 7. 27.
[java] 스레드(Thread)[1] - run()과 start()의 차이 Thread란? 독립적으로 수행 가능한 메인 프로세스 또는 메인 프로세스 외의 기타 프로세스의 기저 입니다. 하나의 프로세스 내에서 실행하는 병행 메서드의 단위로, 어플리케이션의 스레드가 모두 종료되면 해당 어플리케이션이 종료됩니다. java 프로그램을 시작할 때 사용하는 main 메서드 또한 스레드입니다. Thread 생성 방법 Thread는 white-box방식과 black-box 방식으로 생성할 수 있습니다. white-box 방식 - java.lang.Thread 클래스를 상속받아서 생성하는 방식입니다. white-box thread example(run()) package example; public class ThreadTest extends Thread{ String name; public .. 2019. 7. 27.