12 sfshang

尚未进行身份认证

暂无相关描述

等级
博文 15
排名 119w+

查看JVM情况命令

jmap  观察运行中的jvm物理内存的占用情况。  参数如下:  -heap:打印jvmheap的情况,会列出堆的总体使用情况,还有新生代老生代的内存占用情况。  -histo:打印jvmheap的直方图。其输出信息包括类名,对象数量,对象占用大小。其中[Cisachar[][Sisashort[][Iisaint[][Bisa...

2018-07-17 14:27:21

eureka

Eureka的一些概念Register:服务注册当Eureka客户端向EurekaServer注册时,它提供自身的元数据,比如IP地址、端口,运行状况指示符URL,主页等。Renew:服务续约Eureka客户会每隔30秒发送一次心跳来续约。通过续约来告知EurekaServer该Eureka客户仍然存在,没有出现问题。正常情况下,如果EurekaServer在90秒没...

2018-07-17 12:31:24

redis实现分布式锁

前言分布式锁一般有三种实现方式:1.数据库乐观锁;2.基于Redis的分布式锁;3.基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如何正确地实现Redis分布式锁。可靠性首先,为了确保分布式锁可用,我们至少要确保...

2018-07-17 10:20:25

NIO学习笔记(3)--选择器

选择器:选择器基础:一个或多个可选择的通道注册到选择器对象中。一个表示通道和选择器的键将会被返回。选择键会记住您关心的通道。当您调用一个选择器对象的select()方法时,相关的键会被更新,用来检查所有被注册到该选择器的通道。有两种方式可以选择:1.被激发的线程可以处于休眠状态,直到一个或者多个注册到选择器的通道就绪...

2018-07-13 10:53:35

NIO学习笔记(2)--通道

通道:既不是一个扩展也不是一项增强,而是全新、极好的JavaI/O示例,提供与I/O服务的直接连接。Channel用于在字节缓冲区和位于通道另一侧的实体(通常是一个文件或套接字)之间有效地传输数据。通道基础:与缓冲区不同,通道API主要由接口指定。InterruptibleChannel是一个标记接口,当被通道使用时可以标示该通道是可以中断的(In...

2018-07-13 10:35:43

NIO学习笔记(1)--buffer

Buffer:一个Buffer对象是固定数量的数据的容器。    其作用是一个存储器,或者分段运输区,在这里数据可被存储并在之后用于检索。    对于每个非布尔原始数据类型都有一个缓冲区类。   &am

2018-07-13 10:32:32

go语言并发编程-补充

Go语言从语言层面上就支持了并发,这与其他语言大不一样,不像以前我们要用Thread库来新建线程,还要用线程安全的队列库来共享数据。以下是我入门的学习笔记。首先,并行!=并发,两者是不同的,可以参考:http://concur.rspace.googlecode.com/hg/talk/concur.htmlGo语言的goroutines、信道和死锁goroutineGo语...

2018-04-22 09:07:05

跨域解决

AORS跨域问题解决浏览器在访问非本域的请求的时候,会有跨域问题。有跨域的问题后,浏览器中正常的访问会分为两次访问进行:1.浏览器会先用options请求,返回的header中会有“Access-Control-Allow-Origin”,“Access-Control-Allow-Methods”,“Access-Control-Allow-Headers”,“Access-Contro...

2018-04-10 11:31:54

23种设计模式

一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。二、设计模...

2018-03-27 15:33:56

java8新特性

java8新特性lamda表达式:Lambda表达式,也可称为闭包,它是推动Java8发布的最重要新特性。Lambda允许把函数作为一个方法的参数(函数作为参数传递进方法中)。使用Lambda表达式可以使代码变的更加简洁紧凑。可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号。...

2018-03-27 10:24:38

go语言安全编程

安全编程哈希函数packagemainimport("fmt""crypto/sha1""crypto/md5")funcmain(){TestString:="Hi,pandaman!"Md5Inst:=md5.New()Md5Inst.Write([]byte(TestString))Result:...

2018-02-24 11:13:54

go语言网络编程

网络编程Socket编程(1)建立Socket:使用socket()函数。(2)绑定Socket:使用bind()函数。(3)监听:使用listen()函数。或者连接:使用connect()函数。(4)接受连接:使用accept()函数。(5)接收:使用receive()函数。或者发送:使用send()函数。无论我们期望使用什么协议建立什么形式的连...

2018-02-24 10:49:50

go语言并发编程

协程协程(Coroutine)本质上是一种用户态线程,不需要操作系统来进行抢占式调度,且在真正的实现中寄存于线程中,系统开销极小。packagemainimport"fmt"funcCount(chchanint,iint){fmt.Println("Counting",i)ch<-1}funcmain(){chs:...

2018-02-23 17:53:17

go语言-面向对象编程

值类型和引用类型go语言中的类型绝大部分都是值类型,有四种类型可以看做是引用类型:数组切片:指向数组(array)的一个区间。map:极其常见的数据结构,提供键值查询能力。channel:执行体(goroutine)间的通信设施。接口(interface):对一组满足某个契约的类型的抽象。结构体Go语言放弃了包括继承在内的大量面向对象特性,只保留了组合(...

2018-02-23 10:58:29

go语言基础语法

go语言笔记go语法变量定义关键字var,而类型信息放在变量名之后,变量声明语句不需要使用分号作为结束符。示例如下:varv1intvarv2stringvarv3[10]int//数组varv4[]int//数组切片varv5struct{fint}varv6*int//指针varv7map[string]i...

2018-02-22 17:52:54
奖章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!