案例分析:真实案例对“引用类型”的思考

news2024/11/13 8:45:50

在一个风和日丽的早上,我刚坐到工位上,正准备美美的享受早餐时,我的测试小兄弟杨过火急火燎的来找我说:“小米,不好了,运营童鞋反馈,咱们商城小程序金刚区的新店专区,新开的店铺无法在上面展示,运营童鞋那边很着急,能不能先看看”。我想了下现有项目组的人力,然后就叫技术大牛“薇姐”看下。

方案一:刷新ElasticSearch

薇姐首先确定数据表中是否存在该店铺,发现数据库没问题,然后就按照新店专区的接口查看了下数据源是 es,怀疑有可能是 es 没有同步上来,到管理后台点击初始化店铺的 es,结果本来新店专区还有店铺数据,直接就变成空白了,一条数据也没有,扑街~

方案二:数据落库

薇姐这次仔细的分析代码,发现前人开发的时候,判断新店的字段只存到 es 中,没有把该标识存入到店铺表中,所以才会出现刷新 es 的时候,新店专区数据被清空了(前人埋得坑啊)~

找到问题就好说了,把这个字段落库,然后给历史数据新店标识设置个默认值,搞定~

这也给我提了个醒,以后组员在开发功能的时候,一定要先仔细听听他是怎么设计的,避免挖坑,论代码 Review 的重要性!

Java 中的四种引用类型

在讨论这个案例的时候,我突然想到这不正是面试题中讲的“四种引用类型”中的一种吗?

在 Java 编程语言中,引用是用来访问和操作对象的一种机制。强引用、软引用、弱引用和虚引用是 Java 中的四种引用类型。

  • 强引用(Strong Reference):当一个对象被强引用关联时,垃圾回收器无法回收这个对象。只有当该对象的所有强引用都被释放时,该对象才能被垃圾回收器回收。

  • 软引用(Soft Reference):当一个对象被软引用关联时,它不会被立即回收,只有当 JVM 认为内存不足时才会回收该对象。因此,软引用通常用于实现高速缓存。

  • 弱引用(Weak Reference):当一个对象被弱引用关联时,它的生命周期更短,只要没有被强引用关联,垃圾回收器就会尽快回收它。

  • 虚引用(Phantom Reference):虚引用是最弱的一种引用类型,如果一个对象只被虚引用关联,那么它就像不存在一样,任何时候都可能被垃圾回收器回收。虚引用主要用于跟踪对象被垃圾回收器回收的状态。

END

最后,一句话根本形容不了我的穷,跪求工作,南京~

 

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

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

相关文章

mac上 qt与mysql的连接问题

