工作记录 - 使用全局变量引发的问题
使用全局变量引发的问题
- 前言
- 一:问题代码
- 二:修正代码
- 总结
有个经典的面试题:static final 修饰的全局变量List, 其地址是不变的,但是内容是可变的。
前言
最近在工作中遇到了这个问题:每次读取后,会进行加工。最终导致List越来越大。且重启后,数据会重置。
一:问题代码
@RestController
@RequestMapping(value = "demo")
public class DemoController {private static final List<String> STR_LIST = Lists.newArrayList("1", "2", "3", "4");@PostMapping(value = "m1", name = "m1")public void methodOne(@RequestBody JSONObject jsonObject) {List<String> strList = STR_LIST;strList.add(String.valueOf(strList.size() + 1));System.out.println(STR_LIST);}}
执行结果:
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6, 7]
[1, 2, 3, 4, 5, 6, 7, 8]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
二:修正代码
@RestController
@RequestMapping(value = "demo")
public class DemoController {private static final List<String> STR_LIST = Lists.newArrayList("1", "2", "3", "4");@PostMapping(value = "m1", name = "m1")public void methodOne(@RequestBody JSONObject jsonObject) {List<String> strList = Lists.newArrayList(STR_LIST);strList.add(String.valueOf(strList.size() + 1));System.out.println(STR_LIST);}}
执行结果:
[1, 2, 3, 4]
[1, 2, 3, 4]
[1, 2, 3, 4]
[1, 2, 3, 4]
[1, 2, 3, 4]
总结
使用全局变量时,建议new一个对应去接收,而不是直接等于。
List<String> strList = Lists.newArrayList(STR_LIST);
工作记录 - 使用全局变量引发的问题相关推荐
- 如何通过路由器日志查看路由器是否断网过_路由器本身有一个日志功能,里面存了很多工作记录...
第一种原因或许是来自路由器内存的问题,路由器本身有一个日志功能,里面存了很多工作记录. 有的路由器本身内存小,用的时间久了日志信息就会占满内存,出现路由器无缘无故卡一下的状况,从而导致网络连接故障,无 ...
- 5.20——工作记录
5.20--工作记录 前言 记录 jsp显示问题 人员详情检索 证件类型 证件号码 变灰 禁用 恢复人员检索信息 总结 前言 记录 jsp显示问题 问题:之前显示成aseid了 问题解决 点详情把人员 ...
- 2015年1月工作记录和阅读记录
2019独角兽企业重金招聘Python工程师标准>>> 关于IT.翻过了2014的一年,也走到了大四的中间.成长说不上,但是眼界是慢慢开阔了.这一年的节奏像流水一样缓慢平稳,没有特别 ...
- 5.26——工作记录
5.26--工作记录 前言 过程 总结 重点 前言 目标:1.准备查询的基础sql 2.查询页面, 3.点击设备编码按钮的显示 4.图片 过程 deviceStatusPerceptionEventI ...
- 5.6-5.8工作记录2—分页模糊查询
5.6-5.8工作记录2-改造ssh 前言 作战过程 5.7项目上篇--分页模糊查询 jsp ssm PK ssh 准备ssm 对比ssh: 工作bug记录 注意 打怪 查询以及分页 知识点 准备第二 ...
- 项目实训工作记录(二)
项目实训工作记录(二)赵乐乐 201800301115 词向量搜索分析与算法设计 项目实训工作记录(二)赵乐乐 201800301115 1.词向量搜索 2.搜索过程中的问题分析 3.基于效率的算法设 ...
- openshift/origin工作记录(9)——openshift结合jenkins实现持续集成
最近工作为基于jenkins.Openshift实现持续集成. 由于只给了我一周的时间,这里先记录一下V1.0版的实现过程. 集成jenkins 参考<openshift/origin学习记录( ...
- 2020.4.23工作记录————Regsvr32加载控件失败:“请确保该二进制存储在指定路径中。。。”
工作记录----Regsvr32加载控件失败: 之前的OCX控件今天我因为工作需要又重新写了个新的,跟之前不同的是这次的控件链接了第三方的动态库,但是在OCX控件生成完成后我使用管理员身份运行cmd对 ...
- 计算机科学与技术指导情况记录表,计算机科学与技术学院工作记录模板.doc
计算机科学与技术学院工作记录模板 武汉科技大学 计算机科学与技术学院 2011 / 2012 学年 第 二 学期 毕业设计工作记录 毕业设计(论文)题目: 基于JAVA的网上购物系统 专业名称: 计算 ...
最新文章
- Batch Normalization的一些个人理解
- 2018-2019 网络对抗技术 20165231 Exp5 MSF基础应用
- 由浅入深剖析go channel
- 扛并发主力军,引入应用层缓存
- scare机器人如何手眼标定_基于视觉伺服的工业机器人系统研究(摄像机标定、手眼标定、目标单目定位)...
- Spring Boot 设置 ASCII banner 艺术字
- 小蒜的A+B 计蒜客 - T1283
- php上传文件类插件,JQueryfileupload插件实现文件上传功能_jquery
- selenium定位方式
- cacti实现微信告警功能
- samba - 为 UNIX 实现的 Windows SMB/CIFS 文件服务器
- 【笔记】VUE学习笔记
- java优化 pdf_Java性能优化权威指南 PDF扫描[132MB]
- vax关于js方面的一些设置
- 【深度学习】视频分类技术整理
- 华硕笔记本FH5900VQ 如何利用Winflash更新BIOS
- 如何一键修改CAD图纸底图颜色?
- 用Android和node.js实现扫码登录
- 金融业分布式数据库选型及HTAP场景实践
- 计算机科学与技术专接本试题,计算机科学与技术专业专接本入学考试试题.doc...