My Tech Blog

Java Posts

54 posts in this category

Java Plan Archive

-plan 이 붙은 jar 파일이며 에플리케이션 실행에 필요한 모든 의존성이 포함되지 않는 파일이며 소스코드와 리소스 파일만 포함된다. 이런 jar 파일을...

[Java] equals

equals를 재정의 하지 않아도 되는 상황 equals는 재정의 하지 않는 것이 최선이다. 각 인스턴스가 본질적으로 고유하다. ex. singleton 객체, enum...

[Java] Reference와 GC

최초의 Java에서는 GC작업에 애플리케이션의 사용자 코드가 관여하지 않도록 구현되어 있었지만 GC작업에서 좀 더 다양한 방법으로 객체를 처리하기 위해 JDK1.2부터 java.lang.ref...

[Java] WeakHashMap

더 이상 사용하지 않는 객체를 GC할 때 자동으로 삭제해주는 Map

[Java] 인스턴스화를 막는 방법

객체지향에서 객체를 만드는 인스턴스화를 막는다니 이게 뭔소리인가 싶지만, 주로 유틸리티성 클래스같이 정적 메소드로만 이루어져 있는 클래스들은 객체를 생성할 필요가 없다....

[Java] Array

Array 배열 선언 ```java ///////////1차원/////////// int[] arr1 = new int[100]; int[] arr2 = new int[]{1, 2, 3, 4}; int[] arr3...

[Java] enum(열거형)

열거타입을 이용하면 변수를 선언할 때 변수타입으로 사용가능 특정 값만 가져야 한다면 열거형 사용 상수를 열거형 대신해서 사용했던것

[Java] Data Type

종류 기본형 타입(primitive data type) 총 8가지의 기본형 타입(Primitive data type)을 미리 정의하여 제공 기본값이 있기 떄문에 Null if null...

Java

특징 1. 객체 지향 프로그래밍(OOP) JAVA는 상속, 캡슐화(은닉성), 다형성, 추상화를 제공한다. OOP참고

[Java] Package

서로 연관됨 클래스 또는 인터페이스들을 묶어 놓은 묶음 클래스들이 필요할 때만 사용될 수 있도록 함 클래스를 패키지 이름 과 함께...

[Java] try-with-resources

해당 문법은 try(...)에서 선언된 객체들에 대해 try가 종료될 떄 자동으로 자원을 해제해주는 기능히다.

[Java] Annotation

Annotation은 그자체로 주석이라는 의미를 가진다. 하지만 일반 주석이랑 다르다! JDK5 버전부터 사용할 수 있다. @를 붙여서 사용한다. Reflection을 이용해 Class의...

[Java] Atomic

java.util.concurrent.atomic에 정의 되어 있고 멀티 쓰레드 환경에서 동기화에 의존하지 않고, 원자성을 보장하게 해주는 Atomic API에 대해 소개하려고 한다.

[Java] Callable과 Future

Callable과 Future Callable은 Runnable과 다르게 작업(task)의 결과를 받을 수 있다. 그리고 ExecutorService를 이용해 Callable의 작업물을 Future객체로 감싸서 받을 수 있다....

[Java] CompletableFuture

비동기 - Asynchronous 프로그래밍에 대한 여러 기능을 제공하는 인터페이스. 공식 문서

[Java] Enumeration 와 Iterator

Enumeration 와 Iterator는 서로 동작하는 것이 비슷하다. 먼저 이 두 개를 알기 전에 Fail-fast 방식에 대해 알아야 한다.

[Java] Interface

: Java Programing 언어에서 class들이 구현해야 하는 동작을 지정하는데 사용하는 추상 자료형이다. interface라는 키워드를 사용하여 선언한다. 메소드 시그니처(Method sigature), 상수...

JVM, JDK, JRE

JVM - Java Virtual Machine WORA - Write Once Run Anywhere JVM으로 Java byte code(.class파일)를 OS 특화된 코드로 변환(인터프리터, JIT컴파일러)하여...

JVM

이 md는 Java7버전 기준으로 작성되었습니다.

[Java] Stream

: 연속적인 요소(element)들에 대한 순차/병렬 aggregate operations를 지원하는 API이다. Sequence of elements supporting sequential and parallel aggregate operations 데이터를 담는...

[Java] String class

Java를 만든 사람들은 객체지향 언어를 설계할 때 모든 것을 객체로 만들지 않고 원시형 - Primitive Type를 보유하여 성능을 개선했다. 원시형은...

[Java] Wrapper class

왜 사용할까? 객체지향 프로그래밍에서 모든 것은 객체로 다루어져야 한다. 그렇지만, Java는 성능상의 이유로 8개의 기본형(Primitive Type)을 객체로 다루지 않는다.

[Java] 리플렉션 - Reflection

: 이미 로딩이 완료된 클래스에서 또 다른 클래스를 동적으로 로딩(Dynamic Loading)하여 생성자(Constructor), 멤버 필드(Member Variables) 그리고 멤버 메서드(Member Method) 등을...

[Java] 메소드 레퍼런스 - Method Reference

: Lambda 표현식을 더 간단하게 표현하는 방법이다. 메소드 레퍼런스를 이해 하려면 Lambda를 먼저 이해해야 한다. 람다식이 구현되어있는 경우 사용할 수...

[Java] 함수형 interface

추상 메서드가 1개만 있으면 모두 함수형 interface이다. 정적(static) 메서드, 디폴트(default) 메서드가 있을 수 있다. SAM(Single Abstract Method) @FunctionalInterface : Java...

Bean

: Spring IOC(Inversion Of Control)컨테이너가 관리하는 Java객체이며, Spring Bean Container에 존재하는 객체를 말한다. Spring IoC(Inversion of Control) 컨테이너에 의해 인스턴스화,...

Gradle

Java 진영에서 사용하는 Build Tool이다.

JAVA EE (Java Enterprise Edition)

: 엔터프라이즈급 환경에서 사용하는 프로그램을 만드는데 적합한 자바 개발 버전이다. J2EE라고도 불렸다. (Java 2 Enterprise Edition) 지금은 JAVA EE라고 불린다....

LogBack

LogBack은 SpringBoot에서 기본적으로 제공하는 logging(로깅)라이브러리다. log4j를 토대로 새롭게 만들었다 여러 단점 및 성능이 log4j보다 향상됐다.

Servlet

: Java를 이용하여 웹페이지를 동적으로 생성하는 server side 프로그램이다. 웹 프로그래밍에서 클라이언트의 요청을 처리하고 그 결과를 다시 클라이언트에게 전송하는 Servlet...