본문 바로가기
반응형

IT/Java4

Bash 스크립트에서 Java 실행 시 args.length가 예상치 못하게 나오는 문제 해결 (CRLF vs LF) 리눅스 환경에서 Bash 스크립트를 통해 Java 프로그램을 실행할 때, 인자를 전달하지 않았는데도 Java의 args.length가 1로 나오는 이상한 상황을 겪은 적 있나요? 저도 최근에 이 문제를 마주쳤고, 원인을 파악하고 해결한 과정을 공유하려고 합니다. 특히, Windows와 Linux 간 줄 끝 문자(CRLF vs LF) 차이에서 비롯된 문제였어요. 이 글에서는 문제 원인과 해결 방법을 간단히 정리해드릴게요!문제 상황run.sh라는 Bash 스크립트를 통해 Java 프로그램을 실행했어요. 스크립트는 다음과 같이 작성되어 있었습니다:java -cp classpath -Dprop=value ki.method $1 $2이 스크립트를 인자 없이 실행(./run.sh)했는데, Java 코드에서 args.. 2025. 10. 2.
스타터 Starter 는 Spring Boot 를 구성하는 하나의 요소이고, 각 라이브러리를 세팅할 필요 없이 의존관계가 세트로 정리되어 있는 모듈이다. ex) spring-boot-starter-web 2023. 12. 17.
interface 의 구현 일반 클래스와 추상 클래스는 extends 를 사용해서 상속을 하며,인터페이스 (interface) 는 implements 를 이용해서 구현한다. 인터페이스 내에 접근 지정자를 명시하지 않으면멤버 메서드는 디폴트로 public abstract 가 되며멤버 변수는 디폴트로 public static final 이 된다. 인터페이스에 멤버 변수를 사용하면 자동으로public static final 이 된다 자바에서 상수를 만들기 위해서는 final 이라는 키워드를 사용한다 출처 : 소설같은 자바 Third Edition 2013. 8. 14.
자바의 특징 1. 자바는 플랫폼 독립적(Platform Independent)이다2. 자바는 컴파일 언어다3. 자바는 인터프리터 언어다 자바로 컴파일을 하면 기계어로 바꾸기 쉬운 중간 단계(Byte Code) 까지만 컴파일 한다.Byte Code 는 .java 파일을 컴파일 해서 만든 .class 파일이다. Virtual Machine (가상머신)은 Byte Code를 해석한 후 실행한다이 가상머신 덕분에 자바는 Platform Indefpendent 한 것이다하지만 동적으로 Byte Code 를 해석하기 때문에 속도가 느리다 2013. 7. 17.
반응형