自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 文件操作,异步非阻塞I/O

文件操作,异步非阻塞I/Ojava封装了很棒且很完美的文件系统操作详情请移步https://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.htmlimport org.springframework.util.ClassUtils;import java.io.IOException;import java.ne...

2018-04-08 14:42:53 855

原创 分布式锁-zookeeper-SharedReentrantReadWriteLock基于InterProcessReadWriteLock(四)分布式重入读写共享锁

分布式重入读写共享锁:InterProcessReadWriteLock共享重入读写锁zk分布式锁基础依赖package com.miku.common.util.lock.zookeeper;import org.apache.curator.framework.recipes.locks.InterProcessMutex;import org.apache.curator.framework

2018-02-02 11:05:06 1996

原创 分布式锁-zookeeper-SharedReentrantLock基于InterProcessMutex(三)分布式重入共享锁

分布式重入共享锁:InterProcessMutex可重入共享锁,同一个线程可以重新调用获取,多次调用需要相应的释放资源zk分布式锁基础依赖package com.miku.common.util.lock.zookeeper;import com.miku.common.util.lock.support.AbstractZookeeperLock;import org.apache.

2018-02-02 10:47:33 1270 2

原创 分布式锁-zookeeper-SharedLock基于InterProcessSemaphoreMutex(二)分布式共享锁

分布式共享锁:InterProcessSemaphoreMutex完全分布的全局同步锁,意味着在任何快照时间,没有两个客户端认为他们拥有相同的锁,继承上一篇分布式锁-zookeeper的AbstractZookeeperLock。细节与注意事项请看分布式锁-基于zookeeper客户端curator实现锁机制(一)锁基础package com.miku.common.util.lock.zookee

2018-02-01 22:27:49 3058

原创 分布式锁-基于zookeeper客户端curator实现锁机制(一)锁基础

