- 博客(15)
- 资源 (1)
- 收藏
- 关注
原创 RabbitMQ系列-SpringBoot创建三种类型交换机
@Configuration@PropertySource(value = "classpath:application.properties")public class RabbitMqConfig { @Value("${rabbitmq.host}") private String host; @Value("${rabbitmq.port}") p...
2018-09-30 11:02:09 2033
转载 JDK1.8 中文开发帮助文档
JDK1.8 中文开发帮助文档转载的目的,在于方便浏览与查看;但是该文章目前还没有找到原文的出处,找到了马上附加上!!! 英文版:Oracle 官网在线 JDK1.9 文档:https://docs.oracle.com/javase/9/docs/api/Oracle 官网在线 JDK1.8 文档:https://docs.oracle.com/javase/8/do...
2018-09-27 19:36:54 16110 1
原创 Java8 -- Fork/Join
Fork/Join框架是Java 7提供的一个用于并行执行任务的框架,是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。Fork/Join框架要完成两件事情: 1.任务分割:首先Fork/Join框架需要把大的任务分割成足够小的子任务,如果子任务比较大的话还要对子任务进行继续分割 2.执行任务并合并结果:分割的子任务分别放到双端队列里,然后几个启动线程...
2018-09-27 19:10:35 369
原创 Java8 -- Optional
Optional Optional 是个容器:它可以保存类型T的值,或者仅仅保存null。Optional提供很多有用的方法,这样我们就不用显式进行空值检测。Optional 类的引入很好的解决空指针异常。 创建 /** * 创建Optional对象 * empty : 创建一个空的Optional对象 * of : 不能为空 *...
2018-09-27 16:13:04 185
原创 Java8 -- List转Map
实体类public class User { private Integer id; private String username; private Integer age;}1.Guava方法/** * uniqueIndex(唯一索引): 通过指定key值创建Map * * 但是该方法存在两个问题: *...
2018-09-25 14:35:56 595
原创 Java8 -- Collectors
Collectors API1.toList()public List<User> toList(List<User> users) { return users.stream().filter(c -> c.getAge() > 25L).collect(Collectors.toList()); }2.toSet()...
2018-09-21 17:54:38 438
原创 乐观锁和悲观锁的区别
悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。乐观锁(Optimistic Lock), 顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不...
2018-09-14 16:56:54 132
原创 修改Ubuntu的apt-get源
1、复制原文件备份sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak2、编辑源列表文件sudo vim /etc/apt/sources.list3、将原来的列表删除,添加如下内容deb http://mirrors.163.com/ubuntu/ precise main universe restricted ...
2018-09-13 20:17:40 202
原创 解决虚拟机没ip的问题
虚拟机没ip和连不上网的解决办法https://blog.csdn.net/ylmf_yyz/article/details/46646449https://blog.csdn.net/menlinshuangxi/article/details/7968955https://jingyan.baidu.com/article/ad310e8014d12d1848f49e6f.html...
2018-09-13 17:49:56 1062
原创 Ubuntu下配置DNS
方法一: 通过/etc/network/interfaces,在它的最后增加一句(多个dns之间用空格分隔):auto eth0iface eth0 inet static address 192.168.201.100 netmask 255.255.255.0 gateway 192.168.201.254 dns-nameservers 114.114...
2018-09-13 17:44:41 2502
原创 IDEA 快捷键
idea 快捷键快捷键 操作 shift+F6 修改类名(鼠标右键 refactor->rename) Ctrl + J 快速打开代码模板 Ctrl + R 在当前文件进行文本替换 Ctrl + Y 删除光标所在行 或 删除选中的行 Ctrl + W 递进式选择代码块。可选中光标所在的单词或段落,连续按会在原有选中的基础上再扩展选...
2018-09-05 15:03:29 200
原创 NIO与传统I/O之间I/O的区别
要想讲清楚nio的原理和它的优点得先清楚Java应用程序的文件读写原理和虚拟内存的原理。Java文件读取原理可参见如下图:当应用程序需要读取文件的时候,内核首先通过DMA技术将文件内容从磁盘读入内核中的buffer,然后Java应用进程再从内核的buffer将数据读取到应用程序的buffer。为了提升I/O效率和处理能力,操作系统采用虚拟内存的机制。虚拟内存也就是我们常说的交换内存,它...
2018-09-04 12:30:39 468
原创 网络编程---I/O模型
一、同步、异步、阻塞、非阻塞常见的分类有以下: 同步阻塞IO 同步非阻塞IO 异步非阻塞IO 阻塞:是否阻塞主要体现在调用的线程是否可以干别的,关注的是程序的等待状态同步:是否同步体现在消息通信机制上 。也就是说同步和异步说的是消息的通知机制,阻塞非阻塞说的是线程的状态 。如果说以上的定义依然无法判别,我们可以从输入操作的两个阶段来看:一般来说,一...
2018-09-01 23:21:27 355 2
原创 NIO Dome
服務端public class Server { // 通道管理器 private Selector selector; /** * 启动服务端测试 * * @throws IOException */ public static void main(String[] args) throws IOException...
2018-09-01 20:35:16 204
原创 BIO Dome
服务器public class SocketServer { private static ExecutorService executeService = Executors.newCachedThreadPool(); public static void main(String[] args) throws IOException { //创建soc...
2018-09-01 15:25:15 150
https权威指南
2018-05-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人