Docker CE 安装-MAC版

Docker简介

Docker是一项由GO语言开发实现的容器技术。Docker技术相较于传统的虚拟化方式,更加的轻便、快捷。从下面这张只要说到Docker就必然出现的对比图中可以看出,传统虚拟化技术是在宿主机上再虚拟出一套硬件,在其上运行一个完整的操作系统,再在系统上运行所需的应用进程;而容器的技术则没有自己独立的内核,应用程序使用宿主机的内核,也不用虚拟硬件,使得容器更加的轻便。

Java Stream流编程

Stream流编程也是java8中的新特性。Stream是一个高级的迭代器,不是一个数据结构,不是一个集合,不会存放数据。它是将数据放在一个流水线中处理,在流水线的一边输入数据,在流水线的尾端得到结果,中间有一系列的操作。

外部迭代和内部迭代

先看代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import java.util.stream.IntStream;

public class StreamDemo1 {
public static void main(String[] args) {
int[] nums = {1,2,3};
//外部迭代
int sum = 0;
for(int i:nums){
sum += i;
}
System.out.println("结果为" + sum);
//使用stream的内部迭代
int sum2 = IntStream.of(nums).sum();
System.out.println("结果为" + sum2);
}
}

Java函数式编程及lambda

为什么要使用函数式编程

从jdk1.8开始,java开始支持函数式编程以及lambda表达式,本文简单描述一下函数式编程以及lambda表达式的常见使用方法。函数式编程是一种编程范式,他和命令式编程的区别有几点:

  • 最大区别在于关注点不同:命令式编程关注怎么做,函数式编程中关注做什么

例如,利用java实现找到最小的数,命令式编程的代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
public class MinDemo{
public static void main(String[] args){
int[] nums = {34,45,65,11,-47,23,75};

int min = Integer.MAX_VALUE;
for(int i:nums){
if(i < min){
min = i;
}
}
System.out.println(min);
}
}

Redis学习(下)

Redis Keys操作

1
2
3
4
5
6
7
8
keys * #查询所有keys,*,?,[]都是通配符,*匹配任意多个字符,?匹配一个字符,[]匹配括号内某一个字符
keys test* #查询所有以test开头的keys
del [key1] [key2] ... #删除keys
exists [key] #判断key是否存在,存在为1,不存在为0
rename [oldkey] [newkey] #重命名key
expire [key] [seconds] #设置key的过期时间,单位秒
ttl [key] #查询key的剩余时间,当key没有设置过期时间,返回-1
type [key] #获取key的类型

Redis学习(中)

Redis的数据结构

  • 字符串(String)(常用)
  • 字符串列表(list)
  • 有序字符串集合(sorted set)
  • 哈希(hash)(常用)
  • 字符串集合(set)

Redis是一个key-value的数据库,key定义时候要注意不要过长,最好不要超过1024字节,不仅消耗内存,而且还会降低查找效率;也不要太短,会降低key的可读性;最好有统一命名规范。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×