java
文章平均质量分 78
sfshang
这个作者很懒,什么都没留下…
展开
-
NIO学习笔记(2)--通道
通道:既不是一个扩展也不是一项增强,而是全新、极好的Java I/O示例,提供与I/O服务的直接连接。 Channel用于在字节缓冲区和位于通道另一侧的实体(通常是一个文件或套接字)之间有效地传输数据。 通道基础:与缓冲区不同,通道API主要由接口指定。 InterruptibleChannel是一个标记接口,当被通道使用时可以标示该通道是可以中断的(In...原创 2018-07-13 10:35:43 · 222 阅读 · 0 评论 -
NIO学习笔记(1)--buffer
Buffer:一个Buffer对象是固定数量的数据的容器。     其作用是一个存储器,或者分段运输区,在这里数据可被存储并在之后用于检索。     对于每个非布尔原始数据类型都有一个缓冲区类。    &am原创 2018-07-13 10:32:32 · 225 阅读 · 0 评论 -
查看JVM情况命令
jmap 观察运行中的jvm物理内存的占用情况。 参数如下: -heap :打印jvm heap的情况,会列出堆的总体使用情况,还有新生代老生代的内存占用情况。 -histo: 打印jvm heap的直方图。其输出信息包括类名,对象数量,对象占用大小。其中 [C is a char[] [S is a short[] [I is a int[] [B is a...转载 2018-07-17 14:27:21 · 12511 阅读 · 1 评论 -
eureka
Eureka的一些概念Register:服务注册 当Eureka客户端向Eureka Server注册时,它提供自身的元数据,比如IP地址、端口,运行状况指示符URL,主页等。Renew:服务续约 Eureka客户会每隔30秒发送一次心跳来续约。 通过续约来告知Eureka Server该Eureka客户仍然存在,没有出现问题。 正常情况下,如果Eureka Server在90秒没...转载 2018-07-17 12:31:24 · 1290 阅读 · 1 评论 -
redis实现分布式锁
前言分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如何正确地实现Redis分布式锁。可靠性首先,为了确保分布式锁可用,我们至少要确保...转载 2018-07-17 10:20:25 · 258 阅读 · 0 评论 -
跨域解决
AORS跨域问题解决浏览器在访问非本域的请求的时候,会有跨域问题。有跨域的问题后,浏览器中正常的访问会分为两次访问进行: 1.浏览器会先用options请求,返回的header中会有“Access-Control-Allow-Origin”,“Access-Control-Allow-Methods”,“Access-Control-Allow-Headers”,“Access-Contro...原创 2018-04-10 11:31:54 · 301 阅读 · 0 评论 -
java8新特性
java8 新特性lamda 表达式:Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。 Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。 使用 Lambda 表达式可以使代码变的更加简洁紧凑。可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号。...原创 2018-03-27 10:24:38 · 187 阅读 · 0 评论 -
NIO学习笔记(3)--选择器
选择器:选择器基础:一个或多个可选择的通道注册到选择器对象中。一个表示通道和选择器的键将会被返回。选择键会记住您关心的通道。 当您调用一个选择器对象的select( )方法时,相关的键会被更新,用来检查所有被注册到该选择器的通道。 有两种方式可以选择: 1.被激发的线程可以处于休眠状态,直到一个或者多个注册到选择器的通道就绪...原创 2018-07-13 10:53:35 · 201 阅读 · 0 评论