본문 바로가기
반응형

개발 지식/Java
반응형
7

[Java] 함수형 인터페이스 @FunctionalInterface - 3. Function 2022.03.26 - [개발 지식/Java] - [Java] 함수형 인터페이스 @FunctionalInterface - 2. Consumer [Java] 함수형 인터페이스 @FunctionalInterface - 2. Consumer 2022.03.11 - [개발 지식/Java] - [Java] 함수형 인터페이스 @FunctionalInterface - 1. Predicate [Java] 함수형 인터페이스 @FunctionalInterface - 1. Predicate 개발을 진행하다보면 람다 표현식을 많이 쓰게.. erjuer.tistory.com 이번에는 마지막 3번째 Function 인터페이스를 정리하고자 한다. Function 인터페이스는 제네릭 형식 T를 매개변수로 받아 제네릭 형태의 R을 리.. 2022. 4. 13.
[Java] The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12] MAC 기준 maven load시 해당 내용 오류 발생시 조치방안 The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12] /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/jre/lib/security 디렉토리 java.security 파일 내 jdk.tls.disableAlgorithms 리스트에서 "TLSv1, TLSv1.1" 두가지 항목을 제거한다. 관리자 계정으로 편집해야 하며 nano 이용시 command + w : String find로 'jdk.tls.disableAlgorithms'을 찾는다. 2022. 3. 28.
[Java] 함수형 인터페이스 @FunctionalInterface - 2. Consumer 2022.03.11 - [개발 지식/Java] - [Java] 함수형 인터페이스 @FunctionalInterface - 1. Predicate [Java] 함수형 인터페이스 @FunctionalInterface - 1. Predicate 개발을 진행하다보면 람다 표현식을 많이 쓰게 된다. 특히 Stream API를 활용할 때 자주 쓰게 된다. 관련된 서적이나 구글에서 보면 "함수형 인터페이스를 람다 표현식을 사용할 수 있다" 라고 하는 erjuer.tistory.com 이번에는 2. Consumer 함수형 인터페이스를 한꺼번에 정리하고자 한다. 2. Consumer Comsumer는 말 그대로 소비자라는 말과 같이 Return값을 내 뱉는 것이 아닌 void를 반환하는 추상 메소드 (accept) 를 .. 2022. 3. 26.
[Java] 함수형 인터페이스 @FunctionalInterface - 1. Predicate 개발을 진행하다보면 람다 표현식을 많이 쓰게 된다. 특히 Stream API를 활용할 때 자주 쓰게 된다. 관련된 서적이나 구글에서 보면 "함수형 인터페이스를 람다 표현식을 사용할 수 있다" 라고 하는데 자바 API에서 제공하는 다양한 함수형 인터페이스가 있지만 자버 1.8부터 등장한 함수형 인터페이스 중 일부분을 살펴보고자 한다. 1. Predicate 2. Consumer 3. Function 세개로 나뉘어 진행할 생각이다. 1. Predicate Predicate 인터페이스는 test라는 추상 메서드를 정의하며 test는 제네릭 형식 T의 객체를 인수 받아 True / False를 반환한다. 라고 한다. (해당 인터페이스에 구현된 메소드의 이름은 test이지만 단순히 "boolean 형태로 리턴하는.. 2022. 3. 11.
[Java] 제네릭(Generic)이 무엇일까 그리고 활용법 애플리케이션 외부 데이터를 불러오기 위해 API 호출이나 SDK 그리고 라이브러리를 사용하다보면 제네릭 클래스를 활용하는 것을 많이 볼 수 있다. 이번 포스팅은 제네릭을 활용하는 이유와 간단한 예시를 통해 이야기해보고자 한다. 자바 개발자라면 모두 알다시피 제네릭 클래스를 활용하는 이유는 다음과 같다. 메소드와 클래스의 매개변수를 나중에 확정한다. 즉 자바의 타입 안정을 보장한다. 더 자세한 부분은 코드로 이야기해보자. public class GenericEx { public static void main(String[] arg){ IntPrintGeneric intPrintGeneric = new IntPrintGeneric(400); intPrintGeneric.GenericPrint(); } sta.. 2022. 1. 9.
[Optional] orElse와 orElseGet의 차이 실무개발을 진행하면서 자주 썼지만 정확한 차이에 대해 혼동이 있던 것 중 orElse와 orElseGet의 차이에 대해 정리하고자 한다. 우선 orElse와 orElseGet는 Java 8의 Optional 도입과 함께 등장했던 메소드다. 그 전에 orElseGet를 이해하는데 필요한 Supplier interface에 대해 간단히 정리한다. Supplier Interface @FunctionalInterface public interface Supplier { /** * Gets a result. * * @return a result */ T get(); } Supplier는 넘겨준 Type T를 그대로 반환하는 함수형 인터페이스이다. 함수형 인터페이스이기 때문에 람다형식으로도 많이 쓰인다. 아래 코드.. 2021. 12. 30.
[Java] 자바란 무엇일까? JVM 메모리, 각 명칭 및 기능 내가 알고있는 Java에 대한 지식으로는JVM(Java Virtual Machine)은 자바 가상 머신으로 자바라는 언어의 강점이자 자바를 실행시키는 프로그램이다. 그리고 메모리는 JVM에서 알아서 관리해 준다라는 것이 내가 알고 있는 JVM의 전부이다. 어찌보면 익숙한 프로그래밍 언어이기도 하지만 기본을 잘 알고 있지는 못하게 때문에 인터넷에서 알음알음 공부했던 것들과 내가 알고 있는 것들을 블로그에 정리 해둔다. 전체 자바 코드가 실행되는 프로세스는 자바코드(.java) -> 자바 컴파일 -> 바이트 코드(.class) -> JVM JIT 컴파일러 -> 머신 코드 -> 실행 이다. - 자바 컴파일을 통해 바이트 코드(.class)로 변환 뒤 Class Loader를 통해 Class 파일을 JVM으로 .. 2020. 7. 29.