分布式锁基础:继承接口的锁实现,以统一的接口调用完成,封装错误处理定义接口,实现此接口都拥有获取锁与释放锁/* * Copyright 2016-2018. Individual ownership panw * * Tech blog at http://blog.csdn.net/hatsune_miku_. * * Contact Mailbox at <a ...

2018-02-01 22:05:33 2343

原创 BigDecimal、DecimalFormat工具类-浮点类型计算格式化-史上最全=_=

即上一篇屌的一批的时间操作工具类之后又一力作BigDecimal浮点类型操作/DecimalFormat浮点类型格式化保留小数注意:1. 强制依赖jdk8以上 2.方法:支持可变长参数,所有数值类型以及collection类型声明:可变长参数的方法跟传入两个参数的方法其实是可以用重载来声明相同的方法名的。这里个人认为在使用工具类的时候其实大概知道自己传入参数的数量,所以用更鲜明的方法名来区分会更易阅

2017-11-26 00:20:57 1798 1

原创 Date、LocalTime、LocalDate、LocalDate-时间操作工具类

java 8时间日期操作工具类,覆盖了日常工作中大部分的日期操作,因LocalDateTime自身封装的方法比完善,简单的操作只需转换格式调用封装方法即可。强制依赖jdk8LocalDateUtils/* * Copyright 2016-2018. Individual ownership panw * * Tech blog at http://blog.csdn.net/hatsune_

2017-11-24 01:05:45 9080

原创 Nginx配置详情-配置说明-参数优化-Nginx反向代理、负载均衡(四)

前言:上一篇写到ngx_http_core_module模块提供的变量,这一篇主要讲Nginx反向代理与负载均衡。反向代理(reverse proxy)方式是指代理服务器来接收Internet上的连接请求,然后将请求转发给内部网络中的上游服务器,并将从上游服务器得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外的表现就是一个Web服务器。充当反向代理服务器也是Nginx的一种常见

2017-09-26 23:49:05 28052

原创 Nginx配置详情-配置说明-参数优化-ngx_http_core_module模块变量(三)

前言:上一篇写到Nginx核心模块HTTP模块,这一篇主要讲ngx_http_core_module模块提供的变量在记录access_log访问日志文件时,可以使用ngx_http_core_module模块处理请求时所产生的丰富的变量,当然这些变量还可以用户其他HTTP模块。例如:当URI中的某个参数满足设定的条件时,有些HTTP模块的配置项可以使用类似$arg_PARAMETER这样的变量。又如

2017-09-24 22:51:49 48532

原创 Nginx配置详情-配置说明-参数优化-核心HTTP配置(二)

前言:上一篇写到Nginx的基础配置,这一篇主要讲Nginx核心模块HTTP模块1、虚拟主机与请求转发监听端口 配置块:server 监听端口,由于ip地址数量有限,因此经常存在多个主机域名对应着同一个ip地址的情况,这时在nginx.conf中就可以按照server_name(对应用户请求中的域名)并通过server块来定义虚拟主机,每个server块就是一个虚拟主机,它只处理与之相应的主机

2017-09-24 17:57:37 10667

原创 Nginx配置详情-配置说明-参数优化(一)

前言:Nginx?为什么选择Nginx?还不用Nginx你就out了。Nginx相比Apache拥有更块、高扩展性、高可用性、低内存消耗、单机支持10万以上并发等等。后面将分为几篇文章来简单介绍Nginx的配置等说明。nginx.conf配置通用语法块配置项块配置项由一个块配置项名和一对大括号组成如: user nobody; worker_processes 8;

2017-09-24 16:34:43 26056

转载 TCP-可靠传输的实现-滑动窗口协议

TCP协议作为一个可靠的面向流的传输协议,其可靠性和流量控制由滑动窗口协议保证,而拥塞控制则由控制窗口结合一系列的控制算法实现。一、滑动窗口协议     关于这部分自己不晓得怎么叙述才好,因为理解的部分更多,下面就用自己的理解来介绍下TCP的精髓:滑动窗口协议。     所谓滑动窗口协议,自己理解有两点:1. “窗口”对应的是一段可以被发送者发送的字节序列,其连续的范围称之为“窗口”;

2017-09-06 14:38:22 13143

原创 nginx-网络参数优化-网络参数详解-linux内核网络参数

滑动窗口的大小与套接字缓存区会在一定程度上影响并发连接的数目,每个TCP连接都会为维护TCP滑动窗口而消耗内存,这个窗口会根据服务器的处理速度收缩或扩张。参数wmem_max的设置,需要平衡物理内存的总大小、nginx并发处理的最大连接数量(由nginx.conf中的worker_processes和worker_connections参数决定)而确定。如果仅仅为了提高并发量使服务器不出现out of memory问题而去降低滑动窗口大小,那么并不合适,因为滑动窗口过小会影响大数据量的传输速度。

2017-09-06 14:32:17 5965

转载 linux-进程切换,用户态进程,内核态进程

进程切换一开始我并不想写这个笔记,因为太过复杂,我一直想以简单的方式理解内核,只从概念,避免涉及过多的代码。实际上,我写笔记的时候,书已经看到很后面了,因为总要理解更多才能理解之前看似简短实际复杂的内容。但最后发现实际上任何内容都没有办法跳过,即便不想看,也需要了解基本的概念,所以依旧不会拿大段代码,但总会拿少量代码。如果不感兴趣,我觉得也可以跳过,只需要知道一个概念即可。关于进程切换

2017-09-05 14:41:43 1114567 3

转载 Linux IO模式及 select、poll、epoll详解

注:本文是对众多博客的学习和总结,可能存在理解错误。请带着怀疑的眼光,同时如果有错误希望能指出。同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的。所以先限定一下本文的上下文。本文讨论的背景是Linux环境下的network IO。一 概念说明在进行解释之前,首先要说明几个概念:- 用户空间和内核

2017-09-05 14:37:40 22506

原创 spring schema 扩展(NamespaceHandler,BeanDefinitionParser)

前言:Spring从2.0开始引入了一个新的机制用于扩展xml模式,我们就可以编写自定义的xml bean解析器然后集成到Spring IoC容器中(Spring不识别aop,mvc,这些标签都是通过本章要学习的内容,扩展标签)mvc:interceptors>mvc:interceptors>aop:config>aop:config>xml扩展大概有以下几个步

2017-08-10 01:15:05 948319 1

原创 Dubbo之旅-启动解析-扩展spirng标签-阿里SOA服务化治理方案

Dubbo通过Spring的加载而启动,本文分析了通过注解方式加载的过程.   1.Schema扩展         通过注解加载dubbo,需要在spring的配置文件中添加:  dubbo:annotation是dubbo基于spring的schema扩展。dubbo的schema描述文件在dubbo-config-s

2017-08-06 15:36:48 399168

转载 HTTP 请求头中的 X-Forwarded-For

我一直认为,对于从事 Web 前端开发的同学来说,HTTP 协议以及其他常见的网络知识属于必备项。一方面,前端很多工作如 Web 性能优化,大部分规则都跟 HTTP、HTTPS、SPDY 和 TCP 等协议的特点直接对应,如果不从协议本身出发而是一味地照办教条,很可能适得其反。另一方面,随着 Node.js 的发展壮大,越来越多的前端同学开始写服务端程序,甚至是服务端框架(ThinkJS 就是这样

2017-07-23 01:47:21 40723

原创 Java 8 Function之Predicate

Java 8 Predicate 示例java.util.function.Predicate是在java 8中引入的functional interface。Predicate用于分配lambda表达式。functional interface是返回布尔值的test(T t)。当我们将对象传递给这个方法时,它将通过分配的lambda表达式来评估对象。语法介绍: public

2017-06-22 00:08:34 10222

转载 Java Lambda(语言篇——lambda,方法引用,目标类型,默认方法,函数接口,变量捕获)

深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)原文链接:http://zh.lucida.me/blog/java-8-lambdas-insideout-language-features关于本文是深入理解 Java 8 Lambda 系列的第一篇,主要介绍 Java 8 新增的语言特性(比如 lambda 和方法引用),语

2017-06-21 23:06:03 1487

转载 Java 8 SecureRandom 生成随机数

Java 8的SecureRandom API对原有的有几个变化根据Oracle,已经做出了以下有趣的变化:对于类UNIX平台,已经引入了两个新的实现,它们提供了阻塞和非阻塞行为:NativePRNGBlocking和NativePRNGNonBlocking。所述getInstanceStrong()方法是在JDK 8中引入此方法返回的每个平台上可用的最强SecureRa

2017-06-19 00:37:00 32054

转载 Java 8 将Map转换为List

将一个Java示例转换Map为ListMapString, String> map = new HashMap>();// Convert all Map keys to a ListListString> result = new ArrayList(map.keySet());// Convert all Map values to a ListListString> resu

2017-06-18 18:07:07 73863 2

转载 Java 8 flatMap示例

在Java 8中,Stream可以容纳不同的数据类型,例如:StreamString[]>StreamSetString>>StreamListString>>StreamListObject>>但是,Stream操作(filter,sum,distinct ...)和collectors不支持它,所以我们需要使用flatMap()进行以下转换:StreamStrin

2017-06-18 18:03:52 35803 2

转载 Java 8 Map Filter 过滤示例

Java 8 Map Filter 过滤示例Java 8之前:String result = "";for (Map.EntryInteger, String> entry : A_MAP_EXAMPLE.entrySet()) { if("something".equals(entry.getValue())){ result = entry.getValue(); }

2017-06-18 18:02:00 43406 2

转载 Java 8 将List转换为Map

几个Java 8示例来向您展示如何将一个List对象转换为一个Map,以及如何处理重复的键Hosting.javapackage com.mkyong.java8public class Hosting { private int Id; private String name; private long websites; public H

2017-06-18 17:56:12 72038 6

转载 Java 8 Map sort

Java 8 Map 排序Java 8的Stream例子Map,按键或按值排序。快速说明在Java 8中排序地图的步骤将map转换为流排序Collect and return 新的LinkedHashMapMap result = map.entrySet().stream() .sorted(Map.Entry.comparingByKey()) .c

2017-06-18 17:37:36 3273

转载 Java 8 Stream 流已被操作或关闭

在Java 8中,Stream不能重复使用,一旦被消耗或使用,流将被关闭,类似流水线,水龙头的水一样一去不复返示例 - 流关闭查看以下示例,它会抛出一个IllegalStateException,表示“流被关闭”。TestJava8.javapackage com.mkyong.java8;import java.util.Arrays;import java.u

2017-06-18 16:02:59 4776

转载 Java 如何将Array转换为Stream

Java 如何将Array转换为Stream在Java 8中,您可以使用Arrays.stream或Stream.of将Array转换为Stream对于Objects Array,Arrays.stream和Stream.of返回相同的输出TestJava8.javapackage com.mkyong.java8;import java.util.Arra

2017-06-18 15:53:38 7057

转载 Java 8 将Stream转换为List

Java 8 将Stream转换为ListJava8Example1.javapackage com.mkyong.java8;import java.util.List;import java.util.stream.Collectors;import java.util.stream.Stream;public class Java8Example1 {

2017-06-18 15:43:04 4828

转载 Java 8 Stream Filter 过滤null值

Java 8 Stream Filter 过滤null值查看Stream流包含的null值。Java8Examples.javapackage com.mkyong.java8;import java.util.List;import java.util.stream.Collectors;import java.util.stream.Stream;publi

2017-06-18 15:37:19 53354 1

转载 Java 8 Stream Collectors groupingBy 示例

展示如何使用Java 8 Stream Collectors进行分组,计数,总和和排序List分组,计数和排序1.1分组List并显示其总数。Java8Example1.javapackage com.mkyong.java8;import java.util.Arrays;import java.util.List;import java.util.Map;

2017-06-18 11:51:59 67701 1

转载 Java 8 Streams map 示例

Java 8 Streams map 示例在Java 8中stream().map(),可以将对象转换为其他对象。查看以下示例:1.大写字符串列表1.1 Java示例将Strings List转换为大写。TestJava8.javapackage com.mkyong.java8;import java.util.ArrayList;import ja

2017-06-18 09:55:41 3715

原创 晚到的学习,java 8深入学习之路

开坑之前,java 8 的一些新特性其实已经学习的差不多了,在这里记录一下,虽然很多是借鉴国外大神的,其中也不乏自己的见解。

2017-06-17 10:35:54 506

原创 tomcat“闪退” 进程终止排查-进程退出、解决方案

Tomcat进程意外退出的问题分析

2017-06-15 19:37:40 951479 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除