백엔드(20)
-
[JAVA] JAVA 파일경로 관련 정리
new File().getAbsolutePath(); [ 절대경로 ] new File().getCanonicalPath(); [ 상대경로 ] * './' :현재디렉터리 * '../' :상위디렉터리 new File("../conf.properties").getAbsolutePath(); /* C:\Users\user\eclipse-workspace\Test\..\conf.properties */ new File("../conf.properties").getCanonicalPath(); /* C:\Users\user\eclipse-workspace\conf.properties */ new File("./conf.properties").getAbsolutePath(); /* C:\Users\user\eclip..
2021.01.03 -
[JAVA] Java Resource 사용(getResource(),getResourceAsStream())
*이클립스에서는 정상적으로 Properties파일 경로를 읽어오는데, .exe파일 실행시 Properties경로를 못읽어오는 문제가 발생하였는데, 결론적으로 getResourceAsStream() 를 적용하니 정상실행됨. 기본폴더구조 src/main/java 폴더 하위에 있는 java파일은 빌드 후 target/classes하위에 위치하게 되고, src/main/resources/static 폴더는 빌드 후 target/static하위에 위치하게됨. 결국, 자바 파일이던 그 외 파일이던 결국 빌드 후에는 target 디렉터리가 루트 디렉터리가 됨. getResurce() -이클립스에서 실행시 resourceURL값이 'file:'로 시작. fileLocation경로는 파일시스템에 실제 존재하는 경로와 일..
2020.12.28 -
[JAVA] JAVA 프로그램 실행구조 / JAVA 환경변수설정
jdkC:\Program Files\Java\jdk1.8.0_261\bin\java.exe -> JVM 구동명령(java->class) C:\Program Files\Java\jdk1.8.0_261\bin\javac.exe -> 컴파일러 1. JAVA 환경변수설정 1-1. 제어판 - 시스템 및 보안 - 시스템 클릭 1-2. 고급시스템 설정 클릭 1-3. 고급 탭 - 환경변수 선택 1-4. 환경변수 설정방법 ~에 대한 사용자변수 : 사용자에 대해서만 사용할 수 있는 변수설정(한 컴퓨터안에 사용자(계정)을 여러개 둘수있음) 시스템변수 : 이 PC를 사용하는 모든 사용자가 사용할 수 있는 변수설정 1-4-1. '시스템 변수' JAVA_HOME 변수 설정 (java설치경로세팅) 1-4-2. '시스템변수' CLA..
2020.12.28 -
[JAVA] cmd에서 자바 컴파일 후 실행 방법
자바 환경변수 설정방법 참고 tocomo.tistory.com/3 cmd에서 패키지가 없는 '.java'파일 컴파일 후 실행 방법 1. 자바 파일이 있는 곳으로 이동 cd:\ex 2. 자바파일 -> 클래스 파일로 컴파일 javac JavaWorld.java 3. 'javac' 명령어 실행 후 '.java'파일 경로를 확인해보면 '.class'파일이 생성된 것을 확인. 4. 클래스 파일 실행 java JavaWorld cmd에서 패키지가 있는 '.java'파일 컴파일 후 실행 방법 아래와 같이 패키지가 있는 '.java'파일을 컴파일 후 실행 방법 1. 'javac'명령어 실행은 패키지 경로까지 이동 후 진행하여도 가능하지만, 그냥 패키지 직전 경로에서 아래와 같이 실행하여도 무관함. 1) C:\ex>ja..
2020.12.28 -
[Java_디자인패턴] 싱글톤 패턴(Singleton Pattern)
싱글턴 패턴 인스턴스가 오직 1개만 생성되어야 하는 경우 사용되는 패턴. 싱글턴을 만들 때 동시성(Concurrency) 문제를 고려해서 설계해야 함 멀티 스레딩 환경헤도 동작 가능하게끔 구현해야 함. private constructor를 가짐. static method를 사용함. 보통 가장 많이 사용되는 싱글턴 구현 방식은 LazyHolder 방식임. 싱글턴 패턴 사용시 주의사항 클래스 로더를 2개 이상 사용하는 경우, 인스턴스가 2개 이상 생성될 수 있기 때문에 이런 경우에는 클래스 로더를 지정해야 함. 자바와 스프링의 싱글턴 차이점은, 자바에서 싱글톤 객체의 생명주기는 클래스 로더가 기준이지만, 스프링에서는 어플리케이션 컨텍스트(ApplicationContext)가 기준이 됨. 클래스 로더 기준이라..
2020.12.11 -
[Java_디자인패턴] 팩토리 패턴(Factory Pattern)
팩토리 패턴 생성 할 클래스를 미리 알지 못해도 팩토리 클래스가 객체 생성을 담당 객체의 자료형이 하위클래스에 의해서 결정(확장 용이성) 동일한 형태로 프로그래밍 가능 확장성 있는 전체 프로젝트 구성 가능 객체가 늘어날 때 마다 하위 클래스 재정의로 인한 불필요한 많은 클래스 생성 가능성 TV interface package polymorphism; public interface TV{ public void powerOn(); public void powerOff(); public void volumeUp(); public void VolumeDown(); } LgTV.java package polymorphism; public class LgTV implements TV{ public void powe..
2020.12.05