[JAVA] MySQL과 JAVA 데이터 타입표
·
STUDY/JAVA
ROUND(컬럼 / 1000.0) AS 별칭MySQL에서 위 쿼리 조회결과가 컬럼 타입은 INT였고 컬럼값에 예시로 2200 이 들어간다면 결과는 2인데자바에서 object가 Integer로 되어있지않고, 타입이  BigDecimal로 되어있어서 계속 의아 해서 찾아본 내용입니다.  1.부동 소수점 연산: 1000.0은 부동 소수점 숫자입니다. INT 타입의 컬럼을 1000.0으로 나누면, MySQL은 이 연산을 부동 소수점으로 처리합니다. 예를 들어, 2200 / 1000.0의 결과는 2.2가 됩니다. 이 과정에서 소수점이 포함된 결과가 생성됩니다.2.ROUND 함수의 동작: ROUND() 함수는 입력된 숫자를 지정된 자릿수까지 반올림하지만, 입력된 숫자의 데이터 타입을 변경하지는 않습니다. 즉, 부동..
[JAVA] Date Calender SimpleDateFormat 과 java.time 패키지
·
STUDY/JAVA
Java 날짜 및 시간 클래스Java에서 날짜와 시간을 다루기 위해 여러 클래스가 제공됩니다. 이 글에서는 java.util.Date, java.util.Calendar, java.text.SimpleDateFormat, 그리고 Java 8부터 도입된 java.time 패키지에 대해 설명합니다.1. Date 클래스java.util.Date 클래스는 특정 시점을 나타내는 데 사용됩니다. 이 클래스는 날짜와 시간을 밀리초 단위로 표현합니다. Date 객체는 생성 시점의 날짜와 시간을 저장하며, 다양한 메서드를 통해 날짜와 시간 정보를 얻거나 조작할 수 있습니다. 그러나 Date 클래스는 불변(immutable) 객체가 아니며, 여러 메서드가 deprecated(사용 중단) 되었기 때문에, Java 8 이후에..
[JAVA] java.nio 패키지 총정리
·
STUDY/JAVA
java.nioNIO New Input Ouput 의 약자기존 java.io 패키지를 개선한 새로운 입출력 패키지JDK 7부터는 파일 I/O를 개선한 NIO2도 등장java.nio와 그것의 서브패키지 형태java.nio.file, java.nio.channels, java.nio.charset 등File클래스보다 다양한 기능을 제공하는 PathFiles의 static 메소드를 통한 파일/디렉터리의 조작, 파일의 읽기/쓰기파일입력과 파일출력이 모두가능한 FileChannel클래스버퍼링기능, 멀티스레드에안전비동기식 파일입출력을 위한 AsynchronousFileChannel클래스non-blocking방식 파일입출력 Path인터페이스java.nio.file 패키지에 존재하며 java.io.File 클래스를 대..
[Java] 파일 읽고 쓸 때 UTF-8 인코딩 처리 방법 정리
·
STUDY/JAVA
Java에서 한글 파일 입출력Java에서 한글 파일을 다룰 때는 문자 인코딩을 UTF-8로 명시적으로 지정하여 한글이 깨지지 않도록 해야 합니다. Java는 다양한 클래스에서 문자 인코딩을 설정하는 방식을 지원하며, 표준 인코딩 집합인 StandardCharsets를 사용하면 간편하게 UTF-8 인코딩을 지정할 수 있습니다. 각 클래스별로 한글 처리 방법과 예제를 아래에 정리하였습니다. StandardCharsetsStandardCharsets는 Java에서 제공하는 클래스 중 하나로, 표준 문자 집합을 정의하는 상수들을 제공합니다. StandardCharsets.UTF_8을 통해 UTF-8 인코딩을 간편하게 지정할 수 있으며, 하드코딩한 문자열 "UTF-8" 대신 사용할 수 있어 오류를 줄여줍니다. S..
[Java] Javadoc 활용한 자바 주석 처리
·
STUDY/JAVA
JavaDoc란?Javadoc은 자바 코드에 대한 문서를 생성하는 도구입니다. 주석을 통해 코드의 기능, 매개변수, 반환 값 등을 설명하고, 이를 HTML 형식의 문서로 만들어줍니다. 컴파일시 모든 주석은 지워지므로 프로그램 성능에는 전혀 영향이 없습니다.참고로, IDE Tool에서 /** Enter를 치면 해당 JavaDoc를 바로 쓸 수 있습니다. JavaDoc Tags DescriptionExample@version구현체(클래스, 메소드,변수 등)의 버전 @author작성자 @deprecated해당 구현체가 곧 삭제, 업데이트 중단을 의미 @since해당 구현체가 추가된 버전 @see외부 링크나 텍스트, 다른 필드나 메소드를 링크할 때 사용외부 링크 : a href 태그 이용내부 참조 : 패키지명#..
[Java] 바이트 크기를 사람이 읽기 편한 형식으로 변환 (kb, mb, gb ...)
·
STUDY/JAVA
import java.text.NumberFormat;public class FileSizeFormatter { /** * 주어진 바이트 크기를 사람이 읽기 쉬운 파일 크기 형식으로 변환합니다. * * @param byteSize 파일 크기 (바이트 단위) * @param floatDigits 소수점 아래 자리수 (0이면 자동 결정) * @return 사람이 읽기 쉬운 형식의 파일 크기 문자열 */ public static String getFileSize(long byteSize, int floatDigits) { double size = byteSize; // 바이트 크기를 double로 변환하여 저장 // 파일 크기 단..
[JAVA] jdk 2개 이상 설정 방법 (java 버전 여러개 사용하기)
·
STUDY/JAVA
1. 원하는 jdk버전을 설치합니다https://jdk.java.net/java-se-ri/11-MR2 Java Platform, Standard Edition 11 Reference ImplementationsJava Platform, Standard Edition 11 Reference Implementations The official Reference Implementation for Java SE 11 (JSR 384) is based solely upon open-source code available from the JDK 11 Project in the OpenJDK Community. This Reference Implementation ajdk.java.net 2. .bat파일 생성메모..
[JAVA] 자바 쉘 스크립트 실행 방법
·
STUDY/JAVA
쉘(Shell)이란쉘 명령어는 쉽게 말해 컴퓨터에 특정 작업을 수행하라고 지시하는 명령어입니다. 마치 우리가 다른 사람에게 "문 좀 닫아줘."라고 말하는 것과 비슷하게, 쉘 명령어를 통해 컴퓨터에게 파일을 복사하거나, 프로그램을 실행하거나, 시스템 정보를 확인하는 등 다양한 작업을 시킬 수 있습니다. Window에서는 Powershell을 활용하고 Mac에서는 Terminal을 활용하여 Shell command를 실행할 수 있다. Shell command를 더 복잡하고 체계적으로 사용하기 위해 Shell script파일을 작성하고 실행 시킬 수 있다. 다만 Shell script는 Java가 가지는 다양한 기능들을 제공하지 않기에 Java언어로 복잡한 로직을 구성하고 Shell command가 필요한 부..