Languague/Java(108)
-
Languague/Java
2022.04.12
9
[Java] 자바(JDK) 환경변수 설정방법 (for Windows)
자바(Java) 환경변수 설정 이유 환경 변수란 윈도우 운영체제에서 사용하는 설정 정보가 담겨있는 변수입니다. 윈도우에서 명령 프롬프트 (cmd)로 파일을 찾거나 실행을 시킬 때 현재 위치에 파일이 존재하지 않으면 위와 같이 "내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다." 라는 에러가 발생하며 실행하려는 파일이 존재하는 위치로 이동해야만 합니다. 하지만 자바 실행파일의 경로가 환경변수 path에 제대로 세팅되어 있다면 어느 곳에서 나 jdk의 bin에 있는 프로그램들을 실행시킬 수 있습니다. 즉 자바를 설치한 후 환경변수를 설정해줘야 하는 이유는 운영체제 어디에서든지 자바를 인식할 수 있도록 하는 것이 목적입니다. 특히 jdk bin폴더에 있는 javac 컴파일러의 경우..
-
Languague/Java
2022.04.08
[Java] javac 명령어를 활용하여 자바(.java) 파일 컴파일하기
자바에서 컴파일이라고 생각하시면 이클립스와 같은 IDE를 활용하여 컴파일하는 것만 있는 것은 아니고 jdk의 javac 컴파일러를 활용하여 cmd 창으로 직접 컴파일을 진행하실 수도 있습니다. 이번 포스팅에서는 cmd 명령 프롬프트를 활용하여 jdk에 내장되어있는 javac 컴파일러를 통해 컴파일을 하는 방법에 대해 포스팅해보도록 하겠습니다. javac 명령어를 활용하여 자바(.java) 파일 컴파일하기 1. 메모장등을 활용하여 컴파일하고자 하는 자바(. java) 파일을 생성합니다. 저는 메모장으로 위와 같이 하나 만들어봤습니다. 2. cmd 명령 프롬프트창을 켠 후 cd [자바 파일이 있는 위치]로 이동합니다. 3. javac 파일명.java 명령어를 입력하여 컴파일합니다. ※ 만약 이 과정에서 ja..
-
Languague/Java
2022.04.07
[Java] 자바 클래스(.class)파일 컴파일 버전 확인하기
자바를 빌드하게 되면 클래스(class) 파일이 생성됩니다. 이 클래스 파일은 같은 Java 소스여도 JDK 버전에 따라 다르게 작성될 수 있는데요. 만약 실행하는 JVM이 지원하지 못하는 java class version을 로드하려고 할 경우 java.lang.UnsupportedClassVersionError 에러가 발생할 수 있습니다. 이처럼 빌드된 클래스 파일의 버전과 실행할 JVM의 버전이 다르면 에러가 날 수 있기 때문에 서로 맞춰주시는 것이 좋습니다. jdk의 bin폴더 안에 있는 javap를 사용하시면 버전을 확인하실 수 있습니다. 클래스 파일 버전 확인하는 방법 1. 버전을 확인하고 싶은 class 파일이 있는 경로를 복사합니다. 2. cmd(명령 프롬프트) 창을 연 뒤 cd 명령어를 사..
-
Languague/Java
2022.03.18
[Java] 자바(.jar, .class 파일) 디 컴파일 하는법
자바로 작성되어있는 .java 파일을 컴파일하게 되면 바이트코드인 .class 클래스 파일이 생성됩니다. 이렇게 생성된 class 파일을 열면 JVM에서만 해석할 수 있는 알 수 없는 코드들로 작성되어 있어 개발자 입장에서는 알아볼 수가 없는데요. 그렇기 때문에 class 파일의 내용을 확인하기 위해서는 class 파일을 다시 java 파일로 바꿔주는 디컴파일 과정이 필요합니다. 자바 디컴파일러 JD-GUI 다운로드 & 사용법 JD-GUI는 현재 가장 널리 사용되는 자바 디컴파일러로 가벼우면서도 강력한 기능을 가지고 있습니다. 배포파일의 class 파일 확인이나, 라이브러리 jar파일 안에 있는 파일들의 코드를 확인하고 싶을 때 유용하게 사용됩니다. 1. 아래 링크된 사이트에 들어간 뒤 JD-GUI의 D..
-
Languague/Java
2022.03.12
[Java] 메모리 구조 메소드(Method), 스택(Stack), 힙(Heap) 영역에 대하여
자바뿐만이 아니라 모든 프로그램이 구동되기 위해서는 프로그램 구동시에 운영체제로부터 메모리(RAM) 공간을 할당받아야 합니다. 이러한 메모리는 무제한이 아니라 한정되어 있습니다. 그렇기에 한정된 메모리를 최대한 효율적으로 사용하는 프로그램을 작성해야 하고 프로그램을 잘못 작성하게되면 프로그램이 매우 느려진다던지, 프로그램이 갑자기 꺼지는등의 각종 문제가 발생할 수 있습니다. 자바로 만들어진 프로그램은 JVM을 통해 실행되고 이 JVM은 프로그램을 동작할 때 OS로부터 메모리를 할당합니다. JVM에 대해서 좀 더 자세히 알고 싶다면 아래 글을 참고해주세요. [Java] 자바 가상머신 JVM(Java Virtual Machine) 총정리 [Java] 자바 JVM 내부 구조와 메모리 구조에 대하여 자바 메모리..
-
Languague/Java
2022.03.09
1
[Java] 가비지 컬렉션(GC, Garbage Collection) 총정리
가비지 컬렉션(Garbage Collection)이란? 가비지 컬렉션은 영어로 Garbeage Collection으로 줄여서 GC라고도 부릅니다. 가비지 컬렉션은 자바의 메모리 관리 방법 중의 하나로 JVM의 Heap 영역에서 동적으로 할당했던 메모리 영역 중 필요 없게 된 메모리 영역을 주기적으로 삭제하는 프로세스를 말합니다. C나 C++에서는 이러한 가비지 컬렉션이 없어 프로그래머가 수동으로 메모리 할당과 해제를 일일이 해줘야 하는 반면 Java는 JVM에 탑재되어 있는 가비지 컬렉터가 메모리 관리를 대행해주기 때문에 개발자 입장에서 메모리 관리, 메모리 누수(Memory Leak) 문제에서 대해 완벽하게 관리하지 않아도 되어 오롯이 개발에만 집중할 수 있다는 장점이 있습니다. 가비지 컬렉션의 단점 ..
-
Languague/Java
2022.03.07
10
[Java] 자바 JVM 내부 구조와 메모리 구조에 대하여
저번 포스팅에서는 JVM에 대해서 간략하게 알아보는 시간을 가졌다면 이번 포스팅에서는 JVM의 내부 구조에 대해 좀 더 자세하게 알아보도록 하겠습니다. 혹시 JVM의 정의와 왜 필요한지 궁금하시다면 아래의 글을 참고하여주세요. [Java] 자바 가상 머신 JVM(Java Virtual Machine) 총정리 [Java] 자바 가상머신 JVM(Java Virtual Machine) 총정리 JVM(Java Virtual Machine)이란? 자바 가상 머신 JVM(Java Virtual Machine)은 자바 프로그램 실행환경을 만들어 주는 소프트웨어입니다. 자바 코드를 컴파일하여 .class 바이트 코드로 만들면 이 코드가 자바 coding-factory.tistory.com 자바 가상 머신(JVM)의 동..
-
Languague/Java
2022.03.06
4
[Java] 자바 가상머신 JVM(Java Virtual Machine) 총정리
JVM(Java Virtual Machine)이란? 자바 가상 머신 JVM(Java Virtual Machine)은 자바 프로그램 실행환경을 만들어 주는 소프트웨어입니다. 자바 코드를 컴파일하여 .class 바이트 코드로 만들면 이 코드가 자바 가상 머신 환경에서 실행됩니다. JVM은 자바 실행 환경 JRE(Java Runtime Environment)에 포함되어 있습니다. 현재 사용하는 컴퓨터의 운영체제에 맞는 자바 실행환경 (JRE)가 설치되어 있다면 자바 가상 머신이 설치되어 있다는 뜻입니다. Java는 어떠한 플랫폼에 영향을 받지 않는다. JVM을 사용함으로써 얻는 가장 큰 이점이 무엇일까요? JVM을 사용하면 하나의 바이트 코드(.class)로 모든 플랫폼에서 동작하도록 할 수 있습니다. .cl..
-
Languague/Java
2022.03.05
1
[Java] 자바 JDK, JRE의 차이점(JDK란? JRE란?)
자바를 처음 설치하면 Java 폴더에 아래와 같이 JDK와 JRE 가 각각 설치되는 것을 보실 수 있습니다. 그렇다면 이 JDK와 JRE의 역할은 무엇일까요? 이번 포스팅에서는 JDK, JRE 용어에 대해 정리해보도록 하겠습니다. JRE, JDK 용어정리 JRE(Java Runtime Environment)란? JRE는 자바 실행 환경(Java Runtime Environment)의 약자로 자바로 만들어진 프로그램을 실행시키는데 필요한 라이브러리들과 각종 API, 그리고 자바 가상 머신 (JVM)이 포함되어 있습니다. JRE는 자바로 "개발(쓰기)은 안되고 실행(읽기)만 된다"라고 생각해주시면 될 것 같습니다. JDK(Java Development Kit)란? JDK는 자바 개발키트(Java Develo..
-
Languague/Java
2022.03.04
[Java] 자바 업데이트 알림 끄기(제거) 하는 방법
Java는 항상 최신의 상태를 유지하고 있는 것이 좋지만 일단 자바가 설치되어 프로그램이 정상적으로 구동만 되면 상관없다고 생각하는 경우가 많기 때문에 대부분 업데이트를 신경 쓰지 않는 경우들이 많습니다. 오히려 매번 자바의 업데이트가 생길 때마다 아래의 사진처럼 "Java Update 사용 가능 새 버전의 Java를 설치할 준비가 되었습니다. 계속하려면 여기를 누르십시오." 라는 알림이 뜨는 것이 귀찮다고 생각하는 경우가 많죠. 이럴 때는 자바의 자동 업데이트 확인 기능을 꺼서 알림이 안 오도록 해줄 수 있습니다. 아래에서 소개드리는 2가지 방법 중 하나를 선택해서 진행하시면 됩니다. 자바 자동 업데이트 사용 하지 않기 1. 윈도우 작업표시줄의 검색창에서 제어판을 검색한 뒤 실행시킵니다. 2. 제어판에..
-
Languague/Java 2022.04.12 9[Java] 자바(JDK) 환경변수 설정방법 (for Windows) 자바(Java) 환경변수 설정 이유 환경 변수란 윈도우 운영체제에서 사용하는 설정 정보가 담겨있는 변수입니다. 윈도우에서 명령 프롬프트 (cmd)로 파일을 찾거나 실행을 시킬 때 현재 위치에 파일이 존재하지 않으면 위와 같이 "내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다." 라는 에러가 발생하며 실행하려는 파일이 존재하는 위치로 이동해야만 합니다. 하지만 자바 실행파일의 경로가 환경변수 path에 제대로 세팅되어 있다면 어느 곳에서 나 jdk의 bin에 있는 프로그램들을 실행시킬 수 있습니다. 즉 자바를 설치한 후 환경변수를 설정해줘야 하는 이유는 운영체제 어디에서든지 자바를 인식할 수 있도록 하는 것이 목적입니다. 특히 jdk bin폴더에 있는 javac 컴파일러의 경우..
-
Languague/Java 2022.04.08[Java] javac 명령어를 활용하여 자바(.java) 파일 컴파일하기 자바에서 컴파일이라고 생각하시면 이클립스와 같은 IDE를 활용하여 컴파일하는 것만 있는 것은 아니고 jdk의 javac 컴파일러를 활용하여 cmd 창으로 직접 컴파일을 진행하실 수도 있습니다. 이번 포스팅에서는 cmd 명령 프롬프트를 활용하여 jdk에 내장되어있는 javac 컴파일러를 통해 컴파일을 하는 방법에 대해 포스팅해보도록 하겠습니다. javac 명령어를 활용하여 자바(.java) 파일 컴파일하기 1. 메모장등을 활용하여 컴파일하고자 하는 자바(. java) 파일을 생성합니다. 저는 메모장으로 위와 같이 하나 만들어봤습니다. 2. cmd 명령 프롬프트창을 켠 후 cd [자바 파일이 있는 위치]로 이동합니다. 3. javac 파일명.java 명령어를 입력하여 컴파일합니다. ※ 만약 이 과정에서 ja..
-
Languague/Java 2022.04.07[Java] 자바 클래스(.class)파일 컴파일 버전 확인하기 자바를 빌드하게 되면 클래스(class) 파일이 생성됩니다. 이 클래스 파일은 같은 Java 소스여도 JDK 버전에 따라 다르게 작성될 수 있는데요. 만약 실행하는 JVM이 지원하지 못하는 java class version을 로드하려고 할 경우 java.lang.UnsupportedClassVersionError 에러가 발생할 수 있습니다. 이처럼 빌드된 클래스 파일의 버전과 실행할 JVM의 버전이 다르면 에러가 날 수 있기 때문에 서로 맞춰주시는 것이 좋습니다. jdk의 bin폴더 안에 있는 javap를 사용하시면 버전을 확인하실 수 있습니다. 클래스 파일 버전 확인하는 방법 1. 버전을 확인하고 싶은 class 파일이 있는 경로를 복사합니다. 2. cmd(명령 프롬프트) 창을 연 뒤 cd 명령어를 사..
-
Languague/Java 2022.03.18[Java] 자바(.jar, .class 파일) 디 컴파일 하는법 자바로 작성되어있는 .java 파일을 컴파일하게 되면 바이트코드인 .class 클래스 파일이 생성됩니다. 이렇게 생성된 class 파일을 열면 JVM에서만 해석할 수 있는 알 수 없는 코드들로 작성되어 있어 개발자 입장에서는 알아볼 수가 없는데요. 그렇기 때문에 class 파일의 내용을 확인하기 위해서는 class 파일을 다시 java 파일로 바꿔주는 디컴파일 과정이 필요합니다. 자바 디컴파일러 JD-GUI 다운로드 & 사용법 JD-GUI는 현재 가장 널리 사용되는 자바 디컴파일러로 가벼우면서도 강력한 기능을 가지고 있습니다. 배포파일의 class 파일 확인이나, 라이브러리 jar파일 안에 있는 파일들의 코드를 확인하고 싶을 때 유용하게 사용됩니다. 1. 아래 링크된 사이트에 들어간 뒤 JD-GUI의 D..
-
Languague/Java 2022.03.12[Java] 메모리 구조 메소드(Method), 스택(Stack), 힙(Heap) 영역에 대하여 자바뿐만이 아니라 모든 프로그램이 구동되기 위해서는 프로그램 구동시에 운영체제로부터 메모리(RAM) 공간을 할당받아야 합니다. 이러한 메모리는 무제한이 아니라 한정되어 있습니다. 그렇기에 한정된 메모리를 최대한 효율적으로 사용하는 프로그램을 작성해야 하고 프로그램을 잘못 작성하게되면 프로그램이 매우 느려진다던지, 프로그램이 갑자기 꺼지는등의 각종 문제가 발생할 수 있습니다. 자바로 만들어진 프로그램은 JVM을 통해 실행되고 이 JVM은 프로그램을 동작할 때 OS로부터 메모리를 할당합니다. JVM에 대해서 좀 더 자세히 알고 싶다면 아래 글을 참고해주세요. [Java] 자바 가상머신 JVM(Java Virtual Machine) 총정리 [Java] 자바 JVM 내부 구조와 메모리 구조에 대하여 자바 메모리..
-
Languague/Java 2022.03.09 1[Java] 가비지 컬렉션(GC, Garbage Collection) 총정리 가비지 컬렉션(Garbage Collection)이란? 가비지 컬렉션은 영어로 Garbeage Collection으로 줄여서 GC라고도 부릅니다. 가비지 컬렉션은 자바의 메모리 관리 방법 중의 하나로 JVM의 Heap 영역에서 동적으로 할당했던 메모리 영역 중 필요 없게 된 메모리 영역을 주기적으로 삭제하는 프로세스를 말합니다. C나 C++에서는 이러한 가비지 컬렉션이 없어 프로그래머가 수동으로 메모리 할당과 해제를 일일이 해줘야 하는 반면 Java는 JVM에 탑재되어 있는 가비지 컬렉터가 메모리 관리를 대행해주기 때문에 개발자 입장에서 메모리 관리, 메모리 누수(Memory Leak) 문제에서 대해 완벽하게 관리하지 않아도 되어 오롯이 개발에만 집중할 수 있다는 장점이 있습니다. 가비지 컬렉션의 단점 ..
-
Languague/Java 2022.03.07 10[Java] 자바 JVM 내부 구조와 메모리 구조에 대하여 저번 포스팅에서는 JVM에 대해서 간략하게 알아보는 시간을 가졌다면 이번 포스팅에서는 JVM의 내부 구조에 대해 좀 더 자세하게 알아보도록 하겠습니다. 혹시 JVM의 정의와 왜 필요한지 궁금하시다면 아래의 글을 참고하여주세요. [Java] 자바 가상 머신 JVM(Java Virtual Machine) 총정리 [Java] 자바 가상머신 JVM(Java Virtual Machine) 총정리 JVM(Java Virtual Machine)이란? 자바 가상 머신 JVM(Java Virtual Machine)은 자바 프로그램 실행환경을 만들어 주는 소프트웨어입니다. 자바 코드를 컴파일하여 .class 바이트 코드로 만들면 이 코드가 자바 coding-factory.tistory.com 자바 가상 머신(JVM)의 동..
-
Languague/Java 2022.03.06 4[Java] 자바 가상머신 JVM(Java Virtual Machine) 총정리 JVM(Java Virtual Machine)이란? 자바 가상 머신 JVM(Java Virtual Machine)은 자바 프로그램 실행환경을 만들어 주는 소프트웨어입니다. 자바 코드를 컴파일하여 .class 바이트 코드로 만들면 이 코드가 자바 가상 머신 환경에서 실행됩니다. JVM은 자바 실행 환경 JRE(Java Runtime Environment)에 포함되어 있습니다. 현재 사용하는 컴퓨터의 운영체제에 맞는 자바 실행환경 (JRE)가 설치되어 있다면 자바 가상 머신이 설치되어 있다는 뜻입니다. Java는 어떠한 플랫폼에 영향을 받지 않는다. JVM을 사용함으로써 얻는 가장 큰 이점이 무엇일까요? JVM을 사용하면 하나의 바이트 코드(.class)로 모든 플랫폼에서 동작하도록 할 수 있습니다. .cl..
-
Languague/Java 2022.03.05 1[Java] 자바 JDK, JRE의 차이점(JDK란? JRE란?) 자바를 처음 설치하면 Java 폴더에 아래와 같이 JDK와 JRE 가 각각 설치되는 것을 보실 수 있습니다. 그렇다면 이 JDK와 JRE의 역할은 무엇일까요? 이번 포스팅에서는 JDK, JRE 용어에 대해 정리해보도록 하겠습니다. JRE, JDK 용어정리 JRE(Java Runtime Environment)란? JRE는 자바 실행 환경(Java Runtime Environment)의 약자로 자바로 만들어진 프로그램을 실행시키는데 필요한 라이브러리들과 각종 API, 그리고 자바 가상 머신 (JVM)이 포함되어 있습니다. JRE는 자바로 "개발(쓰기)은 안되고 실행(읽기)만 된다"라고 생각해주시면 될 것 같습니다. JDK(Java Development Kit)란? JDK는 자바 개발키트(Java Develo..
-
Languague/Java 2022.03.04[Java] 자바 업데이트 알림 끄기(제거) 하는 방법 Java는 항상 최신의 상태를 유지하고 있는 것이 좋지만 일단 자바가 설치되어 프로그램이 정상적으로 구동만 되면 상관없다고 생각하는 경우가 많기 때문에 대부분 업데이트를 신경 쓰지 않는 경우들이 많습니다. 오히려 매번 자바의 업데이트가 생길 때마다 아래의 사진처럼 "Java Update 사용 가능 새 버전의 Java를 설치할 준비가 되었습니다. 계속하려면 여기를 누르십시오." 라는 알림이 뜨는 것이 귀찮다고 생각하는 경우가 많죠. 이럴 때는 자바의 자동 업데이트 확인 기능을 꺼서 알림이 안 오도록 해줄 수 있습니다. 아래에서 소개드리는 2가지 방법 중 하나를 선택해서 진행하시면 됩니다. 자바 자동 업데이트 사용 하지 않기 1. 윈도우 작업표시줄의 검색창에서 제어판을 검색한 뒤 실행시킵니다. 2. 제어판에..