본문 바로가기

728x90

개발/JAVA

(19)
[Java] 리스트 비교 성능 최적화 리스트의 원소 비교는 자주 사용되는 작업 중 하나입니다. 이 글에서는 `validates`와 `values` 리스트의 비교 방법을 소개하고, 각각의 성능 차이를 분석합니다.리스트 비교 방법 3가지다음은 `values` 리스트의 모든 값이 `validates` 리스트에 포함되는지 확인하는 3가지 방법입니다. 각 방법은 동일한 결과를 반환하지만 성능에서 차이가 있습니다.1. `values.stream().allMatch(validates::contains)`첫 번째 방법은 `stream()`을 사용하여 `values`의 각 항목에 대해 `validates.contains()`를 호출하는 방식입니다. 이 방식은 리스트의 크기가 커질수록 성능이 떨어질 수 있습니다.String validateValue = "ap..
[Java] String equals, isEmpty, isBlank의 차이점 자바에서 문자열을 비교하거나 확인하는 방법으로 다양한 메서드가 제공됩니다. 그 중에서 equals(), isEmpty(), isBlank() 메서드는 자주 사용되는데, 각 메서드가 어떻게 다르게 동작하는지 이해하는 것이 중요합니다. 이 글에서는 각 메서드가 어떻게 동작하는지, 그리고 어떤 상황에서 적절하게 사용해야 하는지를 자세히 설명합니다.1. String.equals() 메서드String.equals() 메서드는 두 문자열의 내용이 동일한지를 비교합니다. 이 메서드는 문자열의 값이 동일한지 확인할 때 사용합니다. 중요한 점은 equals() 메서드는 대소문자를 구분한다는 것입니다. 또한, null 값을 비교할 때는 NullPointerException이 발생할 수 있으므로 주의해야 합니다.사용 예시:..
[Spring] MailService 사용법 Java에서 이메일을 보내기 위해서는 JavaMail API를 사용하거나 Spring Framework에서 제공하는 MailService를 활용할 수 있습니다. 이번 글에서는 Spring의 MailService를 이용한 이메일 발송 방법에 대해 설명합니다.1. 의존성 추가Spring에서 이메일을 보내기 위해서는 먼저 필요한 라이브러리를 pom.xml에 추가해야 합니다. Maven을 사용하는 경우 아래 의존성을 추가합니다: org.springframework spring-boot-starter-mail 2. 이메일 설정Spring Boot에서는 `application.properties` 또는 `application.yml` 파일을 사용하여 이메일 서버 설정을 할 수 있습니다. SM..
[Spring] StringUtils 사용법 Spring에서 문자열을 다룰 때 유용하게 사용할 수 있는 유틸리티 클래스인 `StringUtils`에 대해 알아보겠습니다. 이 클래스는 문자열을 처리하는 다양한 기능을 제공하여, 코드의 가독성을 높이고 반복적인 문자열 작업을 쉽게 처리할 수 있게 돕습니다.1. StringUtils란?StringUtils는 Spring Framework에서 제공하는 문자열 관련 유틸리티 클래스입니다. 이 클래스는 Apache Commons Lang의 `StringUtils`를 사용하므로, 문자열의 길이나 공백 처리, 대소문자 변환 등 자주 사용되는 문자열 작업들을 손쉽게 할 수 있습니다.2. StringUtils 주요 메서드Spring에서 제공하는 `StringUtils`의 주요 메서드는 다음과 같습니다:isEmpty(..
[Spring] JdbcTemplate 사용법 Java에서 데이터베이스에 접근할 때, JdbcTemplate을 사용하면 간편하게 데이터베이스 연동 작업을 처리할 수 있습니다. 이번 글에서는 JdbcTemplate을 활용한 기본적인 사용법을 소개합니다.JdbcTemplate이란?JdbcTemplate은 Spring Framework에서 제공하는 유틸리티 클래스입니다. 이 클래스는 데이터베이스에 접근하기 위해 JDBC API를 간소화하여 예외 처리 및 리소스 관리를 자동으로 처리해 줍니다. 이를 통해 개발자는 SQL 쿼리 실행, 데이터 매핑 등을 훨씬 간편하게 할 수 있습니다.1. 의존성 추가먼저, Spring 프로젝트에 JdbcTemplate을 사용하려면 의존성을 추가해야 합니다. Maven을 사용하는 경우 pom.xml 파일에 다음과 같은 의존성을 ..
[Java] String과 StringBuilder의 차이점 Java에서 문자열을 다룰 때 `String`과 `StringBuilder`는 자주 사용됩니다. 두 클래스는 모두 문자열을 처리하지만, 성능과 동작 방식에서 중요한 차이점이 존재합니다. 이 글에서는 `String`과 `StringBuilder`의 차이점에 대해 설명합니다.1. String 클래스String은 불변(immutable) 클래스입니다. 즉, 한 번 생성된 문자열은 수정할 수 없습니다. 문자열을 수정하려고 할 경우, 새로운 String 객체가 생성되고, 기존의 객체는 변경되지 않습니다. 이로 인해 성능상 불필요한 객체 생성이 발생할 수 있습니다.String 예시public class StringExample { public static void main(String[] args) { ..
Editplus Java Compiler 만들기 프로그램을 실행합니다. 메뉴 -> 도구 -> 사용자 도구 구성을 누릅니다. 사용자가 편리하도록 두 가지 도구를 설정합니다. - 자바 컴파일 - 자바 실행 사용자 도구 구성을 누르신 후에 오른쪽의 추가->프로그램 버튼을 눌러서 다음과 같은 화면이 나오면 각종 설정을 적은 후에 확인을 누릅니다. 자바 컴파일과 마찬가지로 자바 실행도 같은 방법으로 추가를 합니다. 아래 그림을 따라서 똑같이 추가하세요. 추가 후 ‘보기 -> 도구모음/참 -> 사용자 도구모음‘을 선택해 추가한 도구모음을 나타나게 합니다. (명령: “C:\Program Files\Java\jdk1.5.0_04\bin\javac.exe”) (명령: “C:\Program Files\Java\jdk1.5.0_04\bin\java.exe”) 단 명령줄의..
JScrollPane 자동 스크롤 채팅프로그램을 짜는데 자동으로 스크롤이 되지 않는것을 발견 자바스터디에 있는 Q & A 게시판 보고 해결했습니다. 원래 스크롤페인은 자동스크롤이 되게 구현되어 있는데 채팅프로그램과 같이 쓰레드를 사용하는 곳에선 스크롤내의 컴퍼넌트 값은 변화하나 스크롤은 변화되지 않는다고 합니다. 이를 구현하기 위해선 변수로 JScrollPane txtScroll; JTextArea txtArea; 선언되었다고 치면. txtArea.append("내용"); //내용이 추가될때마다 아래문장을 호출 txtScroll.getVerticalScrollBar().setValue(txtScroll.getVerticalScrollBar().getMaximum());

728x90