首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java原型模式(prototype)

prototype模式也就是原型模式,是javaGOF23种设计模式中的一种,我们在学习spring的时候在bean标签的学习中碰到过,所以本文来给大家介绍下原型模式 原型模式   在java中我们知道通过...原型模式的克隆方式有两种:浅克隆和深度克隆 原型模式 说明 浅克隆 只是拷贝本对象,其对象内部的数组、引用对象等都不拷贝,还是指向原生对象的内部元素地址 深度克隆 深复制把要复制的对象所引用的对象都复制了一遍...; import java.io.Serializable; import java.util.Date; /** * 原型类:被克隆的类型 * @author dengp * */ public...深度克隆(deep clone)有两种实现方式,第一种是在浅克隆的基础上实现,第二种是通过序列化和反序列化实现,我们分别来介绍 第一种方式 在浅克隆的基础上实现 原型类: package com.dpb.prototype...; import java.io.Serializable; import java.util.Date; /** * 原型类:被克隆的类型 * 深度克隆测试 * @author dengp

1.5K60

java prototype是什么,Java设计模式之原型模式(Prototype模式)介绍

Prototype模式定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。...Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建...如何使用原型模式 因为Java中的提供clone()方法来实现对象的克隆,所以Prototype模式实现一下子变得很简单。...class SaladSpoon extends AbstractSpoon{ public SaladSpoon(){ setSpoonName(“Salad Spoon”); } } 调用Prototype...在JavaPrototype模式变成clone()方法的使用,由于Java的纯洁的面向对象特性,使得在Java中使用设计模式变得很自然,两者已经几乎是浑然一体了。

32220
您找到你想要的搜索结果了吗?
是的
没有找到

Java实战操作MongoDB集群(副本集)

Spring提供了MongoDB操作的工具:MongoTemplate,使得在Spring环境下对MongoDB的操作更为便利,本章我们就来学一下如何用MongoTemplate对MongoDB的集群环境(副本集...)做操作; 实战环境选用Docker 本次实战,Web工程和MongoDB都运行在Docker环境的容器中,这么做是为了快速搭建环境,不要在环境上花费太多时间,更聚焦Java开发; Java源码 本次实战的...java工程的源码我已经上传到github了,地址是:git@github.com:zq2599/blog_demos.git,里面有多个工程,本次实战的工程是mongodbreplicationdemo...环境规划 本次实战的环境是一个Tomcat server和Mongodb集群(副本集),我们将在Docker下部署这些server,所以一共要运行以下四个容器: 容器名 ip 备注 m0 172.18.0.2...,这篇文章详细的记录了如何搭建集群环境,您可以作为实战参考:《Docker下,实战mongodb副本集(Replication)》 docker-compose.yml配置 由于要启动四个容器:Mongodb

2K90

Java】程序制作Docker镜像 推荐方案

文章目录 背景 制作条件 Dockerfile指令: 实践步骤 使用官网提供的基础镜像作为镜像基础 设定容器的正确的时间和时区 容器中采用非 root 用户权限启动应用程序 DockerFile样例 COPY...与 ADD 区别 举个栗子 背景 随着我们分布式的观念在各个领域使用,docker容器也逐渐的背大家所认可和使用,那么我们想制作容器就得有镜像如何制作镜像呢?...制作条件 在制作 JAVA 应用的镜像过程中,一般情况下,我们制作出来的镜像文件都需要满足以下的需求: 使用官网提供的或者基于官网提供的自定义的基础镜像作为基础 设定容器的正确的时间和时区 容器中采用非..._231 ENV JRE_HOME=/usr/java/jdk1.8.0_231/jre ENV CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib ENV PATH...["java", "-jar", ".

1.7K20

Java程序制作Docker Image推荐方案

这里先给出一些Docker Image制作的要求,之后我们再看怎么做。...制作过程要融合在项目构建过程中 使用官方Image作为基础Image 设定正确的时区 Container内的程序以非root用户启动 指定Web程序的接口 能够传递JVM参数、Java System Properties...、程序自定义的参数 下面具体讲一下具体怎么做到以上几点: 制作过程要融合在项目构建过程中 这里推荐使用Spotify的dockerfile-maven-plugin,理由是这个plugin用起来最简单且容易掌握...使用官方Image作为基础Image Java的基础镜像应该在openjdk repository里寻找,而不是在已经过时的java repository里找。...设定正确的时区 几乎所有的Docker Image的时区都是UTC,我们需要给我们自己制作的Docker Image设定时区(参考的是SO的这个回答): ENV TZ=Asia/Shanghai RUN

1.4K40

JAVA反射机制作用是什么

转自这里 Java的反射机制是Java特性之一,反射机制是构建框架技术的基础所在。灵活掌握Java反射机制,对大家以后学习框架技术有很大的帮助。 那么什么是Java的反射呢?        ...大家都知道,要让Java程序能够运行,那么就得让Java类要被Java虚拟机加载。Java类如果不被Java虚拟机加载,是不能正常运行的。...Java的反射机制它知道类的基本结构,这种对Java类结构探知的能力,我们称为Java类的“自审”。大家都用过Jcreator和eclipse。...这就是利用了Java反射的原理,是对我们创建对象的探知、自审。 Class类 要正确使用Java反射机制就得使用java.lang.Class这个类。它是Java反射机制的起源。...首先我们来写一个类: java 代码 import  java.awt.event.ActionListener;   import  java.awt.event.ActionEvent;

3.3K21
领券