본문 바로가기
728x90

개발/Java6

[다시 공부하는 Java] Stream API 개요 '아는 만큼 보인다' 라는 말을 Java와 Spring을 다시 공부하면서 매우 공감했다. 처음 습득하는 지식은 이해도 쉽지 않고 기억에 남기 어렵다. 하지만 여러번 반복해서 접하다보면 '이게 그때 그 말이었구나' 하고 깨닫게 된다. 그래서 내가 놓치고 있고 부족한 부분을 채우기 위해 다시 Java와 Spring을 공부하기 시작했다. 오늘 주인공은 Stream이다. Java 8부터 람다식, 함수형 인터페이스 등을 지원하면서 데이터를 처리하는데 자주 사용되는 함수들을 추상화한 Stream부터 복습해보자. Stream 개념 Stream이란, Collection의 담겨진 요소들을 하나씩 람다식을 수행하는 일회성 반복자이다. 소개한 그대로 Stream의 내부 메서드를 통해 반복적인 일처리가 가능하며 일회성이.. 2023. 4. 18.
java.util.Optional<T> 이란? Java 8에서 추가된 Optional 클래스는 객체(T)를 감싸주는 Wrapper class이다. 사용 목적 객체(T)가 null이더라도 NullPointerException를 발생시키지 않고 값이 없을 때의 경우를 예외처리 할 수 있다. Optional 기본 예제 Optional optional = Optional.ofNullable("예외처리"); if(optional.isPresent()){ System.out.println(optional.get()); } Optional 활용 예제 Optional optional = Optional.ofNullable(getId()); String id = optional.orElse("Default"); System.out.println(id); // get.. 2021. 12. 22.
JAVA 성능 향상 시키기 개발을 하면 고민을 많이 하게 된다. 과연 내가 작성한 코드는 효율성이 좋은가? 어떻게 하면 효율적인 코드를 작성할 수 있을까? 물론 알고리즘과 자료구조를 잘 선택하여 개발하면 된다. 하지만 그 밖에 또 무엇이 있는지 알아보고 있다면 어떻게 해야하는지 공부해보았다. 1. String 대신 StringBuilder와 StringBuffer도 생각해보자. 일반적으로 사용하는 쿼리문 작성 방법 String query = ""; query += "select * "; query += "from ( "; query += "select column1, "; query += "column2, "; ... 이를 다음과 같이 StringBuilder를 사용하면 응답 시간과 메모리 사용량을 줄일 수 있다. StringBu.. 2021. 8. 11.
[Java] StringTokenizer란? 새로운 String 관련 매서드를 알아보자. StringTokenizer이란? StringTokenizer 클래스는 문자열을 사용자가 지정한 구분자(delim)로 쪼개주는 클래스. 그렇게 쪼개어진 문자열을 토큰(Token)이라 한다. StringTokenizer 생성자 public StringTokenizer(String str, String delim, boolean returnDelims); delim의 default값은 공백문자, delim 포함 여부를 returnDelims로 여부확인 StringTokenizer 매서드 StringTokenizer는 어떤 위치 토큰을 사용했는지 기억하고 있고 그 위치를 다음으로 옮김 int countTokens();// 남아있는 toekn 개수 반환 boolean.. 2021. 8. 2.
.class와 .java 확장자 .Java와 .class란? 먼저 다음 개념들을 살펴보자. .Java : 확장자가 java인 인간이 작성한 소스 코드 파일 .class : 소스 코드 파일인 .java 파일을 자바 컴파일러를 통해 byte code로 변환한 byte code 파일 JVM : 자바 컴파일러가 변환한 .class(bytecode)를 실행시키는 프로그램 시나리오 1. 결국 자바 컴파일러가 우리가 작성한 코드를 JVM이 읽을 수 있도록 .class 파일로 변환시켜준다. 2. JVM은 이제 .class 파일을 실행시켜 OS가 읽을 수 있도록 해주는 것이다. (JVM이 targetcode를 로드하고 필요한 기능 OS 호출하여 OS가 하드웨어를 제어한다.) JVM에 더 자세히 알고 싶으면 다음 링크를 참고하고 추가적으로 Code의 종.. 2021. 7. 21.
JVM(Java Virtual Machine) 이란? 본 포스팅은 학습 목적에 있습니다. 시작하는 말 JVM이라는 말을 접한 적이 있는가? JAVA를 처음 배울때 컴퓨터가 어떻게 이 언어를 알아듣고 구현한 코드가 실행되는지 궁금한 적이 있다. 그것은 바로 JVM이 해주는 것이었다! 그럼 JVM이 무엇인지 알아보자. JVM이란? JVM은 자바를 실행하기 위한 가상 컴퓨터라고 생각하면 된다(실제 컴퓨터보다는 소프트웨어로 구현한 것) JVM은 JAVA와 OS 사이의 중개자 역할로 OS에 독립적이고 재사용이 가능하다.(즉, JAVA 응용 프로그램은 JVM과 통신하고 통신하며 받은 명령을 OS가 이해할 수 있도록 변환 후 전달) JVM은 메모리 관리 및 가비지 컬렉션(Garbage Collection) 수행 JVM 구조 Class Loader 자바 컴파일러를 사용해.. 2021. 6. 24.
728x90