经过两天的折磨和挣扎,将Mac上QT与mysql数据库链接问题的解决做一个梳理,以防忘记,并供他人借鉴; 环境版本:Mac10.14,MySQL5.7.24,Qt5.14.2 首先我重新下载安装了Qt(安装了源码&am…

Hadoop课程笔记

Hadoop笔记 nn和sn的区别 nn有inprogress,sn没有,隔一段时间sn会拉取nn上的fsi和edits进行合并然后返回给nnnn和dn 序列化和反序列化 当需要将内存中对象从一个服务器传输到另一个服务器的时候,将内存中的对象写进磁盘(序列化&am…

python知识点总结(国家一级假勤奋大学生整理)

python知识点总结 0. 持续更新~1. print不加end自动加回车自动换行2. eval()提取值3. 三双引号字符串中可以包含换行符,制表符以及其他特殊字符4. 字符串不能修改5. 用in 或 not in判断字串是否在母串中6. 网上做题print慎用‘,’会产生不该有的空格7. i…

职场规则实录(不要成全别人,恶心自己)

即使我们因为做出某种决定失去了某些东西,但这并不一定意味着这个决定是错误的。相反,很多时候,即使我们面临诸多风险,我们也要冒险去做出决定,因为在这种风险中可能存在着丰富的机会和收获。就像投资一样,就算我们的投资并没有获得预期的收益,但这并不代表这个投资是错…

Linux 性能优化大全!

性能指标 高并发和响应快对应着性能优化的两个核心指标:吞吐和延时 应用负载角度:直接影响了产品终端的用户体验 系统资源角度:资源使用率、饱和度等 性能问题的本质就是系统资源已经到达瓶颈,但请求的处理还不够快&#xff0…

【超算/先进计算学习】日报5

目录 今日已完成任务列表遇到的问题及解决方案任务完成详细笔记程序性能分析程序流程分析程序静态分析工具 understand程序性能动态分析工具 gprof-使用方式程序性能动态分析工具 gprof-输出结果详解程序性能动态分析工具 gropf-函数调用关系图程序动态分支辅助方式-计时函数其…

git版本控制

git版本控制 time:2023-04-18 版本控制 集中式版本控制 多人协作开发 创建仓库 使用当前目录作为 Git 仓库,我们只需使它初始化。 git init使用我们指定目录作为Git仓库。 git init newrepo克隆远程仓库 git clone https://gitee.com/zhang-min…

银行数字化转型导师坚鹏:银行数字化创新应用与案例分析

银行数字化创新应用与案例分析 课程背景: 很多银行存在以下问题: 不知道如何进行数字化创新? 不知道金融科技在银行业的重要应用? 不清楚银行同业的数字化创新有哪些案例? 课程特色: 用独特视角…

在C上++ -- 函数重载与引用

一、函数重载 函数重载:是函数的一种特殊情况,C允许在同一作用域中声明几个功能类似的同名函数,这 些同名函数的形参列表(参数个数 或 类型 或 类型顺序)不同,常用来处理实现功能类似数据类型 不同的问题。 简单来说&#xff1a…

点云处理及三维重建软件(Point Cloud Viewer, PCV)的设计与实现

GitHub 地址:point-cloud-viewer 文章目录 使用教程以及相关工具库Step 1 搭建环境Step 2 使用Cmake构建工程Step3 使用VS 编写code并编译执行 点云处理及三维重建软件(PCV)的设计与实现一, 软件总体设计1.1 软件设计流程需求分析总体设计技术选型详细设…

【RestFul系列】RestFul学习笔记

目录 一、REST定义 二、REST架构的主要原则 三、RESTful介绍 1、资源(Resources) 2、 表现层(Representation) 3、 状态转化(State Transfer) 四、RESTful的使用 1、RESTful资源操作 2、接口示例&…

verilog设计实现8b-10b编码器包括3b4b,5b6b 及modelsim仿真

下面是8b10b编码器的设计步骤。 确定数据输入和输出接口。例如,您需要确定8位并行数据输入和10位串行数据输出。 计算数据带宽。这与芯片中可用的时钟速度密切相关。 选择编码表。根据应用选择最佳编码表,8b10b编码器至少应使用一张编码表。详细了解和选择编码表有利于改善编…

图的存储及基本操作总结(邻接矩阵、邻接表)及C/C++代码实现

文章目录 前言一、邻接矩阵1.概念2.图像示例3. 代码实现注意邻接矩阵的特点 二、邻接表1.概念2.图像示例3.代码实现邻接表的特点 前言 图是一种比较复杂的数据结构,每个结点之间可以有多种关系。 所以,一个图可以呈现出千奇百怪的形式。 对于不同的形式…

使用FFMPEG库将YUV编码为H264

准备 ffmpeg 4.4 p准备一段yuv420p的格式的视频原始数据 这里我们使用命令直接提取 ffmpeg -i .\beautlWorld.mp4 -pixel_format yuv420p -s 1280x720 yuv420p_1280x720.yuv 编码流程 大致可以分为以下几步: 1.初始化编码器并设置参数 2.初始化AVPacket和AVFr…

【Java基础 1】Java 环境搭建

🍊 欢迎加入社区,寒冬更应该抱团学习:Java社区 📆 最近更新:2023年4月22日 文章目录 1 java发展史及特点1.1 发展史1.2 Java 特点1.2.1 可以做什么?1.2.2 特性 2 Java 跨平台原理2.1 两种核心机制2.2 JVM…

Activiti入门

目录 一、了解工作流 1、什么是工作流 2、工作流引擎 3、常见工作流引擎 4、Activiti7概述 4.1、Activiti介绍 4.2、建模语言BPMN 4.3、Activiti使用流程 一、了解工作流 1、什么是工作流 工作流(Workflow),就是通过计算机对业务流…

SSeg总体思路

1:在train中加载train和test数据集。 2:指定数据集为kitti,确定训练验证的batchsize。 3:提前定义好数据预处理,首先是几何变换,包括随机裁切等。 4:然后是外观变换,包括高斯滤波…

计算同列排斥力的一种可能方法

假设神经网络同列数字之间有一种排斥力,且这种排斥力也与距离的平方成反比。设0是环境,1是粒子,则两个1之间的排斥力就是距离平方的倒数。 考虑任意遥远的两个粒子之间都有排斥力,可以得到同列排斥力的计算方法为 如计算"01…

移动硬盘数据恢复软件实用技巧

在我们日常生活中,移动硬盘已经成为了我们不可或缺的存储设备之一。但是,由于各种原因,移动硬盘中的数据有时会丢失或损坏,这时候我们就需要使用移动硬盘数据恢复软件来帮助恢复数据。那么,移动硬盘数据恢复软件有哪些…

Windows环境下实现设计模式——中介者模式(JAVA版)

我是荔园微风,作为一名在IT界整整25年的老兵,今天总结一下Windows环境下如何编程实现中介者模式(设计模式)。 不知道大家有没有这样的感觉,看了一大堆编程和设计模式的书,却还是很难理解设计模式&#xff…