정의 : 공유 객체를 사용하여 메모리 사용량을 최소화하고 가능한 많은 유사한 개체에 정보를 공유합니다. 반복으로 인해 허용 할 수없는 금액의 메모리를 사용하는 큰 물체에 적합합니다.
특징 : 객체 생성을 크게 줄이고 시스템 메모리를 줄이며 효율성을 향상시킵니다.
엔터프라이즈 수준 개발 및 공통 프레임 워크의 응용 프로그램 : 데이터베이스 연결 풀, 문자열 상수 캐시 풀
특정 코드 예 :
import java.util.hashmap; import java.util.map; import java.util.random; public class demo {public static void main (string [] args) {for (int i = 0; i <10; i ++) {circle circle = new Circle (getColor ()); Circle.setRadius (getRadius ()); Circle.setx (getz ()); Circle.sety (getz ()); Circle.Draw (); }} public static string getColor () {문자열 [] 색상 = { "빨간색", "오렌지", "옐로우", "시안", "녹색"}; 랜덤 random = new random (); int index = random.nextInt (4); 반환 색상 [색인]; } public static double getRadius () {random random = new random (); random.nextDouble ()*20을 반환합니다. } public static int getz () {random random = new random (); RECONS Random.nextInt (100); }}/*** Abstract Encyclopedia Class* 여기에 그래프를 그리는 예는 다음과 같습니다. 예를 들어 원을 그리는 것, 원을 그리기 위해 색상을 추가하고 원을 그리는 방법은 동일합니다. 원의 위치와 원의 반경은*/인터페이스 모양의 반경입니다. {공개 즐거움 클래스*는 공유 할 수없는 수업 시간에 공유 할 수 없으며, 특정 즐거움 클래스는 공유 할 수 없습니다. 예 : 공유 색상 및 보이지 않는 원 그리기 방법, 공유 반경 및 좌표*/클래스 서클 구현 모양 {private int x; 개인 in y; 개인 이중 반경; 개인 문자열 색상; 공개 원 (문자열 색상) {this.color = 색상; } public int getx () {return x; } public void setx (int x) {this.x = x; } public int gety () {return y; } public void sety (int y) {this.y = y; } public double getRadius () {반경 반경; } public void setradius (이중 반경) {this.radius = 반경; } public String getColor () {return color; } public void setColor (문자열 색상) {this.color = 색상; } public void draw () {system.out.println ( "중심 좌표가있는 원을 그리며 : ("+this.x+","+this.y this.y this.y+"), 반경은"+this.radius+","+this.color+"); 속성 또는 데이터는 공유됩니다* 여기서 원의 색상이 고정되어 있다고 가정하면,이 예에서는 해당 공유 데이터가 해당 색상 속성과 보이지 않는 복원 방법이어야합니다 getcircle (c == null) {CALL (COLOR);Xiangyuan 모드는 주로 많은 수의 유사한 물체가 많은 양의 메모리를 차지한다는 현상을 해결하는 데 사용됩니다. 메모리는 소중한 자원이기 때문에 이러한 유사한 객체를 분류하고 공유를 위해 동일한 부분을 추출합니다. 이것은 메모리 오버 헤드를 크게 저장할 수 있습니다. 그러나 우리는 하나의 전제를 기억해야합니다. 메모리를 저장하는 동안 코드 실행 시간을 전제로 늘리므로 때로는 시간과 메모리 오버 헤드의 균형을 유지해야합니다.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.