5设计网站网页页面制作流程

news/2025/9/30 3:36:48/文章来源:
5设计网站,网页页面制作流程,推荐一个做照片书的网站,软件定制开发订单设计模式也是面试中的热门考题#xff0c;基本这个部分都是问问你知不知道XXX设计模式#xff0c;有什么用#xff0c;优缺点#xff0c;然后再现场手写一个demo。很多时候是和spring一起考的#xff0c;问问你知不知道spring框架用了哪些设计模式。今天我们来先看看单例模…设计模式也是面试中的热门考题基本这个部分都是问问你知不知道XXX设计模式有什么用优缺点然后再现场手写一个demo。很多时候是和spring一起考的问问你知不知道spring框架用了哪些设计模式。今天我们来先看看单例模式。 什么是单例模式 单例模式是一种设计模式用于确保类在应用程序中只有一个实例并提供一个全局访问点来访问该实例。单例模式通常用于那些需要全局状态或共享资源的情况以确保整个应用程序中只有一个实例存在从而避免不必要的资源消耗和冲突。例子一个应用的日志记录器Logger。全局一个日志器记录即可不需要多个。 单例模式的特点包括 私有构造函数单例类的构造函数被设为私有以防止外部直接创建对象实例。 静态方法或静态变量提供一个静态方法或静态变量来访问该类的唯一实例。 延迟实例化有时单例对象不会在应用程序启动时立即创建而是在第一次被请求时才进行实例化。 线程安全性在多线程环境中需要考虑单例对象的线程安全性确保在并发情况下也能正确地返回唯一实例。 使用单例模式的优点包括 节省资源由于只有一个实例存在可以避免创建多个对象所带来的资源浪费。提供全局访问点可以通过单例对象的全局访问点方便地获取到该实例使得全局状态或共享资源的管理更加简单。确保一致性由于只有一个实例存在可以确保整个应用程序中对该实例的状态保持一致。 然而使用单例模式也可能带来一些缺点如增加了代码的耦合性、对单例对象的依赖性过强等。因此在使用单例模式时需要权衡利弊并根据实际情况慎重考虑。 手写单例 可能这会需要你手写一个单例模式单例模式有很多种写法懒汉模式饿汉模式双重检查模式等。 懒汉模式 懒汉模式的懒就在于就是用的时候再去创建对象否则什么都不做 public class LazySingleton {// 私有静态变量用于保存唯一的实例private static LazySingleton instance;// 私有构造函数防止外部直接创建对象实例private LazySingleton() {// 初始化操作}// 公共静态方法用于获取唯一的实例public static LazySingleton getInstance() {// 延迟实例化只有在第一次调用时才创建实例if (instance null) {instance new LazySingleton();}return instance;}// 其他方法public void doSomething() {// 执行其他操作} } 懒汉式单例模式的写法由于new和赋值操作的非原子性所以该写法非线程安全. 饿汉模式 饿汉模式就是提前就已经加载好的静态static 对象 public class EagerSingleton {// 私有静态变量用于保存唯一的实例并在类加载时就进行初始化private static final EagerSingleton instance new EagerSingleton();// 私有构造函数防止外部直接创建对象实例private EagerSingleton() {// 初始化操作}// 公共静态方法用于获取唯一的实例public static EagerSingleton getInstance() {return instance;}// 其他方法public void doSomething() {// 执行其他操作} } 饿汉式单例模式的写法线程安全但饿汉模式的主要缺点是如果该单例对象在应用程序中没有被使用到那么可能会造成资源的浪费。因为在类加载时就创建了实例即使在后续没有被使用到该实例也会一直存在于内存中。 双重检查模式 双重检查模式就是两次检查避免多线程造成创建了多个对象。也是一种在懒汉模式的基础上改进的线程安全的单例模式。它通过双重检查锁定来确保在多线程环境下只创建一个实例。 public class DoubleCheckedSingleton {// 使用 volatile 关键字确保 instance 变量的可见性private static volatile DoubleCheckedSingleton instance;// 私有构造函数防止外部直接创建对象实例private DoubleCheckedSingleton() {// 初始化操作}// 公共静态方法用于获取唯一的实例public static DoubleCheckedSingleton getInstance() {// 双重检查锁定确保在多线程环境下只有一个实例被创建if (instance null) {synchronized (DoubleCheckedSingleton.class) {if (instance null) {instance new DoubleCheckedSingleton();}}}return instance;}// 其他方法public void doSomething() {// 执行其他操作} } 这里面试官可能问你可不可以去掉这个volatile关键字答案是不可以volatile 关键字的作用是确保变量的可见性和禁止指令重排序否则可能会出现线程安全问题。 所以双检锁单例模式的写法线程安全。 这就结束了吗 等等加了volatile的双重检查看似没问题难道这就一定可靠吗使用 Java 的反射机制可以破坏传统的单例模式实现。通过反射可以访问类的私有构造函数并强制创建多个对象实例从而违反了单例模式的原则。 import java.lang.reflect.Constructor;public class Singleton {private static volatile Singleton instance;private Singleton() {// 私有构造函数}public static Singleton getInstance() {if (instance null) {synchronized (Singleton.class) {if (instance null) {instance new Singleton();}}}return instance;}public static void main(String[] args) {Singleton singleton1 Singleton.getInstance();Singleton singleton2 null;try {// 使用反射获取私有构造函数ConstructorSingleton constructor Singleton.class.getDeclaredConstructor();// 设置可访问私有构造函数constructor.setAccessible(true);// 强制创建多个实例singleton2 constructor.newInstance();} catch (Exception e) {e.printStackTrace();}System.out.println(singleton1: singleton1.hashCode());System.out.println(singleton2: singleton2.hashCode());System.out.println(Are they the same instance? (singleton1 singleton2));} } 那要怎么办 《Effective Java》中曾经提到过枚举单例是一种线程安全且简洁的单例模式实现方式它基于枚举类型的特性在Java中保证了单例实例的唯一性。枚举类型的每个枚举常量都是单例对象且在枚举类型被加载时就被初始化。 public enum EnumSingleton {INSTANCE; // 唯一的枚举常量// 可以添加其他成员变量和方法private int data;public int getData() {return data;}public void setData(int data) {this.data data;}// 可以在枚举类中添加构造函数但必须是私有的private EnumSingleton() {this.data 0;} }在上面的示例中EnumSingleton 是一个枚举类型其中只有一个枚举常量 INSTANCE。由于枚举类型的特性在类加载时INSTANCE 常量就会被初始化为单例对象因此无需担心多线程下的并发问题。 通过调用 EnumSingleton.INSTANCE 就可以获取到该单例对象例如 EnumSingleton singleton EnumSingleton.INSTANCE;这样就可以确保在整个应用程序中只存在一个 EnumSingleton 实例。 枚举单例的优点包括 线程安全枚举类的实例在类加载时就被创建保证了线程安全性。简洁使用枚举类型实现单例模式非常简洁不需要手动编写单例模式的代码。 因此如果在Java中实现单例模式推荐使用枚举类型来实现。 总结 以上就是单例模式的全部内容了希望能帮助到大家。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/922443.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

