JAVA Programming

자바개발자 - > DB를 가져다가 쓰기 위해 JDBC 기능을 사용하기 위한 DB API 가 필요하다. 오라클 에서 만든 API 와 MS SQL이 만든 함수가 다르다 같을수가없다 그러면 쿼리를 만들어서 연결하기 위한 API 자체가 차이가 있기 때문에 API를 받아와서 그냥 바꾸게 되면 다 고쳐야된다. DBMS가 머냐에 따라 데이터베이스 연결해서 차이가 다르다 내가 어떤 DBMS를 쓰느냐에 따라 데이터를 연결하기 위한 차이가 발생 특정 DBMS의 기능을 알고있어야 한다. 그래서 등장한게 JDBC 오라클을 접속하기 위한 도구들을 어플리케이션을 만드는사람들이 직접쓰지 않게 하기 위해 JDBC 사용하면서 단일화시키는 도구라고 한다. 역할은 DBMS마다 간접적으로 쓰게되면서 같은함수를 가지고 제어하게된다 JDBC ..
데드락 2개의 쓰레드가 서로 기다리는 상태 이것을 방지하기 위해서 synchronized 메소드에서 다른 synchronized메소드를 부르면 안된다. Wait() / notify() - wait(멈춰!) Wait() : 리소스가 더 이상 유효하지 않은 경우 리소스가 사용 가능할 때 까지 위해 Thread를 non-runnable 상태로 전환한다. Wait() 상태가 된 thread 는 notify() 호출할때 까지 기다린다. Notify() : wait() 하고 있는 thread 중 아무거나 한 thread를 runnable 한 상태로 깨운다. - 불공평 notifyAll() : wait() 하고 있는 모든 thread 가 runnable 한 상태가 되도록 한다. Notify()보다 notifyAll(..
데드락 2개의 쓰레드가 서로 기다리는 상태 이것을 방지하기 위해서 synchronized 메소드에서 다른 synchronized메소드를 부르면 안된다. Wait() / notify() - wait(멈춰!) Wait() : 리소스가 더 이상 유효하지 않은 경우 리소스가 사용 가능할 때 까지 위해 Thread를 non-runnable 상태로 전환한다. Wait() 상태가 된 thread 는 notify() 호출할때 까지 기다린다. Notify() : wait() 하고 있는 thread 중 아무거나 한 thread를 runnable 한 상태로 깨운다. - 불공평 notifyAll() : wait() 하고 있는 모든 thread 가 runnable 한 상태가 되도록 한다. Notify()보다 notifyAll(..
Multi Thread 구현하기 임계영역(critical section) 이란 ? 두개 이상의 thread가 동시에 접근하게 되는 리소스이다. Critical section 에 도싱에 thread가 접근하게 되면 실행 결과를 보장할수없다. thread간의 순서를 맞추는 동기화 (synchronization)이 필요하다. 동기화(synchronization) 임계영역에 여러 thread 가 접근하는 경우 한 thread가 수행하는 동안 공유자원을 lock 하려 다른 thread의 접근을 막는다. 동기화를 잘못 구현하면 deadlock에 빠질수 있다. 자바에서 공유자원이 되는건 static 키워드를 가진 객체인데 멤버 변수들은 static 은 공유를 하게된다 static 키워드 를 가진 객체를 공유하면 문제..
Interrupt() 메소드 (다시 runnable 상태가 된다.) 다른 thread에 예외를 발생시키는 interrupt 를 보낸다. Thread가 join() , sleep() , wait() 메소드에 의해 블록킹 되었다면 Interrupt에 의해 다시 runnable 상태가 될수 있다. Thread 종료하기 데몬등 무한 반복하는 thread가 종료될수 있도록 run() 메소드 내의 while문을 활용 Thread.stop()은 사용하지 않는다. 쓰레드가 run해서 찍는걸 했지만 서비스를 돌면 무한반복으로 돈다 계속 돌게 되는데 while문안에 flag를 써서 true냐 false냐로 package thread; public class InterruptTest extends Thread { publi..
Thread의 여러가지 메소드 활용 Runnable 한 상태가 되야지 CPU를 점유할수있다. 스케쥴러가 CPU를 배분해주게된다. 스레드가 돌다가 Dead 끝이나면 Sleep(시간) , wait() , 1000을 넣으면 천분의 1초로 Runnable 상태로 빠진다. NotRunnable 상태가 되야 CPU를 점유할수없다. Wait 은 동기화할 때 얘기할 것 스레들리소스를 기다릴떄 쓰인다. Join 두개의 스레드가 동시에 돌아가면 한스레드가 다른 스레드에게 join 을 걸면 다른스레드가 끝날떄까지 join건 스레드가 Not Runnable 상태로 빠진다. 다시 돌아오게 하려면 Sleep(시간) -> 시간이 지나면 돌아온다. wait() 에서 notify() 를 걸면 돌아오게 된다. Join() 에서 othe..
꾸준히개발하자
'JAVA Programming' 카테고리의 글 목록 (8 Page)