8. 造成HashMap非线程安全的原因

在前面我的一篇总结(6. 线程范围内共享数据)文章中提到,为了数据能在线程范围内使用,我用了 HashMap 来存储不同线程中的数据,key 为当前线程,value 为当前线程中的数据。我取的时候根据当前线程名从 HashMap 中取即可。 因为当初学习 HashMap 和 HashTable 源码的时候,知道 HashTable 是线程安全的,因为里面的方法使用了 synchronized 进行同步,但是 HashMap 没有,所以 HashMap 是非线程安全的。 在上面提到的例子中,我想
分类: 其他 发布时间: 01-10 23:18 阅读次数: 0

Python练习题7(统计不同字符数量):编写一个函数,分别统计出传入字符串参数(可能不只一个参数)的英文字母、空格、数字和其它字符的个数(比如:'hello world,123456,Change the world by program!',这句话有字母33个,数字6个,空格5个,其他符号3个)

方法一:用内置方法isdigit()判断数字,isspace()判断空格,isalpha()判断字母,然后格式化输出 1 def str_count(msgs): 2 letter_count = 0 3 num_count = 0 4 space_count = 0 5 other_countd = 0 6 context = '' 7 str_sum = len(msgs) 8 for msg in msgs: 9
分类: 其他 发布时间: 01-10 23:18 阅读次数: 0

微信打开页面,下载东西时调用其他浏览器下载

将打包好的apk文件部署到服务器,把下载页面的URL通过草料二维码或根据url代码生成一个二维码,由于微信对apk文件经行了屏蔽,所以需要提示用户微信内无法下载,安卓自动跳转到浏览器打开下载链接,苹果请点击左上角按钮,选择在浏览器中打开进行下载等提示。那么该如何判断用户? 我们知道 js 可以通过 window.navigator.userAgent 来获取浏览器的相关信息,比如:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, l
分类: 其他 发布时间: 01-10 23:18 阅读次数: 0

CCF关于NOI省选申诉的说明

NOI省选由各省根据NOI条例及CCF省选规定组织省内选拔,各省组织单位对其省选过程和结果负责 对省选的申诉首先提交至NOI省组织单位,NOI省组织单位必须先给出处理意见。对于NOI省组织单位不能决定的,由省组织单位向CCF提出申诉支持,必须说明省里不能决定的理由,CCF将根据省里提供的事实材料进行判定;对于NOI省组织单位的决定不服者,可以向CCF申诉,且必须同时附上省内处理决定。
分类: 其他 发布时间: 01-10 23:18 阅读次数: 0

git push后出错

参考链接: 1,https://blog.csdn.net/shiren1118/article/details/7761203 2,http://www.cnblogs.com/xwdreamer/archive/2012/05/29/2523958.html To github.com:zhuchangli/generatorSqlmapCustom.git ! [rejected] master -> master (non-fast-forward) error: failed to
分类: 其他 发布时间: 01-10 23:18 阅读次数: 0

前端知识点总结(HTML篇)

HTML ie的某些兼容性问题 doctype的作用 HTML中标准模式和怪异模式有什么不同 写出你常用的HTML标签 为什么要少用iframe HTML语义化的理解 行内元素和块级元素的异同及img类似的特殊性 盒模型,及在浏览器兼容方面的异同 HTML5 HTML5的新特性 canvas画图 HTML5中引进data-有什么作用 canvas的性能优化 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
分类: 其他 发布时间: 01-10 23:18 阅读次数: 0

Linux实例安装VNC Server实现图形化访问

引自阿里云: https://help.aliyun.com/knowledge_detail/41530.html
分类: 其他 发布时间: 01-10 23:17 阅读次数: 0

对工作的思考

我工作了很久,我不时的进行反思,从最开始的只知道看问题,到遇到问题分析问题,我在想这个是个巨大的进步,从多个层次进行思考,这个或许是工作获得的成果吧,增加自己的知识,扩充自己的知识储备。很多方面吧
分类: 其他 发布时间: 01-10 23:17 阅读次数: 0

Pyserial

#打印系统所有的串口端口 import serial import serial.tools.list_ports port_list = list(serial.tools.list_ports.comports()) for port in port_list: print(port) #简单的串口发送数据程序 import serial ser = serial.Serial('com3') sms_out = ser.write('世界,你好!').encode('gbk
分类: 其他 发布时间: 01-10 23:17 阅读次数: 0

docker配置国内镜像地址

docker的官方镜像站被大天朝强了,今天发现阿里有镜像加速这个功能,目前好像是在公测中,废话不多说,接下来告诉你怎么操作。 点击进入阿里镜像库 https://cr.console.aliyun.com/cn-hangzhou/new 安装docker之后 在专门的docker的配置文件地方 修改镜像的地址 cd /etc/sysconfig/docker 里面第三行 other_args="--registry-mirror=https://c0bhpg4j.mirror.aliyuncs
分类: 其他 发布时间: 01-10 23:17 阅读次数: 0

播放音乐逻辑

