1. SEQUENCE
- 연속적인 숫자를 생성해내는 객체
- 기본키가 각각의 입력되는 row를 식별할 수 있기만 하면 된다고 할 때
- 테이블의 기본키 값을 생성하기 위해 사용되는 독립적인 객체
- 테이블에 종속되지 않는다
- 하나의 시퀀스를 여러개의 테이블에 동시에 사용 가능
Continue reading
1. PL/SQL이란
- Procedual Language extension to Structured Query Language
- SQL과 일반 프로그래밍 언어의 특성을 결합
- 변수 상수 선언 가능
- 조건문 반복문 사용 가능
- DBMS의 역할이 커지면서 SQL을 넘어서는 일반 프로그래밍 언어의 기능이 필요하게 되었다
Continue reading
Continue reading
1. 쓰레드란
- 할당된 메모리공간을 기반으로 실행중에 있는 프로그램
- 프로그램을 실행하면 os로부터 메모리를 할당받아 프로세스가 된다
- 프로그램을 수행하는데 필요한 데이터와 메모리등의 자원과 쓰레드로 구성
- 쓰레드
- 프로세스 내에서 실제로 작업을 수행
- 별도의 실행흐름
- 모든 프로세스에는 최소 하나 이상의 쓰레드가 존재
- 둘 이상의 쓰레드를 가진 프로세스 : 멀티쓰레드 프로세스
- 멀티 태스킹
- 여러 개의 프로세스가 동시에 실행되는 것처럼 보이는 것
- 멀티 쓰레딩
- 하나의 프로세스 내에서 여러 쓰레드가 동시에 작업 수행
- 싱글 쓰레드
- 실행 흐름이 하나밖에 없으므로 한번에 하나의 작업밖에 하지 못한다
- 멀티 쓰레드
- 하나의 응용프로그램에 두개 이상의 쓰레드가 동시에 실행될 수 있다
- 두개의 작업을 병렬적으로 처리
- 계산작업, 스풀링 등
- 장점
- CPU 사용률 향상
- 자원사용 효율성
- 사용자에 대한 응답성 향상
- 작업이 분리되어 코드가 간결
- 단점
- 여러 쓰레드가 같은 프로세스 내에서 자원 공유
- 동기화, 교착상태 문제 고려
- (두 쓰레드가 같은 자원을 사용하려 기다리느라 진행이 멈춘 상태)
Continue reading
1. 추상메서드 (abstract method)
- 메서드의 구현부가 없는 것
- 오버라이딩 관계를 형성하기 위해 정의된 메서드
public abstract int func(int a);
- 상속 계층의 부모클래스에서 자식 클래스를 위해 메서드 시그니처만 정의
- 자식클래스에서 오버라이딩 해야만 호출가능
- 부모클래스에서는 선언부만 작성
- 자식클레스에서 기능 구현
Continue reading
- 데이터들을 계층형으로 만들기 위해
- 하나의 글에 대한 답변과 연관된 다른 답변들을 하나의 그룹으로 묶는다
- 게시판 테이블에 3개의 컬럼 추가
- 하나의 글에 연관된 모든 글들을 하나의 그룹으로 묶어주는 컬럼 : groupNo
- 글이 몇 번째 단계의 답변인지를 나타내는 컬럼 : step
- 글의 정렬 순서를 지정해주는 컬럼 : sortNo
Continue reading
- 직렬화 (serialization)
- 객체를 네트워크를 통해 전송하거나, 파일로 저장하고자 할 때 직렬화
- 객체에 저장된 데이터를 스트림에 쓰기 위해 연속적인 데이터로 변환
- 객체의 인스턴스변수들의 값을 일렬로 나열
- 역직렬화 (deserialization)
- 반대로 스트림으로부터 데이터를 읽어서 객체를 만드는 것
Continue reading
1. 다형성
a. 다형성이란
- 부모 클래스 타입의 참조변수로 자식클래스의 인스턴스를 참조
Parent p = new Child();
- 부모의 참조변수로는 부모의 멤버들만 사용
- 오버라이딩 메서드의 경우 자식 메서드 호출
- 반대의 경우는 불가
- 한 타입의 참조변수로 여러 타입의 객체를 참조
- 부모 타입이 파생된 모든 자식타입을 가리킬 수 있다.
- 여러 개의 개별 클래스를 하나의 부모클래스로 통합관리
- 부모 타입의 변수로 자식 타입을 일관되게 관리할 수 있다.
Continue reading
1. ddl
- 오라클
- 데이터를 저장하고 관리해주는 프로그램
- 관리를 위해 다양한 저장객체 (오브젝트)를 생성
- ddl
- create
- 새로운 오브젝트나 스키마를 생성
- 데이터 베이스 객체들을 생성
create 객체종류 객체명..
Continue reading
1. 커넥션 풀 개요
- 데이터베이스에 연결하기 위한 커넥션 객체는 새로 만들어질 때 많은 시스템 자원이 요구
- 메모리에 객체를 할당할 자리를 만드는 작업
- 객체가 사용할 자원들을 초기화하는 작업
- 객체가 필요없어지면 거두어들이는 작업
- 매번 새로운 데이터베이스 연결 요청이 들어올때마다 해당 작업을 수행해야된다면 많은 부담
- 커넥션 객체 생성 관리 방법
- service method (doGet, doPost)에서 커넥션 객체 생성
- 데이터베이스와 연동하기 위해 사용한 방법
- 커넥션 객체의 레퍼런스 변수가 지역변수에 할당
- 요청당 한개씩 커넥션 객체 생성, 시스템 부하
- 메모리 낭비
- 커넥션 시간이 요청시간에 포함
- init method에서 커넥션 객체 생성
- 커넥션 객체의 레퍼런스 변수는 전역변수에 할당
- 커넥션 시간이 걸리지 않는다
- 하나의 커넥션을 쓰기때문에 쿼리가 쌓이게 되어 응답시간 증가
- 커넥션 풀에서 객체 생성
- 자원을 빌려쓰고 회수하는 방법 사용
- 미리 여분의 커넥션을 만들어놓는다
- 사용자의 요청이 있을 때 미리 만들어져있는 커넥션 부여
- 사용된 커넥션 객체는 다시 풀로 회수
- 커넥션 생성 개수 결정 가능
Continue reading
- 파일 클래스를 통해 파일과 디렉토리를 다룰 수 있다
Continue reading
1. 상속 (extends)
- 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것
- 이미 만들어진 클래스의 멤버들을 물려받아 새로운 클래스를 정의한다
- 공통되는 부분을 base클래스로 추상화, 이를 상속하면서 Derived 클래스를 정의한다.
- 하위클래스가 상위클래스를 상속받으면 하위는 상위의 모든 것을 이용할 수 있다.
Continue reading
1. 기본
- sql developer에서 insert문을 통해 테이블에 값 입력
- 메모리 상에만 입력
- cmd창에서 해당 테이블 로드 시,insert문을 통해 입력한 데이터 들어가있지 않다
- 입력한 데이터가 전달되지 않을 경우 전부 취소(rollback)
- 은행의 송금과 같은 개념
- a계좌 출금 후 b계좌에 입금 확인 시 거래 성사 (commit)
- a계좌 출금 후 b계좌에 입금되지 않았을시 취소 (rollback)
- 네트워크 장애 등의 이유
- 모두 처리 (commit) 혹은 모두 취소 (rollback)
- 반드시 트랜잭션 처리해야한다
- savepoint를 설정하여, 트랜잭션 관리 가능
Continue reading
1. db
테이블스페이스, 사용자
```sql –테이블 스페이스 생성 create tablespace herbmall datafile ‘c:\oracle\data\herbmall.dbf’ size 48m extent management local uniform size 64k segment space management auto;
Continue reading
1. 자바에서의 입출력
- I/O (input, output)
- 컴퓨터 내부 또는 외부의 장치와 프로그램 간의 데이터를 주고받는 것
- System.our.println 등
- Stream
- 입출력, 즉 어느 한쪽에서 다른쪽으로 데이터를 전달
- 두 대상을 연결하고 데이터를 전송할 수 있는 통로 = 스트림
- 단방향 통신만 가능
- 하나의 스트림으로 입력과 출력을 동시에 할 수 없다
데이터 소스 - 입력스트림 - 자바프로그램 - 출력스트림 - 데이터목적지
Continue reading
1. static
a. 메모리영역
- 메서드 영역 : 메서드의 바이트코드, static 변수
- stack 영역 : 값 타입, 지역변수, 매개변수 등
- heap영역 : 참조타입, 인스턴드 등 / 메서드는 공유하지만 객체는 영역을 따로 할당
Continue reading
1. Insert
- 테이블에 새로운 데이터를 입력할 때 사용하는 명령어
- 데이터를 입력할 때 숫자 값 이외에는 데이터를 따옴표로 감싸야한다
Continue reading
1. 서블릿의 동작 원리
- 서블릿
- 자바의 클래스 중 오직 서버에서만 해석되어 실행되는 클래스
- 서블릿 규약에 따라 만든 클래스
- 최초 브라우저 접속에 의해 인스턴스가 메모리에 올라간다
- 서블릿 생성
- 서블릿 API 이용
- 패키지 이용
- javax.servlet
- 프로토콜에 독립적인 서블릿을 만들기 위한 클래스
- javax.servlet.http
- http 프로토콜의 고유 기능 (get, post 등) 을 제공하는 서블릿을 만들기 위한 클래스
- 서블릿 구현
- GenericSevlet 이나 HTTPServlet 중 하나를 상속받아 구현
- main()메서드가 없다
- 서블릿의 특정 메서드는 웹 컨테이너(서버)가 호출한다
- 서버가 서블릿에 요청을 전달할 때마다 서블릿의 service() 메서드 호출
- GenericServlet
- 요청을 처리하기 위해 자신의 service() 메서드를 오버라이드해야한다
- service()메서드
- 두 개의 매개변수(request, response)
- HttpServlet
- doGet(), doPost() 메서드를 오버라이드한다
Continue reading
1. Swing
- JFC(Java Foundation Class Library) 라고 명시한다
- Awt처럼 프레임을 생성하고 이벤트를 지정한다
- Awt보다 컴포넌트의 기능이 많다
- Awt
- 시스템 os의 자원을 그대로 이용
- 단일 Panel로 구성
- Swing
- 컴포넌트를 자바로 구현
- 다중 패널로 구성
- 컴포넌트가 적재되는 패널이 계층별로 여러 개 존재한다
Continue reading
1. 객체 지향 프로그래밍
- 객체 (object)
- 물건, 대상 등을 의미
- 상태정보(속성, 데이터) / 변수
- 행동(기능) / 메서드
- 객체 지향 프로그래밍
- 현실에 존재하는 사물, 대상, 그에 따른 행동 등을 실체화 시키는 형태의 프로그래밍
- 나는 상점에서 물건을 두개 구매했다
- 나, 상점, 물건 / 객체
- 사과 두개 / 상태
- 구매 / 행동
Continue reading