Определение: он использует общие объекты, чтобы минимизировать использование памяти и обмениваться информацией как можно большему количеству подобных объектов; Он подходит для больших объектов, которые используют неприемлемые количества памяти из -за повторения.
Особенности: значительно уменьшает создание объектов, уменьшает системную память и повышает эффективность.
Приложения в разработке на уровне предприятия и общих фреймворках: пул подключений к базе данных, Pourse Cash Cache String
Пример конкретного кода:
импортировать java.util.hashmap; import java.util.map; import java.util.random; демо открытого класса {public static void main (string [] args) {for (int i = 0; i <10; i ++) {circle Circle = новый круг (getColor ()); Circle.setradius (getradius ()); circle.setx (getz ()); circle.sety (getz ()); circle.draw (); }} public Static String getColor () {string [] colors = {"red", "Orange", "hello", "cyan", "green"}; Случайный случайный = new Random (); int index = random.nextint (4); вернуть цвета [index]; } public static double getRadius () {случайный случайный = new random (); return random.nextdouble ()*20; } public static int getz () {случайный случайный = new random (); вернуть random.nextint (100); }}/*** Аннотация класса энциклопедии* Вот пример рисования графика: например, рисование круга, добавление цвета, чтобы исправить его, способ рисования круга одинаков, разница в том, что положение круга и радиус круга*/Форма интерфейса {public void Draw ();}/** Специфический класс. Пример: общие цвета и невидимые методы рисования круга, неразделенный радиус и координаты*/Класс Круг реализует форму {private int x; частный инт; частный двойной радиус; Частный цвет струны; public Circle (String Color) {this.color = 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 () {return radius; } public void setradius (двойной радиус) {this.radius = radius; } public String getColor () {return Color; } public void setColor (string color) {this.color = color; } public void Draw () {System.out.println («Нарисуйте круг с центральными координатами: ("+this.x+","+this.y+"), а радиус -"+this.radius+","+this.color+");}/** Заводной класс. Атрибуты или данные используются* Здесь приведены, что цвет круга фиксирован, мы можем нарисовать только несколько фиксированных цветов кругов* В этом примере соответствующие общие данные должны быть соответствующими цветными атрибутами и невидимым методом восстановления. Color) {Circle C = Map.get (Color);Сяньгьюанский режим в основном используется для решения явления, что большое количество аналогичных объектов занимают большое количество памяти. Поскольку память является драгоценным ресурсом, мы классифицируем эти похожие объекты и извлекаем те же части для обмена. Это может значительно сохранить накладные расходы на память. Однако мы должны помнить одну предпосылку. При сохранении памяти мы увеличиваем время выполнения кода в качестве предпосылки, поэтому иногда нам нужно сбалансировать время и накладные расходы на память.
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.