본문 바로가기
반응형

전체 글

(97)
15. 데드락이 무엇이고, 해결방법에 대해 설명해 보세요 15. 데드락이 무엇이고, 해결방법에 대해 설명해 보세요 데드락(Deadlock) 프로세스가 자원을 얻지 못해 다음 처리를 하지 못하는 상태를 데드락(교착 상태)라 부릅니다. 이는 시스템 적으로 한정된 자원을 여러 곳에서 사용하려고 할 때 발생됩니다. 발생 4가지 조건 4가지가 동시에 성립될 때 발생됩니다. 하나라도 성립이 되지 않는 경우 해결 가능 합니다. 상호 배제 자원은 한 번에 한 프로세스만 점유 대기 프로세스가 할당된 자원을 가진 상태에서 다른 자원을 기다림 비선점 다른 프로세스에 할당된 자원은 사용이 끝날 때까지 강제적으로 강탈 불가 순환 대기 프로세스의 자원 점유 및 점유된 자원의 요구 관계가 원형을 이루면서 대기하는 조건 각 프로세스는 순환적으로 다음 프로세스가 요구하는 자원을 가지고 있음..
14. 박싱과 언박싱에 대해 설명하세요 14. 박싱과 언박싱에 대해 설명하세요 자바는 int, log 등과 같은 변수의 기본 자료형을 제공합니다. 이러한 기본 자료형은 컬렉션, 제네릭에서 제한적으로 사용 가능 합니다. 자바는 각 기본 자료형에 대응되는 래퍼 클래스를 제공하고 있습니다. 기본 자료형 래퍼 클래스 boolean Boolean short Short int integer long Long float Float byte Byte 변수의 기본 자료형 이름의 첫 번째 글자만 대문자로 변경하면 됩니다. 자바에서는 이 래퍼 클래스를 이용해 기본 자료형을 담는 래퍼 클래스를 만들 수 있습니다. 래퍼 클래스란 기본 자료형의 값을 감싸 객체형태로 만드는 클래스입니다. 래퍼 클래스 사용 목적 참조형, 자료형을 사용하는 이유와 같습니다. 기본 자료형의..
13. pojo가 무엇인가요? 특정 기술에 종속되지 않는 순수한 자바 객체를 의미합니다. 스프링 프레임워크는 POJO 방식의 프레임워크입니다. 예시 public class testDto { private String test1; public String getTest1(){ return test1; } public void setTest1(String test1){ this.test1 = test1; } } 예시 코드는 기본적인 자바 기능인 getter, setter 기능만 가지고 있습니다. EJB 등에서 사용되는 Java Bean이 아닌 Getter, Setter로 구성된 가장 순수한 형태의 기본 클래스를 POJO라 하며 EJB의 사용과 프로그램의 규모 증가로 특정 기술과 환경에 종속되어 의존하게 된 자바 코드는 가독성이 떨어져 유..
12. 컬렉션 클래스에서 제네릭을 사용하는 이유를 설명하세요 다양한 타입의 데이터를 저장하고 관리하기 위합니다. 제네릭을 사용하면 컴파일 시점에서 타입 안전성을 보장하며 다양한 타입의 데이터를 다룰 수 있는 유연한 코드를 작성할 수 있습니다. 데이터 타입을 명확하게 지정 가능하며 코드의 안전성, 유지 보수 성을 높일 수 있습니다. 컬렉션 : 데이터의 집합, 그룹을 의미합니다. 요소의 삽입 삭제에 따른 요소의 위치 자동이동 배열, 컬렉션 차이점 배열은 고정 크기 이상의 객체를 관리할 수 없고, 중간에 객체가 삭제되면 응용프로그램에서 자리를 이동시켜야 합니다. 컬렉션은 가변 크기로서 객체의 개수를 염려할 필요 없고 컬렉션 내의 한 객체가 삭제되면 컬렉션이 자동으로 이동시킵니다. 자바 컬렉션 프레임워크(Java Collections Framework) 이러한 데이터, ..
11. 제너릭이 무엇인가요? 제네릭 : 클래스 내부에서 지정하는 것이 아닌 외부에서 사용자에 의해 지정되는 것을 의미합니다. 다양한 타입의 객체들을 다루는 메서드, 컬렉션 클래스에 컴파일 시의 타입 체크를 해주는 기능입니다. 제네릭 타입 : 타입을 파라미터로 가지는 클래스, 인터페이스를 말합니다. 클래스 및 인터페이스 이름 뒤에 를 쓰고 타입 파라미터를 명시해야 합니다. 타입 파라미터를 별도로 명시하지 않기 때문에 특정 타입 파라미터에 종속되지 않을 수 있다는 장점이 있습니다. 제네릭을 사용하지 않은 타입은 원시 타입이라 하며 일반적으로 Integer, String 등을 파라미터로 사용한 클래스입니다. 타입 파라미터 제네릭 클래스/인터페이스에 사용되며 ‘타입이 정해지지 않은’ 파라미터입니다. 대부분의 참조 타입의 경우 T, 요소는 ..
MyBatis 란 MyBatis 란 SQL 기반 웹 애플리케이션을 개발할 때 가장 많이 사용되는 SQL 매퍼 프레임워크입니다. SQL을 별도의 파일로 분리해서 관리하게 해 줍니다. Hibernate 처럼 새로운 DB 프로그래밍 패러다임을 익혀야 하는 부담 없이 SQL을 그대로 이용하면서 JDBC코드 작성의 불편함도 제거해 주고 도메인 객체, VO 객체를 중싱으로 개발이 가능 특징 싱글톤 패턴으로 스프링빈으로 등록하여 주입하여 쉽게 사용 가능 MyBatis Mapper Interface를 통해 DB에 접근 객체 프로퍼티로 파라미터, 결과를 객체 등으로 자동 매핑 Spring 연동 모듈을 제공해 주기 때문에 Spring 설정이 간단 트랜잭션을 관리해 주기 쉽게 설정이 가능 사용 목적 데이터베이스 쿼리 ↔ 프로그래밍 언어 코드..
Tomcat, JSP, Servlet [WEB 서버 단일 구성] 개발자는 미리 모든 페이지를 다 만들어 둔 뒤 웹서버에 올려두고 사용자가 URL을 입력하거나 하이퍼링크가 걸린 글/그림 등을 클릭하면 웹서버가 해당 페이지를 사용자에게 보내줍니다. 웹 브라우저는 페이지를 받아 화면으로 출력 후 사용자에게 시각화하여 보여 줍니다. 페이지는 HTML, CSS, JavaScript로 이루어져 있습니다. HTML : 뼈대 CSS : HTML 콘텐츠를 꾸며주는 정적 언어 JavaScript : 동적 스크립트로 상황에 따라 다른 결과를 출력할 수 있는 동적인 스크립트 언어 HTML, CSS, JavaScript 모두 웹서버에서 코드를 보내주면 브라우저가 해석해서 실행합니다. 사용자가 요청하면 해당 페이지를 넘겨주는 정적인 방식입니다. 단점으로 필요한 페이..
10. Servlet과 JSP를 비교해서 설명하세요 Servlet 서버에서 웹페이지 등을 동적으로 생성, 데이터 처리를 수행하기 위해 자바로 작성된 프로그램입니다. servlet은 java 코드 안에 HTML 태그가 삽입되며 자바언어로 되어 있고. java가 확장자입니다. 서블릿 언어를 쉽게 풀어 보면 ‘클라이언트 요청을 처리하고 그 결과를 다시 클라이언트에게 전송하는 servlet 클래스의 구현 규칙을 지킨 자바 프로그램’이라 이해 가능 합니다. 서블릿은 자바 언어를 웹애플리케이션에 조금 더 개발하기 쉽게 하기 위해 만든 API이며 이 규약에 맞는 라이브러리, 클래스 들을 상속 및 구현하여 만든 클래스를 의미합니다. JSP(Java Server Pages) HTML내부에 java 코드를 삽입하는 형식입니다. 서블릿의 단점을 보완하고자 만든 서블릿 기반의..

728x90
반응형