JDBC 를 이용하는 자바 코드 1. 원하는 드라이버 로드 하기 2. 드라이버 매니저를 통해 연결 객체 얻고 ( Connection 객체 생성 ) 3. 실행 도구 생성 ( Statement 객체 생성 ) 그녀석 Connection 을 통해 생성 쿼리생성 4. 결과 실행한다음 쿼리를 실행한다음 그것을 패치해올수있다. ( ResultSet 생성 ) New를 쓰지않는다. 레코드집합 즉 결과집합이 나오는데 사용자에게 다 돌려주는게 아니라 서버에 있고 클라이언트는 받을때는 레코드 단위로 받게 된다. 레코드를 하나씩 받게 된다. 서버는 사용자에게 가리켜주는 커서를 포인터 라고 한다. 서버측에서 실행결과 를 주면 ResultSet(담는그릇) 으로 준비가 된다. 결과집합을 이용할 수 있는 상태가 되서 빈그릇이 만들어 ..
분류 전체보기
자바개발자 - > 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 키워드 를 가진 객체를 공유하면 문제..