자바

Goal gc에 대해 알아본다 gc프로세스에 대해 알아본다 gc의 종류에 대해 알아본다 Garbage Collector 가비지 컬렉터(GC)는 힙 메모리를 살펴보고, 사용 중인 객체를 식별하고 사용하지 않는 객체를 삭제하는 프로세스이다. 즉, 애플리케이션의 동적 메모리 할당 요청을 자동으로 관리한다. Java에서는 Java Virtual Machine (JVM)에서 자체적으로 Garbage collector를 제공하고 있으며, 다양한 Garbage collector가 존재하여 프로그램의 크기, 특성, 요구사항 등에 맞는 적절한 Garbage collector를 선택하여 사용할 수 있다. 실행 과정 1 단계 : 마킹 사용 중인 메모리와 그렇지 않은 메모리를 식별한다. 참조된 개체는 파란색으로 표시되고, 참..
Goal Thread safe이란 무엇인지 알아본다 Thread safe vs Thread unsafe Thread safe한 코드 설계하는 방법을 알아본다 Thread safe 여러 개의 스레드에서 동시에 해당 코드를 실행하더라도 문제가 발생하지 않고, 안전하게 사용될 수 있는 코드를 말한다. "스레드"는 하나의 프로세스 내에서 병렬로 실행될 수 있는 실행 단위를 말한다. 다중 스레드 환경에서는, 각 스레드가 동시에 코드를 실행할 수 있어, 이로 인해 발생할 수 있는 문제들(예: 경쟁 조건, 교착 상태, 데드락 등)을 방지하기 위해 스레드 안전성이 중요하다. Thread safe vs Thread unsafe 한 코드의 특징 Tread safe Tread unsafe 두 개 이상의 스레드에서 동시에 해..
Goal ArrayList에 대해서 알아본다 Array vs ArrayList 자바 버전 별 차이점에 대해서 알아본다 ArrayList 란? Java 프로그래밍 언어에서 제공하는 컬렉션 클래스 중 하나로, 동적 크기 배열(dynamic size array)을 구현한 클래스다. 내부적으로 배열을 사용하여 요소를 저장하며, 요소의 추가, 삭제, 검색 등의 작업을 수행할 수 있다. ArrayList는 크기를 지정하지 않고 요소를 추가할 수 있으며, 내부적으로 필요에 따라 크기가 동적으로 조정된다. Arr ay vs ArrayList 구분 Array ArrayList 크기 고정. 생성 이후 크기 변경 불가 가변 메모리 할당 생성시 할당 성장함에 따라 메모리 할당 (생성 비용 저렴) 데이터 저장 같은 타입의 데이..
Goal Crypto 간소화 서비스를 통해 DB 접속 정보를 암호화한다 암호화한 DB정보를 Global.properties 에 세팅한다 Crypto 간소화 서비스란? 표준프레임워크 3.8 부터 ARIA 블록암호 알고리즘 기반 암/복호화 설정을 간소화 할 수 있는 방법을 제공 내부적으로 필요한 설정을 가지고 있고, XML Schema를 통해 필요한 설정만을 추가할 수 있도록 제공한 globals.properties 설정 파일의 중요 정보 Url, UserName, Password 항목을 암/복호화 처리 할 수 있도록 제공 예제 1. Crypto 간소화 서비스를 통해 DB 접속 정보 암호화 하기 1. XML namespace 및 schema, Crypto Config 설정 context-crypto-test..
Goal StringUtils이 제공하는 빈 값과 Null체크를 하는 메소드의 각 차이점을 알아본다 == 와 equals()의 차이를 알아본다 String.valueOf()메소드에 대해 알아본다 기존 코드에서의 빈 값 및 null 체크 // 계약정보를 리턴받은 contMap if("".equals(contMap.get("fctsVol").toString()) || StringUtils.isEmpty((contMap.get("fctsVol").toString()))) 메소드가 제공하는 특징을 정확히 이해하지 않았음. isEmpty는 Null 및 빈 값 모두 체크를 하므로 "".equals() 비교는 없어도 됨 isEmpty() public static boolean isEmpty(java.lang.Stri..
13장 - 인터페이스와 추상클래스, enum 인터페이스에 선언되어 있는 메소드는 body가 있는가? 없음 인터페이스를 구현하는 클래스의 선언시 사용하는 예약어는 무엇인가? implements 일부만 완성되어 있는 클래스는 무엇인가? abstact 클래스 3번의 답에 있는 클래스에 body가 없는 메소드를 추가하려면 어떤 예약어를 추가해야 하는가? abstract 클래스를 final로 선언하면 어떤 제약이 발생하는가? 상속 불가 메소드를 final로 선언하면 어떤 제약이 발생하는가? overriding 불가 변수를 final로 선언하면 어떤 제약이 발생하는가? 반드시 생성과 동시에 초기화를 해줘야 함 enum 클래스 안에 정의하는 여러 개의 상수들을 나열하기 위해 상수 사이에 사용하는 기호는 무엇인가? ,..
Goal JVM의 실행과정과 구조를 알아본다 JAVA7까지의 메모리모델과 JAV8이후의 메모리모델의 차이점을 알아본다 JVM 이란 ? JVM(Java Virtual Machine)은 자바 가상 머신을 의미하며, 자바 언어를 실행하기 위한 가상 머신이다 자바와 운영체제(OS)와 하드웨어에 독립적으로 작동하기 때문에, 자바 프로그램은 JVM을 통해 어떤 운영체제(Window, Linux, Mac)에서든 실행이 가능하다. 메모리 관리와 같은 작업을 자동으로 처리하여 프로그램의 안전성을 보장하며, 가비지 컬렉터(GC)를 통해 더 이상 사용되지 않는 객체를 제거하여 메모리누수를 방지한다. 또한, 멀티쓰레딩을 지원하므로써 하나의 자바프로그램에서 여러 작업을 동시에 수행 가능하다. JAVA 프로그램의 실행 단계 자바..
Goal Mutable한 객체와 Immutable한 객체는 무엇이고 또 그 차이를 알아보자 Mutable한 객체를 Immutable한 객체로 만드는 방법은 무엇인지 알아보자 Mutable한 객체란 ? 가변객체로 초기화 후, 값이 변경될 수 있는 객체를 뜻한다. 객체가 생성된 후 필드 및 상태와 같은 객체의 값을 변경할 수 있다. 기존의 객체를 변경할 경우, 새로운 객체가 생성되지 않고 값이 변경된다. 예로는 Java.util.Date , StringBuilder , StringBuffer 가 있다. 특징 1. Getter( get() 메서드), Setter( set() 메서드) 모두 사용할 수 있다. 2. 값을 변경할 수 있기 때문에 스레드로부터 안전할 수도 있고 그렇지 않을 수도 있다. 만드는 방법 g..
1장 - 프로그래밍이란 무엇인가? 클래스란 무엇인가? 자바의 가장 작은단위로, 현실 세계를 만들기 위한 템플릿이다. 상태(변수)와 행동(메소드)이 있다. 메소드가 무엇인가? 클래스의 행동으로, 클래스에 소속되어 있어야한다. 메소드의 매개변수는 어디에 적는지? () 메소드 이름 앞에 꼭 적어줘야 하는 건? 접근제어자, 리턴타입 클래스가 갖고 있어야 하는 두가지 ? 상태와 행동 메소드에서 결과를 돌려주려면 어떤 예약어를 사용해야 하는지? return 예약어란 무엇인가? 예약되어 있으니, 쓰지 못하는 단어로 보면되는데 예약어는 클래스, 메소드, 변수의 이름으로 사용할 수 없다. * 모든 자바 코드의 한 줄이 끝날 때에는 ;를 적어주어야만 한다. 2 장 - Hello God Of Java main() 메소드의 ..
· Spring/mvc
Goal : 핸들러 매핑과 핸들러 어댑터가 어떻게 사용되는지 알아본다. 핸들러 매핑과 핸들러 어댑터 OldController hello/servlet/web/springmvc/old/OldController.java @Component("/springmvc/old-controller") public class OldController implements Controller { // @Component("/springmvc/old-controller")를 해주면 스프링빈의 이름이 /springmvc/old-controller가 된다 @Override public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse respon..
dev_rosieposie
'자바' 태그의 글 목록 (5 Page)