[Ant] Windows 10에서 ant build 시, URI 관련 에러

“java.net.URISyntaxException: Illegal character in query at index” Issue) build하는 프로젝트 폴더 Path에 공백이 존재하는 경우 발생 ex) C:\Program Files\project\~ Sol) 공백 제거 https://stackoverflow.com/questions/2366270/what-does-uri-has-an-authority-component-mean Issue) URI Path가 슬래시 2개(“//”)로 시작하는 경우 Sol) build.xml 파일에서 ” ” 부분에서 “// → /”로 수정 RFC3986 참고 “When authority is not present, the path cannot begin with two slash characters  … 더 읽기

Apache Ant 란?

자바 기반의 빌드 도구 (현재 자바 개발 환경에서 표준 빌드 도구) Apache Ant 란? Ant는 Tomcat처럼 Jakarta 프로젝트의 일환으로 만들어진 산출물로 C에서 말하는 make파일과 같은 Java 프로그램용 build이다. 기존의 make, gnumake와 같은 build tool도 존재하지만 ANT는 OS와 상관없이 사용하게 되어 있다. 또한 ANT는 Configuration파일이 XML로 되어 있어 애플리케이션 구조에 맞게 적용하기에 편리하게 되어 있다. 빌드(Build)란? ANT의 주요 … 더 읽기

[JAVA] JVM(Java Virtual Machine)과 Garbage Collection

JVM이란? JVM이란 JAVA Virtual Machine, 자바 가상 머신의 약자를 따서 줄여 부르는 용어이다 (가상머신이란 프로그램의 실행하기 위해 물리적 머신과 유사한 머신을 소프트웨어로 구현한 것이다.) JVM 역할은 자바 애플리케이션을 클래스 로더를 통해 읽어 들여 자바 API와 함께 실행하는 것이다. 그리고 JVM은 JAVA와  OS사이에서 중개자 역할을 수행하여 JAVA가 OS에 구애받지 않고 재사용을 가능하게 해준다. 그리고 가장 중요한 메모리관리, Garbage collection을 수행한다. 그리고 JVM은 스택기반의 가상머신이다. ARM 아키텍쳐 같은 하드웨어는 … 더 읽기

[JAVA] Multi-Thread 환경에서의 개발

Multi-Thread 환경에서의 개발 개발을 시작하는 입장에서 멀티 스레드를 고려한 프로그램을 작성할 일이 별로 없고 실제로 부딪히기 힘든 문제이기 때문에 많은 입문자들이 잘 모르고 있는 부분 중 하나라고 생각한다. 하지만 이 부분은 정말 중요하며 고려하지 않았을 경우 엄청난 버그를 양산할 수 있기 때문에 정말 중요하다. Field member 필드(field)란 클래스에 변수를 정의하는 공간을 의미한다. 이곳에 변수를 만들어두면 … 더 읽기

[JAVA] Wrapper Class

Wrapper class 기본 자료형(Primitive data type)에 대한 클래스 표현을 Wrapper class 라고 한다. Integer, Float, Boolean 등이 Wrapper class 의 예이다. int 를 Integer 라는 객체로 감싸서 저장해야 하는 이유가 있을까? 일단 컬렉션에서 제네릭을 사용하기 위해서는 Wrapper class 를 사용해줘야 한다. 또한 null 값을 반환해야만 하는 경우에는 return type 을 Wrapper class 로 지정하여 null을 반환하도록 할 수 있다. 하지만 이러한 상황을 … 더 읽기

[JAVA] Generic(제너릭) 이란?

Generic 제네릭은 자바에서 안정성을 맡고 있다고 할 수 있다. 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에서 사용하는 것으로, 컴파일 과정에서 타입체크를 해주는 기능이다. 객체의 타입을 컴파일 시에 체크하기 때문에 객체의 타입 안전성을 높이고 형변환의 번거로움이 줄어든다. 자연스럽게 코드도 더 간결해진다. 예를 들면, Collection 에 특정 객체만 추가될 수 있도록, 또는 특정한 클래스의 특징을 갖고 있는 … 더 읽기

[JAVA] Annotation(어노테이션) 이란?

Annotation 어노테이션이란 본래 주석이란 뜻으로, 인터페이스를 기반으로 한 문법이다. 주석과는 그 역할이 다르지만 주석처럼 코드에 달아 클래스에 특별한 의미를 부여하거나 기능을 주입할 수 있다. 또 해석되는 시점을 정할 수도 있다.(Retention Policy) 어노테이션에는 크게 세 가지 종류가 존재한다. JDK 에 내장되어 있는 built-in annotation과 어노테이션에 대한 정보를 나타내기 위한 어노테이션인 Meta annotation 그리고 개발자가 직접 만들어 내는 Custom Annotation이 있다. … 더 읽기