播放音乐逻辑 mediaplayer 播放音频和视频 try { String path = Environment.getExternalStorageDirectory().getPath(); Log.e(TAG, "palysMusic: " + path+"/data/xpg.mp3"); mediaPlayer.setDataSource(path + "/data/xpg.mp3");
分类: 其他 发布时间: 01-10 23:17 阅读次数: 0

canvas 鼠标位置缩放图形

最近再做 webcad , 需要在 canvas 上对图形进行缩放,主要分为以下几个步骤: 1、找到当前光标所在位置,确定其在相对 canvas 坐标系的坐标   绑定鼠标滚轮事件,假定每次缩放比例 0.2   求鼠标相对坐标 p0 2、图形由点组成,对每个点进行矩阵变换,得到变换后的坐标,假设图中一点为 p1:   v1 = p1 - p0 // 将 p0 作为变换图形的原点   p1 = v1.scale(x_ratio, y_ratio) // 缩放   p1 = p1 + p0 //
分类: 其他 发布时间: 01-10 23:17 阅读次数: 0

搭建rsync实时同步

1、本实验基于centos6.5服务器做的 cat cat /etc/redhat-release 2、在配置环境之前需要先将服务器自带的rsync卸除 yum -y remove rsync* 3、清除以后,安装wget服务   因为之前安装过所以显示已经安装 4、使用命令下载rsync和inotify wget --no-check-certificate https://jaist.dl.sourceforge.net/project/inotify-tools/inotify-tool
分类: 其他 发布时间: 01-10 23:17 阅读次数: 0

HDFS新特性-Federation

正如我们所知,Hadoop 集群的元数据信息存放在NameNode 的内存中,当集群扩大到一定的规模之后,NameNode 内存中存放的元数据信息可能会非常大。由于HDFS 的所有操作都会和NameNode 进行交互,当集群很大时,NameNode 就会成为集群的瓶颈。为了解决该问题,Hadoop2.x 引入了Federation 机制。 Federation 优势: HDFS 集群拓展性:多个NameNode 分管一部分目录,使得一个集群可以拓展到多个节点,不像Hadoop 1.0 中由于内
分类: 其他 发布时间: 01-10 23:17 阅读次数: 0

Spark集群安装和WordCount编写

一、Spark概述 官网:http://spark.apache.org/ Apache Spark™是用于大规模数据处理的统一分析引擎。 为大数据处理而设计的快速通用的计算引擎。 Spark加州大学伯克利分校AMP实验室。不同于mapreduce的是一个Spark任务的中间结果保存到内存中。 空间换时间。 Spark启用的是内存分布式数据集。 用scala语言实现,与spark紧密继承。用scala可以轻松的处理分布式数据集。
分类: 其他 发布时间: 01-10 23:17 阅读次数: 0

layui + thymeleaf 动态拼接地址

1.第一种方式 {url}进行占位,在后面的()里写入占位的值 ${url}是controller里面传过来的值 <img th:src="@{{url}{{d.userImg}}(url=${url})}" alt="加载失败"/> 2.第二种方式 {{d.userImg}} 是layui的获取全局变量里的值,用单引号引起来 <img th:src="@{${url} + '{{d.userImg}}'}" alt="加载失败"/> 后面可以继续拼接值 如果是字符串只要用 + 和 '' 引
分类: 其他 发布时间: 01-10 23:17 阅读次数: 0

有这么一个id叫DD

有这么一个id叫DD 虽然从来不去想,但是这一天还是到来了。似乎比我预想的要早,但我真心为你感到高兴。 昨晚看到你的朋友圈,心中有种说不出来的感觉。和海波说着你明天就要走了,海波来了句“怕什么,召唤师峡谷再见“。倒是让我心中觉得坦然了一些。你对于我而言亦师亦友亦兄。如果问我读研期间我最大的收获是什么,那一定就是有幸遇见了你。 师。你说你毕业后要去当老师,你喜欢那种教别人的感觉。确实你教的很好,如果你是我的老师,我一定很乐意听你的课。你和很多技术很厉害的人不同,很淡然,少了一份傲气,性格也很随和
分类: 其他 发布时间: 01-10 23:17 阅读次数: 0

css属性总结

前言 有些属性不是很常用,但是工作中遇到了,记录一下,方便学习。 1、text-indent text-indent 属性规定文本块中首行文本的缩进。主要实现就像word那种首行缩进的效果。 详解http://www.w3school.com.cn/cssref/pr_text_text-indent.asp
分类: 其他 发布时间: 01-10 23:17 阅读次数: 0

VsCode最实用插件集合

工欲善其事,必先利其器 插件位置 C:\Users(用户)\Administrator(你的用户名).vscode\extensions 插件集合https://www.oschina.net/translate/top-visual-studio-code-extensions 部分演示https://blog.csdn.net/qq_38906523/article/details/77278403 解决cpu占用过高 文件->首选项->搜索“search.followSymlinks”改
分类: 其他 发布时间: 01-10 23:17 阅读次数: 0

c/c++ 继承与多态 文本查询的小例子(智能指针版本)

为了更好的理解继承和多态,做一个文本查询的小例子。 接口类:Query有2个方法。 eval:查询,返回查询结果类QueryResult rep:得到要查询的文本 客户端程序的使用方法: //查询包含Daddy的文本所在的行 Query q("Daddy"); //查询不包含Alice的文本所在的行 Query q = ~Query("Alice"); //查询,有fiery或者bird的行 Query q = Query("fiery") | Query("bird"); //查询,既有fi
分类: 其他 发布时间: 01-10 23:17 阅读次数: 0