본문 바로가기

dev-log147

자바 데이터 타입, 변수 그리고 배열 프리미티브 타입과 레퍼런스 타입 더보기 기본형 타입 (Primitive Type) - 기본값이 있어서 null이 존재하지 않음. - 실제 값을 저장하는 공간 → 스택에 저장됨 - byte, short, int, long, float, double, boolean, char 참조형 타입 (Reference Type) - 빈 객체를 의미하는 null 존재함 - 실제 값이 아닌 값이 저장되어있는 주소값을 저장하는 공간 → 힙에 저장됨 - class, interface, enum, array, String - 제네릭 사용 가능 변수의 스코프와 라이프타임 더보기 변수의 스코프 : 변수가 접근할 수 있는 유효 범위 (즉, 스코프란 변수를 사용할 수 있는 영역) - 변수가 선언된 블록 내에서만 변수에 접근할 수 있음.. 2023. 8. 3.
자바 소스파일(.java)을 JVM으로 실행하는 과정 JVM이란 무엇인가 더보기 - Java Virtual Machine / 자바를 실행하기 위한 기계 - OS에 종속적이지 않은 Java를 CPU가 인식, 실행할 수 있도록 도와줌 바이트코드란 무엇인가 더보기 - 가상 컴퓨터에서 돌아가는 실행 프로그램을 위한 이진 표현법 - 자바 바이트 코드 ? JVM이 이해할 수 있는 언어로 변환된 자바의 소스코드 JIT 컴파일러란 무엇이며 어떻게 동작하는지 더보기 - 프로그램을 실제 실행하는 시점에 기계어로 동적 번역(or JIT 컴파일) 하는 컴파일러 - 인터프리터 방식의 단점을 보완하기 위해 도입 *** 컴파일 ? 무언가 모아서 묶음으로 만드는 행위 / 프로그램 전체를 스캔하여 모두 기계어로 한번에 번역함 프로그램 전체를 스캔하기 때문에 초기 스캔 시간 오래걸림 + .. 2023. 7. 30.
Answer the Question (8) 1. 절차지향 / 객체지향 / 함수형 프로그래밍이란 무엇이고 차이점은 무엇인가? 더보기 - 절차지향 프로그래밍 : 일이 진행되는 순서대로 프로그래밍하는 방법이다. 코드의 가독성이 좋고 컴퓨터의 처리구조와 비슷해 실행 속도가 빠르다. 다만 코드가 순서에 민감하기 때문에 유지보수가 어렵다. - 객체지향 프로그래밍 : 절차지향 프로그래밍이 유지보수가 어렵다는 단점을 보완하기 위해 등장했다. 실세계의 실체를 프로그래밍에 접목하며 시작되었기 때문에 모든 것을 객체로 취급하고 객체 내부의 기능을 사용해 처리하는 방법이다. 객체 내에 담긴 변수와 함수를 이용하여 처리한다. - 함수형 프로그래밍 : 거의 모든 것을 순수 함수로 나누어 문제를 처리하는 기법이다. 작은 문제를 해결하기 위해 함수를 작성하여 가독성을 높이고.. 2023. 7. 28.
백준 7662번 :: 이중 우선순위 큐 https://www.acmicpc.net/problem/7662 7662번: 이중 우선순위 큐 입력 데이터는 표준입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터의 첫째 줄에는 Q에 적 www.acmicpc.net 1차 시도 접근방법 : 문제 이름에서도 언급했기 때문에 "우선순위 큐"를 써야하나보다! 하고 냅다 PQ부터 만들어주고. 연산에서 최댓값과 최솟값이 필요하기 때문에 우선순위 큐를 두 개 만들어주고 하나는 역으로 정렬해주도록 했다. 그리고 입력값의 경우에 따라 I, D를 입력받을 때로 구분짓고 문제의 요구사항을 맞춰 풀었다. import java.io.BufferedReader; import ja.. 2023. 7. 27.
Answer the Question (7) 1. 웹 서버와 WAS의 차이는? 더보기 - 웹서버는 HTTP 프로토콜을 기반으로 클라이언트가 웹 브라우저에서 요청을 하면 그 요청에 대한 응답으로 정적 컨텐츠를 제공하는 서버이다. 여기서 웹 서버가 동적 컨텐츠에 대한 요청을 받을 경우 WAS로 해당 요청을 넘겨주고 전달해주기도 한다. ( 종류 : Apache, Nginx 등) - WAS : 웹서버와 반대로 동적 컨텐츠를 제공하는 서버이다. HTTP 프로토콜을 기반으로 사용자 컴퓨터나 장치에 애플리케이션을 수행해주는 미들웨어로 DB 서버와 같이 수행된다. 2. Stack과 Queue 그리고 Array와 Linked List 자료구조에 대해 말씀해주시고 차이점에 대해 설명해주세요. 더보기 - Stack : 데이터를 집어넣을 수 있는 선형 자료구조, LIF.. 2023. 7. 27.
Answer the Question (6) 1. 트랜잭션이 무엇인지 설명해 주세요 더보기 트랜잭션이란, 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 최소 단위를 말한다. 이 트랜잭션에는 특징이 크게 4가지가 있는데, 원자성, 일관성, 독립성, 지속성 (ACID)이다. - 원자성 : 트랜잭션이 DB에 모두 반영되던지, 아니면 모두 반영되지 않던지 - 일관성 : 트랜잭션 작업 처리 결과가 항상 일관적이어야함 트랜잭션이 진행되는 동안 DB의 변경점이 있으면 안되고 트랜잭션 전 후로 모두 일관적인 데이터를 확인할 수 있어야함 - 독립성 : 트랜잭션은 다른 트랜잭션으로부터 독립적이어야함 어떤 하나의 트랜잭션이라도 다른 트랜잭션의 연산에 끼어들 수 없음 - 지속성 : 트랜잭션이 성공적으로 완료됐다면 결과는 영구적으로 반영되어야 함 트랜잭션이 종료 .. 2023. 7. 26.
320x100