티스토리 뷰
1. Java
Java는 네트워크 상에서 쓸 수 있도록 미국의 선 마이크로시스템즈가 1995년에 개발한 객체 지향 프로그래밍 언어, 2010년 썬이 오라클에 인수됨
Java의 특징
a. 자바가상머신(JVM)만 설치하면 컴퓨터의 운영체제에 상관없이 작동한다.(운영체제에 독립적)
b. 기본 자료형을 제외한 모든 요소들이 객체로 표현
c. 객체 지향 개념의 특징인 캡슐화, 상속, 다형성이 잘 적용된 언어
d. Garbage Collector를 통한 자동적인 메모리 관리
e. 멀티쓰레드(Multi-thread)를 지원
Garbage Collection(가비지 컬렉션)
- 시스템에서 더 이상 사용하지 않는 동적 할당된 메모리 블럭을 찾아 자동으로 다시 사용 가능한 자원으로 회수하는 것입니다.
- 시스템에서 가비지컬렉션을 수행하는 부분을 Garbage Collector(가비지 컬렉터)라고 부릅니다.
2. Object
Object(객체)는 OOP에서 데이터와 그 데이터에 관련되는 동작(함수). 절차, 방법, 기능을 모두 포함한 개념
같은 성질, 구조와 형태를 가지는 객체는 등급으로 정의하고 등급에 속하는 객체는 그 등급의 인스턴스라고 한다.
3. Servlet, JSP
Servlet - Container가 이해할 수 있게 구성된 순수 자바 코드로만 이루어진(Html in Java)
JSP(Java Sever Page) - html 기반에 Java코드를 블록화하여 삽입한 것(Java in Html)
4. JDBC
Java Data Base Connection의 약자로 Java 언어를 통해 데이터 베이스에 접근 할 수 있는 프로그래밍 의미
5. Get과 Post 방식
Get 방식
- 클라이언트에서 서버로 데이터를 전달할 때, 주소 뒤에 "이름"과 "값"이 결합된 스트링 형태로 전달
- 주소창에 쿼리 스트링이 그대로 보여지기 때문에 보안성이 떨어진다.
- 길이에 제한이 있다.(전송 데이터의 한계가 있다.)
- Post 방식보다 상대적으로 전송 속도가 빠르다.
Post 방식
- 일정 크기 이상의 데이터를 보내야 할 때 사용한다.
- 서버로 보내기 전에 인코딩하고, 전송 후 서버에서는 다시 디코딩 작업을 한다.
- 주소창에 전송하는 데이터의 정보가 노출되지 않아 Get방식에 비해 보안성이 높다.
- 속도가 Get 방식보다 느리다.
- 쿼리스트링(문자열) 데이터 뿐만 아니라, 라디오 버튼, 텍스트 버튼 같은 객체들의 값도 전송가능.
Get과 Post 차이점
- Get은 주로 웹 브라우저가 웹 서버에 데이터를 요청할 때 사용
- Post는 웹 브라우저가 웹 서버에 데이터를 전달하기 위해 사용
- Get을 사용하면 웹 브라우저에서 웹 서버로 전달되는 데이터가 인코딩되어 URL에 붙는다.
- Post 방식은 전달되는 데이터가 보이지 않는다.
- Get 방식은 전달되는 데이터가 255개의 문자를 초과하면 문제가 발생할 수 있다.
- 웹 서버에 많은 데이터를 전달하기 위해서는 Post 방식을 사용하는 것이 바람직하다.
6. Session과 Cookie
Session
- 특정 웹사이트에서 사용자가 머무르는 기간 또는 한 명의 사용자의 한번의 방문을 의미한다.
- Session에 관련된 데이터는 Server에 저장된다.
- 웹 브라우저의 캐시에 저장되어 브라우저가 닫히거나 서버에서 삭제시 사라진다.
- Cookie에 비해 보안성이 좋다.
Cookie
- 사용자 정보를 유지할 수 없다는 HTTP의 한계를 극복할 수 있는 방법
- 인터넷 웹 사이트의 방문 기록을 남겨 사용자와 웹 사이트 사이를 매개해 주는 정보이다.
- Cookie는 인터넷 사용자가 특정 웹서버에 접속할 때, 생성되는 개인 아이디와 비밀번호, 방문한 사이트의 정보를 담은 임시 파일로 Server가 아닌 Client에 텍스트 파일로 저장되어 다음에 해당 웹서버를 찾을 경우 웹서버에서는 정보를 파악할때 사용된다.
- Cookie는 Client PC에 저장되는 정보기 때문에, 다른 사용자에 의해서 임으로 변경이 가능하다.
(정보 유출 가능, Session 보다 보안성이 낮은 이유)
보안성이 낮은 Cookie 대신 Session을 사용하지 않는 이유?
- 모든 정보를 Session에 저장하면 Server의 메모리를 과도하게 사용하게 되어 Server에 무리감.
7. Thread
Thread(쓰레드) - 프로세스내에서 동시에 실행되는 독립적인 실행 단위를 말합니다.
장점으로는 자원을 많이 사용하지 않고 구현이 쉬우며 범용성이 높습니다.
Thread 장점
a. 빠른 프로세스 생성
b. 적은 메모리 사용
c. 쉬운 정보 공유
Thread 단점
a. 교착상태에 빠질 수 있다.
* 교착상태 - 다중프로그래밍 체제에서 하나 또는 그 이상의 프로세스가 수행 할 수 없는 어떤 특정시간을 기다리고 있는 상태
Process(프로세스) - 운영체제에서 실행중인 하나의 프로그램(하나이상의 쓰레드를 포함합니다.)
Thread와 Process 차이
과정 또는 처리 라는 뜻으로 사용되는 용어로 컴퓨터 분야에서 '실행중인 프로그램'이라는 뜻으로 쓰인다.
이 Process 내에서 실행되는 각각의 일을 Thread라고 한다.
Process 내에서 실행되는 세부 작업 단위로 여러 개의 Thread가 하나의 Process를 이루게 되는 것입니다.
8. 접근 제한자(public > protected > default > private)
Public - 접근 제한이 없다.(같은 프로젝트 내에서 어디서든 사용 가능)
protected - 같은 패키지 내, 다른 패키기에서 상속받아 자손클래스에서 접근 가능
default - 같은 패키지 내에서만 접근 가능
private - 같은 클래스 내에서만 접근 가능
'면접준비' 카테고리의 다른 글
Back-end 면접 준비(3/3) (0) | 2017.11.26 |
---|---|
Back-end 면접 준비 (1/3) (0) | 2017.11.26 |
Interger.MIN_VALUES (0) | 2017.11.21 |
원시 타입 관련 (0) | 2017.11.21 |