广州站到广州南站地铁要多久毕业设计网站建设题目

JDK中用Thread.State类定义了线程的五种状态 要想实现多线程,必须在主线程中创建新的线程对象。Java语言使用Thread类及其子类的对象来表示线程,在它的一个完整的生命周期中通常要经历如下的五种状态: ①新建: 当一个Thread类或…

无锡定制网站建设国家信用信息公示网查询官网

分享7款好玩的前端动画特效 其中有CSS动画、SVG动画、js小游戏等等 下方效果图可能不是特别的生动 那么你可以点击在线预览进行查看相应的动画特效 同时也是可以下载该资源的 CSS3模仿四季交替动画 基于HTML5CSS3实现的卡通风格一年四季交替动画特效 以下效果图只能体现框架的…

公司建网站流程个人门户网站模板

对3D Implicit Transporter for Temporally Consistent Keypoint Discovery的简单理解 文章目录 1. 现有方法限制和文章改进2. 方法2.1 寻找时间上一致的3D特征点2.1.1 3D特征Transporter2.1.2 几何隐式解码器2.1.3 损失函数 2.2 使用一致特征点的操纵 1. 现有方法限制和文章改…

南通优化网站收费标准互联网黄页是什么

《论文阅读》通过顺序不敏感的表示正则化实现稳健的个性化对话生成 ACL 2023 前言 相关个性化生成论文推荐简介问题定义方法损失函数实验结果 前言 亲身阅读感受分享,细节画图解释,再也不用担心看不懂论文啦~ 无抄袭,无复制,纯手…

wordpress适合电影网站的模板怎么用一级域名搭建网站

AI算法工程师-非leetcode题目总结 除了Leetcode你还需要这些实现nms旋转矩形IOU手动实现BN手动实现CONV实现CrossEntropyLoss 除了Leetcode你还需要这些 希望大家留言,我可以进行补充。持续更新~~~ 实现nms import numpy as np def nms(dets, threshold):x1 dets…

外吐司做的阿里巴巴的网站网站m3u8链接视频怎么做的

在云仓酒庄豪迈白酒的生产过程中,传统酿造工艺与现代科技的结合是推动产业发展的重要动力。云仓酒庄作为一家注重创新与实践的酒庄,在这方面进行了许多有益的探索和尝试。 首先,传统酿造工艺是云仓酒庄豪迈白酒的灵魂。在长期的生产实践中&am…

