일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- IntelliJ
- 네트워크
- springboot
- docker
- spring
- 티스토리챌린지
- SQL
- 넥사크로
- java
- JAVA8
- 책
- PostgreSQL
- MariaDB
- git
- DBMS
- 후기
- mysql
- 명령어
- oracle
- Javascript
- 독서
- pandas
- Python
- mssql
- github
- Linux
- 리눅스
- 인터페이스
- 오블완
- 책추천
- Today
- Total
목록JAVA (61)
hanker

Java에서 int 타입의 정수를 String으로 변환하는 방법을 알아보자 int → String String.valueOf(int i) String.valueOf는 int를 String으로 변환하는 가장 일반적인 방법 중 하나이다. public static void main(String[] args) { int number = 35; String str = "35"; String intToStr = String.valueOf(number); if(str.equals(intToStr)){ System.out.println("O"); } if(!str.equals(number)){ System.out.println("X"); } } 결과 Integer.toString(int i) Integer.toStri..

Java 언어 문자열 처리중 초기부터 제공되었던 startsWidth() 메서드에 대해 알아보자. startsWith()Java에서 String 객체가 특정 문자열로 시작하는지 확인할 때 사용되는 메서드이다. startsWidth() 는 boolean 값을 반환하며, 해당 문자열이 주어진 접두사로 시작하면 true, 그렇지 않으면 false를 반환한다. 위 사진에 메서드를 보면 매개변수에 prefix(시작여부를 확인할 문자열)가 들어가고 toffset이라는 매개변수가 들어가는데 이는 선택사항이다. 입력하지 않으면 첫 문자열을 검색하고, 숫자를 입력하면 해당 위치부터 확인한다. 예시를 보면서 확인해보자. public static void main(String[] args) { String s = "Hank..

개발을 하다보면 뭔가 정신줄 놓고 작업할 때가 있는데, 그 시점에 제일 많이 등장하는 예외이다. 이 예외가 왜 나는지? 안나게 하려면 어떻게 해야하는지 알아보자 발생 이유 발생이유는 여러가지가 있는데, 찬찬히 알아보자 1. Java 9 에서 추가된 List.of() 를 사용할 때, List.of()로 생성한 리스트는 읽기 전용이라서 추가/수정/삭제가 안되는데, 이를 하려고 시도하다가 발생 public static void main(String[] args) { List list = List.of("A", "B", "C"); list.remove("C"); // UnsupportedOperationException 발생 } 2. Spring JPA 에서 @Transactional(readOnly = tru..

Java에서 값 비교는 여러 가지 방법으로 수행하게 되는데,기본적으로 값 비교는 두 가지(기본 데이터 타입(primitive type), 객체(Object))로 나뉜다. 각 경우의 비교 방식을 알아보자 기본 데이터 타입(Primitive Type) 기본 데이터 타입은 int, char, boolean, float, double 등의 타입을 포함하며, == 연산자를 사용해 값을 비교한다.public static void main(String[] args) { String a = "hanker"; String b = "hanker2"; if (a == b) { System.out.println("a와 b는 같습니다."); } else { System.out.p..

https://hanke-r.tistory.com/198 JAVA - HttpUrlConnection, HttpsUrlConnection (httpMethod GET, POST) (1)이전에 썻던 내용인데 Url Connection 하여 데이터 송수신 할 경우에, GET방식으로 보낼지 POST 방식으로 보낼지 설정한다. 대부분 API에서 어떤 방식으로 보내라고 설명되어있는데, 대표적인 GET/POSThanke-r.tistory.com이전에 Http/HttpsUrlConnection에서 HttpMethod (Get, Post) 방식을 다뤘었는데, 이번 글에서는 Header에 실어서 보내는 데이터 타입에 대해서 알아보자 header에 실어서 보내는 데이터 타입이라는 말이 어렵게 보이지만 쉽게 얘기하면 "내가..

https://hanke-r.tistory.com/229 JAVA - 멀티쓰레드(Multi Thread) 반복문 병렬처리 방법개발을 하다보면 반복문은 무수히 많이 쓰인다.반복문이 반복횟수가 많아지면 시간이 오래걸리고 보다 더 빠르게 처리해야 되는데, 반복문 안에 있는 코드를 더 이상 최적화 시킬 수 없을 경우hanke-r.tistory.com 이전 글에 이어 멀티쓰레드 처리 시 연산처리를 하는 방법을 알아보자. 연산 처리할 경우에 ( java.util.concurrent.atomic ) 패키지중 AtomicInteger 클래스를 사용하려고 한다.AtomicInteger 클래스는 Java 5 버전 이상부터 사용 가능하다.또한 일반 int와 달리 여러 스레드에서 동시에 접근해도 값이 유지되고, 동기화(sy..

개발을 하다보면 반복문은 무수히 많이 쓰인다.반복문이 반복횟수가 많아지면 시간이 오래걸리고 보다 더 빠르게 처리해야 되는데, 반복문 안에 있는 코드를 더 이상 최적화 시킬 수 없을 경우에는 좌절하게 된다..( 물론 단순 연산처리나 작업 자체가 복잡하지 않으면 멀티쓰레드 오버헤드 때문에 병렬 처리의 성능 이점이 사라지고 더 느려질 수 있음 ) 그럴 때 사용하게 되는 멀티쓰레드 방식을 정리해본다. 1. Parallel Stream (병렬 스트림) 2. ExecutorService - Parallel Stream Java 8버전에서 제공하는 Stream API에는 병렬처리할 수 있는 기능이 있다.스트림을 병렬로 처리하면 내부적으로 포크-조인 풀(Fork-Join Pool)을 사용하여 멀티 코어를 활용한다. ..

특정 디렉터리 안에 위치한 디렉터리 리스트를 정렬해서 가져오는 코드를 알아보자. Java 1.8을 사용했고, 1.8 이전 버전 사용 예도 알아보자. 우선 특정 디렉터리(D:\\hanker)를 살펴보자.디렉터리 7개와 파일 7개 있다. 이 중에서 디렉터리만 추출해보자.public static void main(String[] args) throws Exception { // 특정 디렉터리 경로 설정 String directoryPath = "D:\\hanker"; File directory = new File(directoryPath); // 경로가 디렉터리인지 확인 if (!directory.isDirectory()) { System.out.println("Not..

람다라 불리는 이 기능은 java 8 버전에서 도입된 기능으로, 익명 함수(anonymous function)를 더 간결하게 작성할 수 있게 해준다.(여기서 익명함수란 일회성 함수를 뜻한다. 재사용하지 않고 특정 위치에서 일시적으로 필요한 동작을 정의할 때 사용)코드의 가독성을 높이고, 중복성을 줄이는데 유용하다. 간단하게 문자열 출력을 하면서 비교해보면서 알아보자.기존 방식// 기존 표현식new Thread(new Runnable() { @Override public void run() { System.out.println("Hello, World!"); }}).start();새로운 스레드를 만들어 Hello, World를 출력하는 내용이다.위 코드를 람다식으로 변경해보자..

Java의 Stream은 Java 8에서 도입된 기능으로, 데이터 컬렉션(List, Set, Map 등) 또는 배열에 대해 다양한 연산을 처리할 수 있다. Stream은 중간 연산(Intermediate Operation)과 최종 연산(Terminal Operation)으로 나뉜다.중간연산은 조건, 최종연산은 결과 값이다.1. 중간 연산 (Intermediate Operation)filter(Predicate): 조건에 맞는 요소만을 필터링map(Function): 요소를 다른 타입으로 변환sorted(): 요소를 정렬distinct(): 중복 요소 제거limit(long n): 처음 n개만을 추출skip(long n): 처음 n개를 건너뜀2. 최종 연산 (Terminal Operation)forEac..