摘要: 概述 多个线程操作共享变量(Java堆内存上的数据)会带来bug,Java提供了锁机制(Lock)来管理多线程并发,比如synchronized,但是会带来额外的性能开销(线程阻塞,上下文切换等)。为了提升性能,Java引入了原子变量,通过无锁算法(lock free)实现多线程安全,比如CAS。 阅读全文
posted @ 2020-04-12 18:58 june.js 阅读(469) 评论(0) 推荐(0) 编辑
摘要: 在提供图片上传的接口时,我们可能会需要知道上传来的图片是什么格式,比如 jpg,png,gif等等。图片的格式信息会存放到图片文件的头信息中,Java提供了ImageIO类来处理图片,代码片段如下: 阅读全文
posted @ 2020-04-12 18:56 june.js 阅读(1206) 评论(0) 推荐(0) 编辑
摘要: 概述 JMM规范指出,每一个线程都有自己的工作内存(working memory),当变量的值发生变化时,先更新自己的工作内存,然后再拷贝到主存(main memory),这样其他线程就能读取到更新后的值了。 注意:工作内存和主存是JMM规范里抽象的概念,在JVM的内存模型下,可以将CPU缓存对应作 阅读全文
posted @ 2020-04-12 18:54 june.js 阅读(449) 评论(2) 推荐(1) 编辑
摘要: 结论 当有二进制数据传输时,使用 multipart/form data,否则使用 x www form urlencoded。 区别 x www form urlencoded 和 multipart/form data 是HTTP协议中,向服务器发送POST请求时的两种编码方案,对应form表单 阅读全文
posted @ 2020-04-12 18:49 june.js 阅读(630) 评论(0) 推荐(0) 编辑
摘要: 当我们在本地仓库的分支上做开发时,对于一个功能进行了多次提交,在push到远程仓库之前我们希望把这几个相关的commit合并为一个,这样更加简洁,也方便review。 如果想把 featureB 相关的三次提交合并为一个,可以执行如下命令 此时使用 git log 查看日志 三次提交合并为了一次提交 阅读全文
posted @ 2020-04-12 18:40 june.js 阅读(3228) 评论(2) 推荐(0) 编辑
摘要: 使用可选依赖 将依赖坐标的元素的值设置为true,则代表这是一个可选依赖。 使用optional依赖可以节省空间和内存 使用场景 当编写一个类库时,比如projectX,可能会包含很多功能,但是依赖projectX的项目projectA只会使用其中一部分功能,对于没有用到的功能,projectA不希 阅读全文
posted @ 2020-04-12 18:38 june.js 阅读(2008) 评论(0) 推荐(2) 编辑
摘要: 选择一:项目级配置(推荐) 找到项目中的如下文件: build.gradle 在项目的根目录下找到如下文件: build.gradle ,打开编辑,在下图红色箭头处添加阿里云的镜像。 添加如下代码: 在 apply 上面,添加如下代码: 选择二:全局配置(操作系统的当前用户) 在操作系统当前用户的 阅读全文
posted @ 2020-04-12 18:35 june.js 阅读(24278) 评论(3) 推荐(3) 编辑
摘要: 当使用命令 docker pull mysql 拉取镜像时,其实等价于如下命令 latest是默认的标签,字面上理解为最新版本的镜像,实质上latest只是镜像的标签名称,跟具体某个版本号地位一样,有latest标签的镜像不一定是最新版本,镜像作者可以任意指定标签。 一般来说,我们会使用latest 阅读全文
posted @ 2020-04-12 18:22 june.js 阅读(8756) 评论(0) 推荐(0) 编辑
摘要: 26. Using the higher order function reduce(), write a function max_in_list() that takes a list of numbers and returns the largest one. Then ask yourse 阅读全文
posted @ 2017-05-28 14:38 june.js 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 1. 设置字体为Consolas,Size:16, Line spacing: 1.1 2. 设置智能提示大小写不敏感 在设置中搜索sense, 找到配置节点 Editor->General->Code Completion,然后把Case sensitive completions设置为None 阅读全文
posted @ 2017-05-03 09:13 june.js 阅读(189) 评论(0) 推荐(0) 编辑