Definición: utiliza objetos compartidos para minimizar el uso de la memoria y compartir información a tantos objetos similares como sea posible; Es adecuado para objetos grandes que usan cantidades inaceptables de memoria debido a la repetición.
Características: reduce en gran medida la creación de objetos, reduce la memoria del sistema y mejora la eficiencia.
Aplicaciones en desarrollo de nivel empresarial y marcos comunes: grupo de conexión de base de datos, grupo de caché constante de cadena
Ejemplo de código específico:
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 ++) {círculo círculo = nuevo círculo (getColor ()); circle.setRadius (getradius ()); circle.setx (getz ()); circle.sety (getz ()); circle.draw (); }} public static string getColor () {string [] colores = {"rojo", "naranja", "amarillo", "cian", "verde"}; Aleatorio aleatorio = new Random (); int index = random.nextInt (4); devuelve colores [índice]; } public static double getRadius () {Random Random = new Random (); return random.nextDouble ()*20; } public static int getz () {Random Random = new Random (); return random.nextint (100); }}/*** Clase de enciclopedia abstracta* Aquí hay un ejemplo de dibujar un gráfico: por ejemplo, dibujar un círculo, agregar color para solucionarlo, la forma de dibujar un círculo es la misma, la diferencia es la posición del círculo y el radio de la forma de círculo*/interfaz {public void dibujar ();}/*** clase de disfrute específica* Aquí se crea una clase de disfrute específica, la clase que se puede clasificar, la clase contiene los datos que se pueden compartir y los datos que pueden ser compartidos y los datos que no pueden ser compartidos. Colores y métodos de dibujo de círculo invisible, radio no compartido y coordenadas*/CILLO DE CLASE implementa forma {private int x; privado int y; Radio doble privado; color de cuerda privada; Círculo público (color de cadena) {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 doble getradius () {RADIUS DE RETURN; } public void setradius (doble radio) {this.radius = radio; } public String getColor () {return color; } public void setColor (Color de cadena) {this.color = color; } public void draw () {System.out.println ("dibuja un círculo con las coordenadas del centro de: ("+this.x+","+this.y+"), y el radio es"+this.radius+","+this.color+");}}/*** clase de factor Los atributos o los datos se comparten* Suponiendo que el color del círculo es fijo, solo podemos dibujar unos pocos colores fijos de los círculos* En este ejemplo, los datos compartidos correspondientes deben ser los atributos de color correspondientes y color) {círculo c = map.get (color);El modo Xiangyuan se usa principalmente para resolver el fenómeno que una gran cantidad de objetos similares ocupan una gran cantidad de memoria. Debido a que la memoria es un recurso precioso, clasificamos estos objetos similares y extraemos las mismas partes para compartir. Esto puede guardar significativamente la sobrecarga de memoria. Sin embargo, debemos recordar una premisa. Al guardar la memoria, aumentamos el tiempo de ejecución del código como premisa, por lo que a veces necesitamos equilibrar el tiempo y la sobrecarga de la memoria.
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.