2 飞翔的小宇宙

尚未进行身份认证

天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。 人之为学有难易乎?学之,则难者亦易矣;不学,则易者亦难矣。

等级
TA的排名 2w+

Java8中新增的时间类

一.LocalTime类1.1 介绍:1.LocalTime.now(): 获取系统当前时间2.LocalTime.of(int hour,int minute,int second)按指定时间创建LocalTime对象3.getHour(): 返回小时4.getMinute(): 返回分钟5.getSecond(): 返回秒1.2 demo演示: public class ...

2019-11-11 20:47:16

Eureka、Zookeeper和Consul 的区别

主要区别的话,看CAP选择,大部分注册中心,就是在这个定理去选择的,具体怎么选择,看下文CAP定理: 指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可同时获得。一致性(C): 在分布式系统中的所有数据备份,在同一时刻是否同样的值。(所有节点在同一时间的数据完全一致,越多节点,数据同步...

2019-09-21 09:40:13

通过流式集合对list集合中的数据进行统计

主要使用的是Collectors工具类和流式集合搭配使用进行统计操作demo演示:import java.util.ArrayList;import java.util.List;import java.util.Map;import java.util.stream.Collectors;public class GradeCount { public static void...

2019-08-22 20:55:18

通过流式集合接口对list集合进行模糊查询和筛选

一.通过Matcher中的find()方法对list集合进行模糊查询操作1.创建实体对象:public class User { private Integer id; private String name; private String password; public User() { } public User(Integer...

2019-08-22 15:11:25

传统map遍历和java8新的遍历方式比较

本篇文章主要是讲关于原始对map的遍历以及java8提供的新的遍历方式,个人感觉在代码的优化上是非常简洁的1.创建测试数据 Map<String, Object> map = new HashMap<>(); map.put("key1", "value1"); map.put("key2", "value2"); map.put("key...

2019-07-16 15:06:33

anyMatch和allMatch以及noneMatch的区别

一.方法的介绍:boolean anyMatch(Predicate<? super T> predicate)只要有一个条件满足即返回trueboolean allMatch(Predicate<? super T> predicate)必须全部都满足才会返回trueboolean noneMatch(Predicate<? super T> pre...

2019-07-16 10:59:32

定时器Timer的使用

一.序言: 在JDK库汇总的Timer类主要负责计划任务的功能,也就是在指定的时间开始执行某一个任务,Timer类的主要左右就是设置计划任务,但封装任务的类却是TimerTask类,执行计划任务的代码要放入TimerTask的子类中,因为TimerTask是一个抽象类.二.demo演示:1.指定未来的时间执行任务:public class MyTask1 extends Time...

2019-07-11 14:02:25

多线程中的读写锁

一.序言:    类ReentrantLock具有完全互斥排他的效果,即同一时间只有一个线程在执行ReentrantLock.lock()方法后面的任务,这样做虽然保证了实例变量的线程安全性,单效率却是非常低的.所以在JDK中提供了一种读写锁ReentrantReadWriteLock类,使用它可以加快运行效率,在某些不需要操作实例变量的方法中,完全可以使...

2019-07-09 14:45:44

多线程中的公平锁和非公平锁

一.公平锁与非公平锁概念:    锁Lock分为"公平锁"和"非公平锁",公平锁表示线程获取锁的顺序是按照线程加锁的顺序分配的,即先来先得的FIFO先进先出的顺序,而非公平锁就是一个获取锁的抢占机制,是随机获得锁的,和公平锁不一样的就是先来的不一定先得到锁,这个当时可能造成某些线程一直拿不到锁,结果也就是不公平的了。二.创建一个类,在构造中初始化Reen...

2019-07-04 11:12:43

ReentrantLock类与Condition类配合实现等待/通知机制

一.ReentrantLock概述:     ReentrantLock和synchronized一样效果,都可以同步执行,ReentrantLock通过lock方法获得锁,unlock方法释放锁。二.ReentrantLock常用方法:lock(): 获取锁,调用该方法当前线程将会获取锁,当锁获取后,该方法将返回,否则阻塞。lockInt...

2019-07-04 09:45:47

对List集合中对象的某一个属性进行去重排序

引言:    本文主要介绍通过JDK提供的原始的去重排序和使用Lambda表达式的形式进行集合中数据的去重和排序一.环境准备:1.实体类:public class User { private Long id; private String name; public Long getId() { return ...

2019-06-05 14:04:20

设计模式之原型模式

一.介绍1.定义:指原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象不需要知道任何创建的细节,不调用构造函数2.类型:创建型3.适用场景:类初始化消耗较多资源new产生的一个对象需要非常繁琐的过程(数据准备,访问权限等)构造函数比较复杂循环体中生产大量对象时4.优点:原型模式性能比直接new一个对象性能高简化创建过程5.缺点:必须配备克隆方法(cl...

2019-05-31 14:25:53

设计模式之建造者模式

一.介绍1.建造者定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示用户只需指定需要建造的类型就可以得到他们,建造过程及细节不需要知道2.类型:创建型3.适用场景:如果一个对象有非常复杂的内部结构(很多属性)想把复杂对象的创建和使用分离4.优点:封装性好,创建和使用分离扩展性好,建造者之间独立,一定程度上解耦5.缺点:产生多余的Buil...

2019-05-23 15:23:23

redis哨兵架构搭建与测试

一.Redis-sentinel简介    Redis 的 Sentinel 系统用于管理多个 Redis 服务器(instance),Redis 的 Sentinel 为Redis提供了高可用性。使用哨兵模式创建一个可以不用人为干预而应对各种故障的Redis部署。1.该系统有以下三个作用:1).监控(Monitoring):Sentinel会不断地检...

2019-05-08 17:05:25

redis主从架构搭建

一.绪论   Redis的复制功能是基于内存快照的持久化策略基础上的,也就是说无论你的持久化策略选择的是什么,只要用到了Redis的复制功能,就一定会有内存快照发生。   当Slave启动并连接到Master之后,它将主动发送一个SYNC命令( 首先Master会启动一个后台进程,将数据快照保存到文件中[rdb文件] Master 会...

2019-05-08 11:48:30

ArrayBlockingQueue有界阻塞队列方法与源码解析

一.构造方法解析1.构造指定大小的有界队列,默认为非公平的public ArrayBlockingQueue(int capacity) { this(capacity, false);}2.构造指定大小的有界队列,指定为公平或者非公平锁 默认false为非公平public ArrayBlockingQueue(int capacity, boolean fair) {...

2019-04-17 11:44:26

Springboot集成kafka

一.kafka在mac环境下的安装1.安装kafka$brew install kafka上面安装过程中已经自动安装了zookeeper2.软件位置/usr/local/Cellar/zookeeper/usr/local/Cellar/kafka3.配置文件位置/usr/local/etc/kafka/zookeeper.properties/usr/local/etc/k...

2019-04-02 16:39:37

网络编程之Netty实践(三)

一.介绍    Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。也就是说,Netty 是一个基于NIO的客户、服务器端编程框架,使用Netty 可以确保你快速和简单的开发出一个网络应用,例如实现了某种协议的客户、服务端应用。Netty相当于简化...

2019-04-02 09:39:01

网络编程之NIO(二)

一.NIO定义    Java NIO的非阻塞模式,使一个线程从某通道发送请求读取数据,但是它仅能得到目前可用的数据,如果目前没有数据可用时,就什么都不会获取,而不是保持线程阻塞,所以直至数据变的可以读取之前,该线程可以继续做其他的事情。 非阻塞写也是如此。一个线程请求写入一些数据到某通道,但不需要等待它完全写入,这个线程同时可以去做别的事情。 线程通常将...

2019-04-02 08:43:16

网络编程之BIO(一)

一.编程套路服务端:1. 创建服务器端实例 ServerSocket ss = new ServerSocket();2. 指定服务器的监听端口 ss.bind(new InetSocketAddress(9999));3. 创建Socket进行请求转发给Socket Socket s = ss.accept();4. 获取客户端意图 InputStream request = s...

2019-04-01 19:16:57

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。