8. 造成HashMap非线程安全的原因
在前面我的一篇总结(6. 线程范围内共享数据)文章中提到,为了数据能在线程范围内使用,我用了 HashMap 来存储不同线程中的数据,key 为当前线程,value 为当前线程中的数据。我取的时候根据当前线程名从 HashMap 中取即可。 因为当初学习 HashMap 和 HashTable 源码的时候,知道 HashTable 是线程安全的,因为里面的方法使用了 synchronized 进行同步,但是 HashMap 没有,所以 HashMap 是非线程安全的。 在上面提到的例子中,我想
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
微信打开页面,下载东西时调用其他浏览器下载
将打包好的apk文件部署到服务器,把下载页面的URL通过草料二维码或根据url代码生成一个二维码,由于微信对apk文件经行了屏蔽,所以需要提示用户微信内无法下载,安卓自动跳转到浏览器打开下载链接,苹果请点击左上角按钮,选择在浏览器中打开进行下载等提示。那么该如何判断用户? 我们知道 js 可以通过 window.navigator.userAgent 来获取浏览器的相关信息,比如:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, l
CCF关于NOI省选申诉的说明
NOI省选由各省根据NOI条例及CCF省选规定组织省内选拔,各省组织单位对其省选过程和结果负责 对省选的申诉首先提交至NOI省组织单位,NOI省组织单位必须先给出处理意见。对于NOI省组织单位不能决定的,由省组织单位向CCF提出申诉支持,必须说明省里不能决定的理由,CCF将根据省里提供的事实材料进行判定;对于NOI省组织单位的决定不服者,可以向CCF申诉,且必须同时附上省内处理决定。
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
前端知识点总结(HTML篇)
HTML ie的某些兼容性问题 doctype的作用 HTML中标准模式和怪异模式有什么不同 写出你常用的HTML标签 为什么要少用iframe HTML语义化的理解 行内元素和块级元素的异同及img类似的特殊性 盒模型,及在浏览器兼容方面的异同 HTML5 HTML5的新特性 canvas画图 HTML5中引进data-有什么作用 canvas的性能优化 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docker配置国内镜像地址
docker的官方镜像站被大天朝强了,今天发现阿里有镜像加速这个功能,目前好像是在公测中,废话不多说,接下来告诉你怎么操作。 点击进入阿里镜像库 https://cr.console.aliyun.com/cn-hangzhou/new 安装docker之后 在专门的docker的配置文件地方 修改镜像的地址 cd /etc/sysconfig/docker 里面第三行 other_args="--registry-mirror=https://c0bhpg4j.mirror.aliyuncs
canvas 鼠标位置缩放图形
最近再做 webcad , 需要在 canvas 上对图形进行缩放,主要分为以下几个步骤: 1、找到当前光标所在位置,确定其在相对 canvas 坐标系的坐标 绑定鼠标滚轮事件,假定每次缩放比例 0.2 求鼠标相对坐标 p0 2、图形由点组成,对每个点进行矩阵变换,得到变换后的坐标,假设图中一点为 p1: v1 = p1 - p0 // 将 p0 作为变换图形的原点 p1 = v1.scale(x_ratio, y_ratio) // 缩放 p1 = p1 + p0 //
搭建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
HDFS新特性-Federation
正如我们所知,Hadoop 集群的元数据信息存放在NameNode 的内存中,当集群扩大到一定的规模之后,NameNode 内存中存放的元数据信息可能会非常大。由于HDFS 的所有操作都会和NameNode 进行交互,当集群很大时,NameNode 就会成为集群的瓶颈。为了解决该问题,Hadoop2.x 引入了Federation 机制。 Federation 优势: HDFS 集群拓展性:多个NameNode 分管一部分目录,使得一个集群可以拓展到多个节点,不像Hadoop 1.0 中由于内
Spark集群安装和WordCount编写
一、Spark概述 官网:http://spark.apache.org/
Apache Spark™是用于大规模数据处理的统一分析引擎。
为大数据处理而设计的快速通用的计算引擎。
Spark加州大学伯克利分校AMP实验室。不同于mapreduce的是一个Spark任务的中间结果保存到内存中。
空间换时间。
Spark启用的是内存分布式数据集。
用scala语言实现,与spark紧密继承。用scala可以轻松的处理分布式数据集。
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="加载失败"/> 后面可以继续拼接值 如果是字符串只要用 + 和 '' 引
有这么一个id叫DD
有这么一个id叫DD 虽然从来不去想,但是这一天还是到来了。似乎比我预想的要早,但我真心为你感到高兴。 昨晚看到你的朋友圈,心中有种说不出来的感觉。和海波说着你明天就要走了,海波来了句“怕什么,召唤师峡谷再见“。倒是让我心中觉得坦然了一些。你对于我而言亦师亦友亦兄。如果问我读研期间我最大的收获是什么,那一定就是有幸遇见了你。 师。你说你毕业后要去当老师,你喜欢那种教别人的感觉。确实你教的很好,如果你是我的老师,我一定很乐意听你的课。你和很多技术很厉害的人不同,很淡然,少了一份傲气,性格也很随和
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”改
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
今日推荐
周排行