목록전체 글 (155)
Rootable의 개발일기
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/94cw3/btstsQJmWzN/Ld7rLO1VUOzZL66xL9wEj0/img.png)
📌 운영체제에 독립적이다. JVM(Java Virtual Machine)은 OS에 맞게 재컴파일하므로, Java 프로그램은 OS에 독립적으로 실행할 수 있다. Java application은 JVM 하고만 상호작용하므로 OS와 하드웨어에 독립적, JVM은 OS에 종속적 (해당 OS에서 실행가능한 JVM이 필요) 📌 객체지향언어 객체지향언어의 특징은 다음 글에 정리되어 있다. https://dev-rootable.tistory.com/13 객체 지향 프로그래밍(Object Oriented Programming) 📌 객체 지향 프로그래밍이란 객체 지향 프로그래밍(OOP)은 컴퓨터 프로그램을 객체들의 모임으로 파악하고자 하는 것으로, 각각의 객체는 서로 협력할 수 있다. 또한, OOP는 상속, 다형성 등으로 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bm0eAi/btstrRu2wBw/X3aJujMCc4bRRJWUBM5kv0/img.png)
📌 JVM(Java Virtual Machine) 자바를 실행하기 위한 가상 기계라는 의미로, 자바 프로그램을 실행하는 환경을 만들어 주는 소프트웨어를 말한다. JVM은 자바 실행 환경 JRE(Java Runtime Environment)에 포함되어 있다. 📌 자바 컴파일 과정 소스 코드 작성 (.java)자바 컴파일러(javac.exe)가 자바 소스 코드를 바이트 코드(.class)로 컴파일바이트 코드는 아직 컴퓨터가 읽을 수 없는 JVM이 읽을 수 있는 코드컴파일된 바이트 코드를 JVM의 클래스 로더(Class Loader)에게 전달클래스 로더는 동적 로딩을 통해 필요한 클래스들을 로딩 및 링크하여 런타임 데이터 영역(Runtime Data Area의 Method Area), 즉 JVM의 메모..
📌 RDBMS 스키마에 맞춰 데이터를 관리하기 때문에 데이터의 정합성을 보장한다. 하지만, 시스템이 커질수록 쿼리가 복잡해지고 성능이 저하되며 Scale-out이 어렵다. (Scale-up만 가능) Scale-Up과 Scale-Out 인프라 확장 문제를 해결하기 위한 방법 Scale-Up은 기존 서버의 사양을 업그레이드해 시스템을 확장하는 것을 말한다. CPU나 RAM 등을 추가하거나 고성능의 부품, 서버로 교환하는 방법이 있다. 이처럼 하나의 서버 사양을 업그레이드하기 때문에 수직 스케일로 불리기도 한다. Scale-Out은 서버를 여러 대 추가하여 시스템을 확장하는 것을 말한다. 서버가 여러 대로 나뉘기 때문에 각 서버에 걸리는 부하를 균등하게 해주는 '로드밸런싱'이 필수다. 이처럼 여러 대의 서버로..
📌 데이터베이스란 데이터베이스는 물리 데이터 모델을 구현한 결과물이며 구축된 실제 데이터가 저장되는 데이터 저장소를 의미한다. 데이터베이스 내에서 생성된 모든 객체는 DBMS 자체의 데이터 사전에 의해 관리된다. 데이터 사전(Data Dictionary) 데이터베이스를 구성하고 운영하는 데 필요한 모든 정보를 저장하는 특수한 테이블로 데이터베이스가 생성되는 시점에 자동으로 만들어진다. 오라클 데이터베이스는 명령이 실행될 때마다 데이터 사전을 Access 한다. 데이터베이스 작업 동안 오라클은 데이터 사전을 읽어 객체의 존재여부와 사용자에게 적합한 Access 권한이 있는지를 확인한다. 또한 오라클은 데이터 사전을 계속 갱신하며 DATABASE 구조, 감사, 사용자 권한, 데이터 등의 변경 사항을 반영한다..