본문 바로가기
반응형

Java & Spring15

java) 예외 처리 1. 예외란 무엇인가 Error와 Exception은 Throwable의 서브클래스입니다. Error는 시스템상의 중대한 오류이며 Exception은 프로그래머가 의도하지 않았던 돌발적인 상황, 즉 예외를 말합니다. Exception은 다시 RuntimeException과 그 밖의 예외로 나눌 수 있습니다. RuntimeException은 실행시 발생하는 예외로, 컴파일러가 확인하지 않는 unchecked exception 입니다. RuntimeException이 아닌 예외들은 모두 checked exception 입니다. 컴파일러가 처리 여부를 확인하므로 코드에서 반드시 처리되어야 합니다. java에서는 예외도 객체로 취급하므로 예외를 만들고 주고받으면서 노는 것이 가능합니다. 2. 예외를 처리하는 방.. 2021. 12. 13.
java) 스레드 Thread 와 동기화 스레드란 https://co1nam.tistory.com/38 1. 스레드를 생성하는 두 가지 방법 첫 번째 방법은 Thread를 상속받는 것입니다. class Manager extends Thread { SharedResources sr; public Manager(SharedResources r) { this.sr = r; } public void run() { try { Thread.sleep(1000); } catch (InterruptedException e) { System.out.println("manager wake up!!!"); } } } 두 번째는 Runnable interface를 구현하면 됩니다. class Client implements Runnable { SharedResour.. 2021. 12. 9.
Java 입출력을 위한 BufferedReader / BufferedWriter 사용자로부터 입력을 받을 수 있는 간편한 방법으로 Scanner 클래스가 있지만 버퍼 용량이 작기 때문에 대량의 데이터를 처리할 때는 속도가 저하되는 문제점이 있습니다. 반면, BufferedReader/Writer 의 경우 버퍼 용량이 커서 대량의 데이터를 입출력할 때 용이하지만 조금 사용하기 까다로운 점이 있습니다. 입력받기 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.IOException; public static void main(String[] args) throws IOExcept.. 2021. 11. 14.
Java 큰 수의 표현 BigInteger 와 BigDecimal 정수 int나 long과 같은 데이터타입의 범위(대략 9,223,372,036,854,775,807) 를 넘는 숫자는 각 숫자를 BigInteger class의 객체로 나타낼 수 있습니다. import java.Math.BigInteger; BigInteger b1 = new BigInteger("12345678901234567890"); BigInteger b2 = new BigInteger("1"); System.out.println(b1.compareTo(b2)); // b1>b2면 1, 같으면 0, b1 2021. 11. 1.
Java NumberFormatException 에 대처하는 우리들의 자세 NumberFormatException(이하, NFE)은 숫자가 아닌 것을 숫자로 바꾸려고 하는 경우를 말합니다. 주로 문자열을 Integer.parseInt()를 이용해 int형으로 바꿀 때 발생합니다. 사례 1. Data type 의 범위를 넘어서는 경우 int 타입은 –2,147,483,648 ~ 2,147,483,647 까지의 숫자를 표현할 수 있습니다. 만약 String s = "12,147,483,648"를 int로 바꾸려고 한다면 int형의 범위를 넘어서게 되므로 NFE가 발생합니다. 해결방법 long 을 씁니다. long의 범위는 –9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 입니다. 만약 long보다 긴 경우는? BigInteger 클래.. 2021. 10. 27.
Java 에서 swap 하는 방법 함수는 입력받은 값을 가공하여 반환해줍니다. (반환을 하지 않을 수도 있음 ft. void) 함수가 내부에서 사용하는 변수는 지역변수 local variable 이기 때문에 그 값을 변경하더라도 함수가 종료되면서 함께 소멸됩니다. 함수호출시 값을 함수에게 전달하는 방법은 두 가지가 있습니다. Call by value는 값 자체 또는 변수에 담긴 값을 복사하여 매개변수로 전달합니다. Call by reference는 값이 저장된 메모리 공간의 주소를 전달하여, 함수가 그 공간을 참조할 수 있게 해 줍니다. Java에는 포인터가 없고, 기본적으로 call by value 이기 때문에 c언어에서는 간단히 만들 수 있는 swap을 구현하려면 짱구를 좀 굴려야 합니다. 1. 배열 이용하기 Integer[] arr.. 2021. 10. 27.
반응형