网站建设 销售人员平面设计网站推荐

5.1 概述 只有一个抽象方法的接口我们称之为函数接口。 JDK的函数式接口都加上了 FunctionalInterface 注解进行标识。但是无论是否加上该注解只要接口中只有一个抽象方法,都是函数式接口。 在Java中,抽象方法是一种没有方法体(实现代码&a…

网站开发组合 所有组合在哪个网站去租地方做收废站

前言 在写Golang程序调用各种第三方库的时候, 经常会传一个叫做Context的参数. 之前基本上见到接Context, 根本不管是干什么用的, 直接无脑context.Background(). 但是, 传着传着就不免发生一些小疑问, 这个参数到底是干什么用的呢? 这么多库都在使用, 至少说明其是Golang中…

小网站asp好还是php好wordpress主题带卡密

对于痉挛性斜颈患者来说,选择合适的运动时间对于治疗的效果和舒适度至关重要。那么,痉挛性斜颈患者早上运动还是下午运动更合适呢?本文将从多个角度对此进行分析,帮助患者找到最适合自己的运动时间。 首先,我们需要了…

没有网站可以做cpa吗申请个人手机网站空间

作者| JKYO链接 | cnblogs.com/pejsidney/p/9199115.html1、Git 简介Git是目前流行的分布式版本管理系统。它拥有两套版本库,本地库和远程库,在不进行合并和删除之类的操作时这两套版本库互不影响。也因此其近乎所有的操作都是本地执行,所以在…

丽江市住房与城乡建设局网站附近设计公司

配套教程视频:https://v.douyin.com/Uyux9F6/ 1. 前置条件 安装了stable diffusion 还没安装的从知识库安装 阿超的AI绘画知识库 语雀 安装了ps2023 还没安装的从网盘下载Win版 PS 2023【必须win10、11】.rar官方版下载丨最新版下载丨绿色版下载丨APP下载-12…

网站分站如何做lnmpa安装wordpress

hello,我是贝格前端工场老司机,这是第26期了,本次带来可视化大屏在航空与运输业的应用案例,喜欢文章的别忘点赞关注,文章底部也有其他行业的案例。 可视化大屏在航空与运输业中具有以下九大价值: 实时监控…

网站建设个人职责营销型网站建设应该考虑哪些因素

中断系统概述 中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行中断优先级&#xff…

网站建设教育平台点点 wordpress

"想象为翼,起飞~" 跳表简介? skiplist本质上是一种查找结构,用于解决算法中的查找问题,跟平衡搜索树和哈希表的价值是 一样的,可以作为key或者key/value的查找模型。 跳表由来 skiplist是由美国计算…

flash网站需要改变做软件的网站

老胡的信息周刊[1],记录这周我看到的有价值的信息,主要针对计算机领域,内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。 🎯 项目 pingvin-share[2] Pingvin Share 是一个可自…

扁平化设计网站 国内跨境电商一件代发货源平台

1.zhiwang 基于物理信息神经网络的波动方程优化求解方法 吴丹澜1梁展弘2余懿3蔡博3郑邦宏4王梓超4张紫玲4 1.肇庆学院计算机科学与软件学院,大数据学院2.香港城市大学电气工程系3.云浮市新兴县公安局4.肇庆学院计算机科学与软件学院、大数据学院 2,zhiwang 就爱…

城市分类信息网站系统网页规划书怎么写

前言最近前端老是反馈API调用异常,说请求成功但是没有数据返回!我写的代码怎么可能有bug,肯定是前端调用的方式不对!经过一番套鼓,直接把请求参数和响应内容打印到控制台,果然不出我所料,请求缺…

网站建设构成技术要求水墨风格网站欣赏

2.0.概述 本章概述了系统级的Linux性能工具。这些工具是你追踪性能问题时的第一道防线。它们能展示整个系统的性能情况和哪些部分表现不好。 1.理解系统级性能的基本指标,包括CPU的使用情况。 2.明白哪些工具可以检索这些系统级性能指标。 2.1CPU性能统计信息 为…

超精简的小型C编译器

在嵌入式开发、资源受限环境或教学场景中,精简的 C 编译器非常实用。以下是一些以 "精简" 为核心设计目标的 C 编译器,按精简程度和特点分类介绍: 1. TCC (Tiny C Compiler)特点:可能是最知名的精简 C 编…

上海网站排名前十呼和浩特住房和城乡建设部网站

情感数据对LSTM股票预测模型的影响研究 作者:丁纪翔 发布时间:06/28/2021 摘要:探究了情感结构化特征数据在LSTM股票预测模型中的影响。利用Pandas对所给数据进行预处理(数据载入、清洗与准备、规整、时间序列处理、数据聚合等&am…