# [Bash] 터미널 jar 파일 생성

 

1. java 파일 생성

# cat Hello.java 
public class Hello {
  public static void main(String args[]){
    System.out.println("hello world");
  }
}

 

2. 컴파일

# javac Hello.java

 

3. manifest.txt 파일 생성

# cat manifest.txt 
Main-class: Hello

※ manifest.txt 파일이란? jar로 패키지된 파일 구성요소의 메타 정보를 가지고 있는 파일이다.

 

4. jar 파일 생성

# jar -cvmf manifest.txt hello.jar Hello.class 
Manifest를 추가함
추가하는 중: Hello.class(입력 = 415) (출력 = 286)(31%를 감소함)

 

5. jar 파일 실행

# java -jar hello.jar 
hello world

To be continued.........

 

 

Made by 꿩

 

'IT > Bash' 카테고리의 다른 글

[Linux] SSH 공개키 설정  (0) 2022.03.28
[Bash] 스크립트 #! 의미  (0) 2021.10.19
[centos] java openjdk 설치 및 삭제  (0) 2021.10.05
Redis 메모리 & 시간 측정 스크립트  (0) 2021.05.14

# [centos] java openjdk 설치 및 삭제

 

1. java 설치현황 파악

# rpm -qa | grep jdk
java-11-openjdk-11.0.12.0.7-0.el7_9.x86_64
java-1.8.0-openjdk-headless-1.8.0.302.b08-0.el7_9.x86_64
copy-jdk-configs-3.3-10.el7_5.noarch
java-11-openjdk-devel-11.0.12.0.7-0.el7_9.x86_64
java-11-openjdk-headless-11.0.12.0.7-0.el7_9.x86_64
java-1.7.0-openjdk-headless-1.7.0.261-2.6.22.2.el7_8.x86_64

 

2. java 삭제

yum remove java-11-openjdk-devel.x86_64 -y

 

3. java 설치

yum install java-11-openjdk-devel.x86_64 -y

echo 'export JAVA_HOME=/usr/lib/jvm/jre-openjdk' > /etc/profile.d/java.sh
echo 'setenv JAVA_HOME "/usr/lib/jvm/jre-openjdk"' > /etc/profile.d/java.csh

 

4. java 설치 확인

# java -version
openjdk version "11.0.12" 2021-07-20 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.12+7-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.12+7-LTS, mixed mode, sharing)

# javac -version
javac 11.0.12

To be continued.........

 

 

Made by 꿩

'IT > Bash' 카테고리의 다른 글

[Linux] SSH 공개키 설정  (0) 2022.03.28
[Bash] 스크립트 #! 의미  (0) 2021.10.19
[Bash] 터미널 jar 파일 생성  (0) 2021.10.05
Redis 메모리 & 시간 측정 스크립트  (0) 2021.05.14

# Object  vs Instance vs Class

Java를 처음 공부하면서 객체지향의 원리가 이해가 가지 않았다.

특히, 객체와 인스턴스의 차이는 도저히....

알고보니

클래스는 붕어빵 틀

인스턴스는 붕어빵

객체는 붕어빵이라는 음식이었다.


<클래스>

내가 붕어빵을 만든다고 가정하자.

붕어빵을 만들려면 역시나 붕어빵 틀은 필수템이다.

이것만 있으면 붕어빵을 쉽게 여러개 만들 수 있다.

클래스도 마찬가지이다.

클래스는 붕어빵 틀처럼 설계도라고 생각하면 된다.

설계도 하나로 대량생산을 하는 것처럼

클래스 안에 만들고자 하는 것에 대한 정보를 넣고 객체를 대량생산 하는 것이다.


<인스턴스 & 객체>

클래스는 쉽게 이해가 갔지만 문제는 인스턴스와 객체의 차이가 너무 모호했다.


보통 붕어빵 틀로 붕어빵을 만든다.

붕어빵 틀로 만들어낸 붕어빵을 인스턴스라 하고

객체는 그저 붕어빵을 가리키는 것일 뿐이다.


이 설명만 들어서는 조금 헷갈릴 수 있다.

" 아 붕어빵 먹고싶다."라고 말할 때

붕어빵은 붕어빵을 가리킨다.

이것을 객체라 한다.


인스턴스는 단순히 붕어빵 틀로 붕어빵을 만들어 냈을 때

이 붕어빵을 인스턴스라 한다.

즉, 메모리에 적재된 것을 인스턴스라 하고

객체는 그냥 그것을 가리키는 것이라 생각하면 된다.




To be continued.........




Made by 꿩


'IT > Java' 카테고리의 다른 글

Spring Boot와 JSP  (0) 2019.08.02
추상클래스와 인터페이스  (0) 2018.11.11
다형성  (0) 2018.11.03

+ Recent posts