일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- write by GPT-4
- android
- write by chatGPT
- flet
- 뉴턴역학
- 역학
- Database
- 유닉스
- NIO
- lombok
- 자바네트워크
- 리눅스
- 인프라
- 시스템
- chatGPT's answer
- JVM
- kotlin
- 파이썬
- 고전역학
- 코틀린
- 자바
- 웹 크롤링
- GIT
- GPT-4's answer
- Java
- 자바암호
- python
- Spring boot
- oracle
- 소프트웨어공학
- Today
- Total
목록Java (87)
Akashic Records
람다 표현식이란? 람다 표현식(Lambda Expression)은 익명 함수(anonymous function)라고 할 수 있습니다. 자바에서는 메서드를 객체처럼 취급할 수 없기 때문에, 함수형 인터페이스라는 단일 추상 메서드를 갖는 인터페이스를 정의한 후 그 인터페이스를 구현하는 방식으로 함수형 프로그래밍을 지원합니다. 이때 메서드 구현을 간단하게 표현할 수 있도록 도와주는 것이 바로 람다 표현식입니다. 간단히 말하면, 람다 표현식은 이름이 없는 함수로, 간단한 식이나 메서드를 더욱 짧고 간결하게 표현할 수 있게 해주는 문법입니다. 전통적으로 메서드를 정의하는 방식보다 훨씬 간결하게 코드를 작성할 수 있습니다.람다(Lambda)의 의미 람다(Lambda)라는 용어는 람다 계산법(Lambda Calcu..
제네릭스(Generics) 제네릭스는 컴파일 시점에 타입 검사를 수행하여 코드의 안정성을 높이고, 런타임에 발생할 수 있는 불필요한 캐스팅 에러를 방지합니다. 제네릭스를 통해 개발자는 타입의 불일치로 인한 ClassCastException을 예방할 수 있습니다. Java 제네릭스를 사용하면 컴파일 시점에 타입 검사를 수행하여 잘못된 타입 변환을 방지하고, 이에 따라 ClassCastException을 효과적으로 피할 수 있습니다. 제네릭스를 통해 코드의 타입 안전성을 높이고, 형 변환과 관련된 오류를 줄이는 것이 가능하므로, Java에서는 제네릭스를 적극적으로 활용하는 것이 좋습니다.1. 제네릭스를 사용한 리스트 Java에서 제네릭스를 사용하면 컴파일러가 타입을 명확히 알 수 있기 때문에 타입 변환을 ..
Java 클래스 로더(Class Loader)는 JVM(Java Virtual Machine)에서 클래스 파일들을 로드하는데 사용되는 일종의 추상 클래스입니다. 이는 런타임에 동적으로 자바 클래스를 로드하거나 네트워크에서 다른 소스로부터 클래스를 로드하는 역할을 합니다. 클래스 로더의 주요 기능은 다음과 같습니다: 로딩(Loading): 이 단계에서 클래스 로더는 클래스나 인터페이스의 바이너리 데이터를 메모리에 로드합니다. 클래스 로더는 이 프로세스를 통해 완전한 바이너리 트리를 생성하고, 이를 JVM 메모리에 로드합니다. 연결(Linking): 로딩이 완료되면 연결 단계가 시작됩니다. 이 단계는 검증, 준비, 그리고 (선택적으로) 해석의 세부 단계로 구분될 수 있습니다. 검증(Verification):..
SDKMAN은 Software Development Kit Manager의 약자로, JVM 기반 언어와 프레임워크를 쉽게 관리할 수 있게 해주는 도구입니다. 이 도구를 사용하면, JDK, Groovy, Scala, Kotlin 등과 같은 JVM 기반의 언어와 Gradle, Maven 등의 빌드 도구를 손쉽게 설치하고 관리할 수 있습니다. SDKMAN 설치하기 SDKMAN은 Unix 기반 시스템 (예: Linux, Mac)에서 사용할 수 있습니다. 설치는 매우 간단합니다. 다음 명령을 터미널에 입력하면 됩니다. curl -s "https://get.sdkman.io" | bash 설치 후에는, 터미널을 재시작하거나 다음 명령을 실행하여 SDKMAN을 초기화합니다: source "$HOME/.sdkman/b..
public class SingleHome{ private String ref="java:comp/env/ejb"; //EJB reference name use ejb/remote interface name private static HashMap homeMap; private SingleHome(){} public static SingleHome getSingleHome(){ if (homeMap==null){ homeMap=new HashMap(); } return SingleHome(); } public Object getDestHome(String remoteInterfaceName){ String strLookup="ref"+remoteInterfaceName; ..
대부분의 문제 발생 원인(리스트는 우선 순위가 아닙니다.) 1. 해당 어플리케이션이 사용하는 Native 코드 사용시 발생 2. 모든 Type 2 JDBC 드라이버는 native DBMS 라이브러리를 사용하므로 이러한 유형의 오류가 발생할 수 있습니다. 이 드라이버가 문제의 원인인지 판별하려면 pure java(Type 4) JDBC ..
Java Memory Model JVM(Java Virtual Machine) Machine이라는 말이 들어가 있지만 실제로는 Software. Machine이라는 말이 들어간 이유는 JVM이 실제적으로 CPU와 같은 역할을 하기 때문이다. Program은 CPU 위에서 돌아간다. C나 C++과 같은 프로그램 에서 Compile된 코드(native code)는 CPU에서 바로 실행이 가능하다. 하..
JAVA 5.0 가비지 콜렉터 추가 옵션 throughput generationacollector 여러 개의 CPU를 사용하여 멀티 쓰레드를 구동한다. 구동옵션 -XX:+UseParallelGC : 병렬 가비지 콜렉션 사용(JDK 1.4.0 이후) -XX:ParallelGCThreads=n : 병렬 가비지 콜렉션에 사용될 쓰레드 수 지정 추가옵션 -XX:AdaptiveSizeDecrementScaleFactor=VALUE : adapti..