본문 바로가기
728x90

전체 글121

[Java] 10. static 응용 - 싱글톤 패턴(Singleton Pattern) 1. 싱글톤 패턴이란? - 프로그램에서 인스턴스가 단 한 개만 생성되어야 하는 경우 사용하는 디자인 패턴 - static 변수, 메서드를 활용하여 구현할 수 있음 ex) 날짜 시간(시/분/초), 회사(삼성전자) 아래 클래스 다이어그램을 보면 위에서 부터 클래스 이름(Singleton) 변수(instance) 생성자와 메서드(Singleton, getInstance) (-는 private, +는 public을 의미) 2. 싱글톤 패턴 예제 package ch18; public class Company { private static Company instance = new Company(); // 유일한 객체(인스턴스) 생성 private Company() {} // 여러 개의 객체를 생성하지 못하도록 pr.. 2021. 11. 27.
[Java] 09. Static 변수와 Static 메서드에 대하여...(2) 1. static 메서드 만들기 : serialNum 변수를 private으로 선언하고 getter/setter 구현 - Employee.java package ch16; public class Employee { private static int serialNum = 1000; public static int getSerialNum() { return serialNum; } > System.out.println(Employee.serialNum); ---> Error(직접 호출 불가) > System.out.println(Employee.getSerialNum()); ---> 메서드를 통한 호출은 가능 2. static 메서드(클래스 메서드)에서는 인스턴스 변수를 사용할 수 없다. - static 메서.. 2021. 11. 26.
[WLS] EAR의 웹 모듈 간 세션 공유 테스트 기본적으로 세션은 Context(웹 모듈) 단위로만 세션공유가 가능하다. 그러나 WebLogic에서는 Context(웹 모듈) 간에도 세션을 공유하도록 설정할 수 있다. 이번 테스트는 OL 7에 WLS 12.2.1.3 버전을 사용하였다. ===================== 1. 테스트 준비 ===================== * Context간에 세션 공유를 하기 위해서는 EAR형태의 어플리케이션을 배포해야 한다. EAR 어플리케이션 안에는 webapp1.war와 webapp2.war라는 두 개의 웹 모듈이 존재한다. 그리고 모듈(APP) 사이에 세션을 공유하기 위해서는 META-INF/weblogic-application.xml 이라는 파일도 설정해주어야 한다. weblogic-applicati.. 2021. 11. 26.
[WLS] weblogic.marathon을 활용한 APP DD(Deployment Descriptor) 생성 webLogic.jar의 marathon.ddinit을 이용하여 어플리케이션의 Descriptor를 생성할 수 있다. 이번 글에서는 war파일에 필요한 WEB-INF와 ear파일에 필요한 META-INF를 생성해보고자 한다. * war와 ear의 차이는 아래 글을 참고 https://syhwang.tistory.com/71 [APP] JAR/WAR/EAR의 차이 * J2EE 어플리케이션에서 모듈은 그 기능에 따라 JAR/ WAR/ EAR로 패키징 된다. > 각 파일이 담고 있는 규모를 따지면 class > jar > war >ear 순이 된다. 1. JAR (Java Archive) : 하나의 어플리케이션 기능이 가.. syhwang.tistory.com 1. WAR 파일에 들어가는 DD 생성 : WEB.. 2021. 11. 26.
[APP] JAR/WAR/EAR의 차이 * J2EE 어플리케이션에서 모듈은 그 기능에 따라 JAR/ WAR/ EAR로 패키징 된다. > 각 파일이 담고 있는 규모를 따지면 class > jar > war >ear 순이 된다. 1. JAR (Java Archive) : 하나의 어플리케이션 기능이 가능하도록 java 파일을 압축하고 지원한다. 라이브러리, 리소스, properties 파일을 포함한다. path등의 경로를 유지하기 때문에 배포된 jar 파일을 사용할 때 파일에 대한 path는 신경쓰지 않아도 됨. 2. WAR (Web Archive) : 웹 어플리케이션을 지원하기 위한 압축 방식으로 jsp, servlet, gif, html, jar 등을 지원한다. war는 단독으로 실행이 안되고 반드시 WAS 컨테이너에 의해 실행되어야 하므로 배.. 2021. 11. 26.
[Java] 09. Static 변수와 Static 메서드에 대하여...(1) 1. Static 변수란? : 여러 인스턴스에서 공통으로 사용하는 변수 (공유하여 사용) * 그렇다면 공통으로 사용하는 변수가 필요한 경우는 언제일까? - 여러 인스턴스가 공유하는 기준 값이 필요한 경우 - 학생마다 새로운 학번 생성 - 카드 회사에서 카드를 새로 발급할 때마다 새로운 카드 번호를 부여 - 회사에 사원이 입사할 때마다 새로운 사번이 필요 함 2. static 변수 선언과 사용하기 : static int serialNum; - 인스턴스가 생성될 때 만들어지는 변수가 아닌, 처음 프로그램이 구동되어 메모리에 로딩될 때(process 상태) 메모리를 할당된다. (상수/Literal/static 변수) - 클래스 변수, 정적 변수라고도 함(vs. 인스턴스 변수) - 인스턴스 생성과 상관없이 사용.. 2021. 11. 24.
[Java] 08. 객체협력 프로그래밍 예제 다음과 같은 상황을 구현해보자. ====================================== 아이유는 지각을 해서 택시를 타야 했다. 20,000원을 가지고 있었고 10,000원을 택시비로 사용했다. 택시는 '모범 회사' 회사 택시를 탔다. ====================================== 출력 결과는 아래와 같다. ====================================== 아이유님의 남은 돈은 10000원 입니다. 모범 회사 택시 수입은 10000원 입니다. ====================================== 우선 프로그래밍을 하기 전에 객체를 추리고 각 객체의 멤버변수와 메서드를 리스트업 해야 한다. - 학생 객체 (잔액을 보여주는 메서드, 돈.. 2021. 11. 24.
[COH] 코히런스 데이터그램 테스트 이번 글에서는 Coherence datagram-test 하는 방법에 대해 소개하고자 한다. How To Verify That Peer-To-Peer UDP Communication Does Work Well Between Machines Coherence Cluster Members Are Supposed To Be Running On (Doc ID 1936575.1) > 이 문서는 Coherence와 함께 제공되는 데이터그램 테스트 유틸리티를 사용하는 방법을 예제로 설명한다. * 기본적으로 Coherence 클러스터 구성원과 클러스터 구성원 간에 데이터를 보내기 위해 UDP 유니캐스트를 사용한다. (P2P) 1. 데이터그램 테스트 예제 ====================================.. 2021. 11. 24.
[COH] Coherence Network TroubleShooting - 클러스터 구성 시 확인 사항 이번 글에서는 코히런스 클러스터를 맺을 때, 네트워크 이슈로 인해 클러스터를 제대로 구성하지 못할 때 네트워크 문제인지를 확인해볼 수 있는 유틸리티를 설명하고자 한다. > General Coherence Network Troubleshooting And Configuration Advice (Doc ID 1389045.1) 1. Is the datagram test, Message Bus Test and multicast test working between machines? A firewall on the machines or between the machines could block both unicast and multicast traffic. For examples of how to use and.. 2021. 11. 24.
[OHS] 아파치 2.2/2.4 Proxy Balancer를 통한 로드밸런싱 구현 이번 글에서는 OHS에서 mod_proxy_balancer를 통한 loadbalancing 및 failover 테스트를 해보려고 한다. 단순 Proxy pass만 사용하면 뒷 단에 던져주는 역할 밖에 할 수없기 때문에 그 개념에 부하분산 및 FailOver가 추가된 것이다. 해당 글의 설정은 아파치 공식문서를 참고하였다. http://ssh.dukejournals.org/mod/mod_proxy_balancer.html mod_proxy_balancer - Apache HTTP Server Version 2.2 Apache Module mod_proxy_balancer Summary This module requires the service of mod_proxy. It provides load bala.. 2021. 11. 24.
[Java] 07. 객체 자신을 가리키는 this / 객체 간의 Collaboration 1. this가 하는 일 - 인스턴스 자신의 메모리를 가리킴 - 생성자에서 또 다른 생성자를 호출할 때 사용 - 자신의 주소(참조값)을 반환 함 2. 생성된 인스턴스 메모리 주소를 가짐 - 클래스 내에서 참조변수가 가지는 주소 값과 동일한 주소 값을 가지는 키워드 > this는 참조변수 day와 동일하게 인스턴스의 주소 값을 가리키고 있다. public void setYear(int year){ this.year = year; } 3. 생성자에서 다른 생성자를 호출하는 this - 클래스에 생성자가 여러 개인 경우, this를 이용하여 생성자에서 다른 생성자를 호출할 수 있다. - 생성자에서 다른 생성자를 호출하는 경우, 인스턴스의 생성이 완전하지 않은 상태이므로 this() statement 이전에 다.. 2021. 11. 22.
[Java] 06. 접근 제어 지시자, 정보 은닉과 캡슐화 1. 접근 제어 지시자 (access modifier) - 클래스 외부에서 클래스의 멤버 변수, 메서드, 생성자를 사용할 수 있는지 여부를 지정하는 키워드 - private : 같은 클래스 내부에서만 접근 가능 (외부 클래스, 상속 관계의 클래스에서도 접근 불가) - 아무것도 없음 (default) : 같은 패키지 내부에서만 접근 가능 (상속 관계라도 패키지가 다르면 접근 불가) - protected : 같은 패키지나 상속관계의 클래스에서 접근 가능하고 그 외 외부에서는 접근할 수 없음 - public : 클래스의 외부 어디서나 접근 할 수 있음 2. get()/ set() 메서드 - private 으로 선언된 멤버 변수(필드) 에 대한 접근, 수정할 수 있는 메서드를 public으로 제공 - get().. 2021. 11. 20.
728x90