본문 바로가기
728x90

전체 글240

[JAVA] G1GC G1GC G1GC는 JDK 11 부터 공식적인 GC 알고리즘으로 적용되었고, 하드웨어가 점점 발전하면서 대용량 메모리에 적합한 솔루션을 제공하기 위해 나타났다. G1GC는 Eden, Survivor, Old 영역이 존재하지만, 해당 영역은 고정된 크기가 아니며 전체 Heap 메모리 영역을 Region 이라는 특정한 크기로 나눈 것이고 Region의 상태에 따라 그 Region의 역할(Eden, Survivor, Old)가 동적으로 변동한다. Region은 기본적으로 (전체 Heap 메모리) / 2048 로 default 값이 지정되어있다. Humonogous: Region 크기의 50%를 초과하는 큰 객체를 저장하기 위한 공간 Available/Unused: 아직 사용되지 않은 Region G1GC에서도.. 2022. 4. 20.
[JAVA] Garbage Collector Java는 프로그램에서 메모리를 명시적으로 지정하여 해제하지 않는다. 가끔 명시적으로 해제하려고 해당 객체를 null로 지정하거나 System.gc() 메서드를 호출하는 개발자가 있다. null로 지정하는 것은 큰 문제가 안 되자만, System.gc() 메서드를 호출하는 것은 시스템의 성능에 매우 큰 영향을 끼치므로 System.gc() 메서드는 절대로 사용하면 안된다. Java에서는 개발자가 프로그램 코드로 메모리를 명시적으로 해제하지 않기 때문에 가비지 컬렉터(Garbage Collector)가 더 이상 필요 없는(쓰레기) 객체를 찾아 지우는 작업을 한다. Garbage Collection Garbage Collection이란? - 객체가 접근 불가능한 상태(Unreachable)가 되었을 때, 메.. 2022. 4. 19.
[Spring] 5장 어노테이션 기반 설정 - 어노테이션 설정(Component) 및 의존성 주입 설정(Autowired, Qualifier) 실습 코드 참조 https://github.com/JaeKyungHeo/SpringFramework GitHub - JaeKyungHeo/SpringFramework: Spring Framework 실습 코드 정리 Spring Framework 실습 코드 정리. Contribute to JaeKyungHeo/SpringFramework development by creating an account on GitHub. github.com 5.1절 어노테이션 설정 기초 0. 어노테이션 개념 1) 어노테이션이란? - @를 이용하여 주석이나 자바코드에 특별한 의미를 부여하는 기능 - 컴파일러가 특정 오류를 억제하도록 지시하는 것처럼 프로그램 코드의 일부가 아닌, 프로그램에 관한 데이터를 제공 - 코드에 대한 정.. 2022. 4. 18.
[JAVA] EJB(Enterprise JavaBeans) EJB란? EJB는 기업환경의 시스템을 구현하기 위한 서버측 컴포넌트 모델이다. 즉, EJB는 애플리케이션의 업무 로직을 가지고 있는 서버 애플리케이션이다. EJB 사양은 Java EE의 자바 API 중 하나로, 주로 웹 시스템에서 JSP는 화면 로직을 처리하고, EJB는 업무 로직을 처리하는 역할을 한다. EJB 개발의 특징과 필요성 동시접속자수가 10,000명이상인 사이트 구축시 사용하는 컴포넌트 기술 동시접속자수가 많은 가운데 안정적인 트랜잭션이 필요한 사이트 구축시 사용 접속자수가 많은 공공기관, 기상청, 병무청, 금융, 보험, 포털사이트, 게임사이트, 기업등에서 집중적으로 사용 EJB 시스템은 속도는 느리지만 개발시에 개발자에게 많은 자동화된 기능을 제공해 분산 시스템 구축을 쉽게 해준다. EJ.. 2022. 4. 15.
[Database] JDBC JDBC란? 자바에서 DB 프로그래밍을 하기 위해 사용되는 API *데이터베이스 종류에 상관없다. *JDBC 드라이버 : 각 DBMS에 알맞는 클라이언트 JDBC(Java Database Connectivity) 자바 프로그램 내에서 DB와 관련된 작업을 처리할 수 있도록 도와주는 일을 한다. java에서 DB를 사용할 때에는 JDBC API를 이용하여 프로그래밍한다. 자바는 DBMS종류에 상관없이 하나의 JDBC를 사용하여 DB작업을 처리할 수 있기 때문에 알아두면 어떤 DBMS든 작업을 처리 할 수 있게 된다. JDBC API가 생긴 이유 JDBC API가 없었던 옛날에는 각각의 데이터베이스마다(ms-sql, my-sql, oracle..) 각각의 SQL문을 사용한다. 그래서 DB의 종류에 따라 SQ.. 2022. 4. 14.
[JAVA] Servlet(서블릿), JSP(Java Server Page) Servlet(서블릿) 서블릿을 한 줄로 정의하자면 아래와 같다. 클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍기술 쉽게 말하면, 서블릿이란 자바를 사용하여 웹을 만들기 위해 필요한 기술이다. 추가적으로 설명하면 클라이언트가 어떠한 요청을 하면 그에 대한 결과를 다신 전송해주어야 하는데, 이러한 역할을 하는 자바 프로그램이다. 예를 들어, 어떠한 사용자가 로그인을 하려고 할 때, 사용자는 아이디와 비밀번호를 입력하고, 로그인 버튼을 누른다. 그때 서버는 클라이언트의 아이디와 비밀번호를 확인하고, 다음 페이지를 띄워주어야 하는데, 이러한 역할을 수행하는 것이 바로 서블릿(Servlet)이다. 그래서 서블릿은 자바로 구현된 CGI*라고 흔히 말.. 2022. 4. 14.
[네트워크] GET과 POST 사용자가 어떤 홈페이지로 이동하기 위해서 URL을 브라우져 주소창에 작성하고 엔터를 누르면 원하는 페이지로 이동한다. 사용자는 단순히 URL(Uniform Resource Locator)을 입력하였을 뿐이지만 서버 내부에서는 클라이언트의 요청에 응답(웹페이지로 표현)하기 위해서 처리를 해주어야 한다. 여기서 클라이언트가 서버로 요청을 보내는 방법인 HTTP Method에는 크게 2가지 방식이 있는데, 그것이 바로 GET방식과 POST 방식이다. GET 방식 우선 GET 방식에 대해서 알아보면, 영어 Get이라는 단어는 가져오다라는 뜻을 가진 단어인데, 이를 활용해서 이해하면 쉽다. 우리가 필요한 정보를 얻기 위해 도서관에서 책을 빌려 가져오는(GET)상황과 유사하게 GET은 어떠한 정보를 가져와서 조회하.. 2022. 4. 11.
[JAVA] Java EE Java EE (Enterprise Edition) Java EE 플랫폼은 Java SE 플랫폼을 기반으로 그 위에 탑재된다. 웹 프로그래밍에 필요한 기능을 다수 포함 JSP, Servlet, JDBC, JNDI, JTA, EJB 등 대규모, 다계층, 확장성, 신뢰성, 보안 네트워킹 API, 환경 등을 제공 *Java EE 기술 중에서 서블릿, JSP는 웹을 기반으로 한 클라이언트/서버 기술을 정의한다. 자바로 웹 어플리케이션을 개발한다는 것은 서블릿, JSP 기술을 사용하여 어플리케이션을 개발하는 것을 의미한다. Java SE (Standard Edition) 가장 대중적인 자바 플랫폼 흔히 자바 언어라고하는 대부분의 패키지가 포함된 에디션 java.lang.*, java.util.*, java.awt.. 2022. 4. 11.
[Database] 프로그램과 MYSQL 연동 시 필요한 SQL 1. JDBC 드라이버 (Java DataBase Connectivity 드라이버) 자바에서 데이터에비스를 사용할 때에는 JDBC API를 이용해서 프로그래밍 한다. JDBC 드라이버는 DBMS와 통신을 담당하는 자바 클래스 자바는 DBMS의 종류에 상관없이 하나의 JDBC API를 사용해서 데이터데이스 작업을 처리할 수 있기 때문에 익혀두면 모든 DBMS에서 이용이 가능하다. JDBC의 구조 위에 언급했듯 자바 기반 어플리케이션에서 데이터베이스를 사용할 때에는 데이터베이스 종류에 상관없이 JDBC API를 이용해서 데이터베이스에 접근하게 된다. 각각의 DBMS는 자신에 알맞는 JDBC 드라이버를 제공하며, JDBC API는 JDBC 드라이버를 거쳐 데이터베이스와 통신한다. ex. java 기반 어플리케.. 2022. 4. 6.
728x90