DB Connection
DB를 사용하기 위해 DB와 애플리케이션 간 통신을 할 수 있는 수단

JDBC
Jaba Database Connectivity의 약어로 자바 언어로 다양한 종류의 관계형 데이터베이스에 접속하고 SQL문을 수행하여 처리하고자 할 때 사용되는 표준 SQl 인터페이스 API

자바 웹 어플리케이션->JDBC API -> JDBC 드라이버 -> 데이터베이스

자바 애플리케이션에서 데이터베이스에 접근하기 위해서는 JDBC API를 이용해서 데이터베이스에 접근하고, JDBC API는 JDBC 드라이버를 거쳐 데이터베이스와 통신을 한다.

자바 커넥션풀?
사용자의 요청에 따라 무수한 Connection을 생성하다보면 서버에 과부하가 걸리게 된다. 이러한 상황을 방지하기 위해 미리 설정해놓은 일정수의 Connection을 만들어 놓고 이것을 Connection Pool에 보관해두었다가 요청이 발생하면 제공을 해주고 Connection의 사용이 끝난다면 다시 Connection Pool에 반환하여 보관하는 기술을 DB Connection Pool이라고 한다. 이러한 DB Connection Pool을 사용한다면 다음과 같은 장점이 있다.

DB접속 설정 객체를 미리 만들어 연결하여 메모리 상에 등록해 놓기 때문에 클라이언트가 빠르게 DB에 접속 가능
DB Connection 수를 제한 할 수 있어서 과도한 접속으로 인한 서버 자원 고갈 방지 가능
DB 접속 모듈을 공통화해 DB서버의 환경이 바뀔 경우 쉬운 유지보수 가능
연결이 끝난 Connection을 재사용함으로써 새로 객체를 만드는 비용을 줄일 수 있음

===================
쓰레드: 프로세스 내 실행단위
-스레드는 프로세스 내에서 각각 Stack만 따로 할당받고 Code, Data, Heap 영역은 공유

자바 스레드(Java Thread) 란
일반 스레드와 거의 차이가 없으며, JVM가 운영체제의 역할을 한다.
======================
동기방식은 설계가 매우 간단하고 직관적이지만 결과가 주어질 때까지 아무것도 못하고 대기해야 하는 단점이 있습니다.

비동기 방식은 동기보다 복잡하지만 결과가 주어지는데 시간이 걸리더라도 그 시간 동안 다른 작업을 할 수 있으므로 자원을 효율적으로 사용할 수 있는 장점


빅 데이터의 3대 요소(3V)

기본키(Primary Key)

기본키는 릴레이션을 대표하는 키다. 때문에 기본키를 설정하면 다른 릴레이션의 외래키와 관계를 맺고 상호작용 할 수 있다.

외래키(Foreign Key)

외래키는 다른 릴레이션의 기본키를 참조한 키를 말한다.

후보키(Candidate Key)

후보키는 기본키가 될 수 있는 후보로 릴레이션에서 각 튜플을 유일하게 식별할 수 있는 속성들의 집합이다. 

 

슈퍼키(Super Key)

- 테이블에서 각 행을 유일하게 식별할 수 있는 하나 또는 그 이상의 속성들의 집합

유일성만 만족하면 된다.

 

클래스란 객체를 정의하고 만들어 내기 위한 설계도 혹은 틀

 

객체란 클래스에 선언된 모양 그대로 생성된 실체를 말하며 '클래스의 인스턴스'

 

인스턴스란 클래스를 통해서 구현해야할 대상(객체)이 실제로 구현된 구체적인 실체

                oop의 관점에서 객체가 메모리에 할당되어 실제 사용될 때 ‘인스턴스’

 

오버로딩(Overloading) : 같은 이름의 메서드 여러개를 가지면서 매개변수의 유형과 개수가 다르도록 하는 기술

오버라이딩(Overriding) : 상위 클래스가 가지고 있는 메서드를 하위 클래스가 재정의해서 사용

 

자바 메모리 구조

https://coding-factory.tistory.com/828

 

[Java] 자바 JVM 내부 구조와 메모리 구조에 대하여

저번 포스팅에서는 JVM에 대해서 간략하게 알아보는 시간을 가졌다면 이번 포스팅에서는 JVM의 내부 구조에 대해 좀 더 자세하게 알아보도록 하겠습니다. 혹시 JVM의 정의와 왜 필요한지 궁금하시

coding-factory.tistory.com

 

Java SE, Java EE, Java ME 차이

https://linked2ev.github.io/java/2019/04/29/JAVA-1.-JAVA-SE-EE-ME/

 

[Java] 1. Java SE, Java EE, Java ME 차이

자바 배포판 Java SE, Java EE, Java ME 차이

linked2ev.github.io

인터페이스란

https://enjoyplaying.tistory.com/33

 

인터페이스(interface)란?

인터페이스란? · 구현된 것은 아무 것도 없는 밑그림만 있는 기본 설계도. · 일반 메서드 또는 멤버 변수를 가질 수 없고, 오직 추상 메서드와 상수만을 멤버로 가질 수 있다. → 추상 클래스보

enjoyplaying.tistory.com

 

 

https://wookcode.tistory.com/99

 

[면접] Java/Spring 면접 질문 정리

면접시 나올만한 질문 객체지향이란? 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍

wookcode.tistory.com

https://github.com/NKLCWDT/cs

 

'취업 > 면접준비' 카테고리의 다른 글

면접준비(2)  (1) 2022.10.03

+ Recent posts