- 博客(17)
- 收藏
- 关注
转载 JMM(JAVA内存模型) - 先行发生原则
本文中需要的基础知识:指令重排线程中两个非常重要的问题就是:原子性与可见性.而下面的先行发生原则就是用来解决可见性问题的.先行发生原则--是判断是否存在数据竞争、线程是否安全的主要依据。先行发生是Java内存模型中定义的两项操作之间的偏序关系。如果说操作A先行发生于操作B,其实就是说在发生操作B之前,操作A产生的影响被操作B察觉。以下面的一段伪代码为例://以下操作在线程A中执行int i = 1;//以下操作在线程B中执行j = i;//以下操作在线程C中执行i =
2021-01-21 15:48:12
270
转载 nginx:auth_basic模块,放行某个特定路径
nginx:auth_basic,除特定位置外的所有内容http://www.voidcn.com/article/p-uovlahwn-btp.html
2020-10-22 18:05:00
602
原创 git 给历史提交打 tag
1)利用git log命令查看要特定commit的hash值$ git log --pretty=oneline --abbrev-commit2)使用 git tag命令打tag没有tag信息说明方式:$ git tag v0.9 xxxx含有tag信息说明方式:$ git tag -a v0.1 -m "version 0.1 released" 3628164说明:命令git tag 用于新建一个标签,默认为HEAD,也可以指定一个commit id;git tag -a -
2020-07-24 14:32:40
3073
原创 Windows下 RabbitMQ 服务启动失败的原因
首先Erlang和RabbitMQ的版本一定得是匹配的版本对照官网:https://www.rabbitmq.com/which-erlang.html第二个就是比较坑的地方了安装RabbitMQ和Erlang的目录一定不能有空格和中文字符。重点就是我之前将电脑用户名命名为中文了,即使我后面把用户名改为英文,用户文件夹还是中文改不过来了看网上说可以用如下方法解决先进入到rabbitmq的sbin目录:D:\rabbitmq\rabbitmq-server\rabbitmq_server-3.
2020-07-21 10:07:57
11729
9
原创 Idea 合并分支只选取部分文件的办法
这里准备了3个分支做测试master - 生产dev - 开发hotfix - 修复在dev分支分别改动了,TestFrame、MainFrame两个文件,然后提交首选切换到master分支,然后点击右下角的分支按钮,在展开的栏目里,选择dev分支,接着在三级栏目里选择 show diff with working tree接着弹出如下界面要做更改的文件,点击get from branch,最后提交即可...
2020-07-17 16:31:19
7755
4
原创 spring boot 集成mybatis后扫描不到xml
① 首先查看mapper接口跟mapper.xml的映射关系② 是否加了注解@MapperScan③ mapper-locations是否配置正确④ 如果xml文件是放在src/main/java下需在 pom.xml 下配置<build><resources> <resource> <directory>src/main/java</directory> <includes>
2020-07-13 09:19:51
452
原创 Spring Data MongoDB 使用多字段排序
直接在Query里面添加with,即可,例如 //rank排序 Sort rankSort = new Sort(Sort.Direction.ASC, rankField); //创建时间排序 Sort createDateSort = new Sort(Sort.Direction.DESC, FIELD_CREATE_DATE); Query query = Query.query(criteria); query.with(rankSort).with(c
2020-07-08 10:53:22
3312
1
原创 Java8 流式处理 获取指定元素的下标
直接上代码 List<String> list = new ArrayList<>(); list.add("test1");list.add("test2");list.add("test3"); list.add("test4");list.add("test5");list.add("test6"); list.add("test7");list.add("test8");list.add("test9"); AtomicInteger i
2020-07-08 10:43:47
13873
原创 Linux 查找某个应用的安装目录
which[root@iZ94d74d2reZ opt]# which redis-server/usr/local/bin/redis-serverwhereis[root@sss opt]# whereis redis-serverredis-server: /usr/local/bin/redis-server两者区别1.whichwhich命令是查找命令是否存在,以及命令的存放位置在哪儿。2.whereiswhereis命令只能用于搜索程序名,而且只搜索二进制文件(参数
2020-07-03 16:43:38
259
原创 TCP连接状态详解
LISTENING提供某种服务,侦听远方TCP端口的连接请求,当提供的服务没有被连接时,处于LISTENING状态,端口是开放的,等待被连接。SYN_SENT (客户端状态)客户端调用connect,发送一个SYN请求建立一个连接,在发送连接请求后等待匹配的连接请求,此时状态为SYN_SENT.SYN_RECEIVED (服务端状态)在收到和发送一个连接请求后,等待对方对连接请求的确认,当服务器收到客户端发送的同步信号时,将标志位ACK和SYN置1发送给客户端,此时服务器端处于SYN_RCVD
2020-07-03 16:27:57
239
转载 HashMap为什么使用尾插法?
原文链接:https://www.jianshu.com/p/0df1f25139e4一.那么关于遇到hash冲突时候这个数据是头插呢?还是尾插呢?关于HashMap链表插入问题,java8之前之前是头插法头插法:就是说新来的值会取代原有的值,原有的值就顺推到链表中去,就像上面的例子一样,因为写这个代码的作者认为后来的值被查找的可能性更大一点,提升查找的效率。在java8之后,都是所用尾部插入了。?????????????????????????????????????????????????
2020-06-28 16:44:50
6534
3
转载 HashMap的默认长度为什么是16?
原文链接:https://blog.csdn.net/zjcjava/article/details/78495416一句话概括就是为了,降低hash碰撞的几率,实现hash均匀分布的原则
2020-06-28 16:21:31
531
转载 HTTP、SSL/TLS和HTTPS协议的区别与联系
SSL是“Secure Sockets Layer”的缩写,中文叫做“安全套接层”。SSL标准化之后的名称改为TLS(是“Transport Layer Security”的缩写),中文叫做“传输层安全协议”。 很多相关的文章都把这两者并列称呼(SSL/TLS),因为这两者可以视作同一个东西的不同阶段。HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入S
2020-06-23 09:48:12
463
1
原创 Java8 流式开发的简单案例
Stream.of().filter() //条件过滤.map() //指定需要的字段.collect(); //重新构建集合(Collectors.toList()、Collectors.toSet()、Collectors.toMap()、...)List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);numbers.stream() .filter(e -> e % 3 == 0
2020-06-22 14:48:35
317
原创 Spring Data MongoDB 的使用
前期准备maven配置 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>mongodb配置spring: data: mongodb: host: 127.0.
2020-06-22 14:38:52
346
原创 MongoDB 常用 Shell 命令
MongoDB 常用 Shell 命令根据ID查询db.document.findOne({_id: ObjectId("")});按属性查询db.document.find({"": "", "": ""});或查询db.document.find({ $or: [ {"": ""}, {"": ""} ]});只查询需要的字段db.document.find({}, {id: 1, '': 1});过滤不需要的字段db.document.find({}, {i
2020-06-22 14:15:08
425
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人