自定义博客皮肤

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

两个线程分别交替打印A、B的一种Java写法

大致思路是用条件变量作为两个线程通信的工具,然后用一个AtomicBoolean的变量作为flag保证线程间的可见性 代码如下 import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.l...

2019-09-16 10:20:34

阅读数 79

评论数 0

13_线程池的实际操作

参考 https://www.cnblogs.com/kuoAT/p/6714762.html 线程池一般就是这么用的 public static void main(String[] args) { ExecutorService executorService = Exe...

2019-09-15 19:24:47

阅读数 9

评论数 0

AQS和ReentrantLock

AQS提供的几个比较关键的 public 方法有 public final void acquire(int arg) 底层用到了 protected boolean tryAcquire(int arg) 和 final boolean acquireQueued(final Node no...

2019-08-09 18:06:12

阅读数 58

评论数 0

Goroutines和线程

转自 https://yar999.gitbooks.io/gopl-zh/content/ch9/ch9-08.html 动态栈 每一个OS线程都有一个固定大小的内存块(一般会是2MB)来做栈,这个栈会用来存储当前正在被调用或挂起(指在调用其它函数时)的函数的内部变量。这个固定大小的栈同时...

2019-07-19 18:19:09

阅读数 19

评论数 0

nsq总结

基本组件 (1) nsqd 官方原话:nsqd 是一个守护进程,负责接收,排队,投递消息给客户端 简单的说,真正干活的就是这个服务,它主要负责message的收发,队列的维护。nsqd会默认监听一个tcp端口(4150)和一个http端口(4151)以及一个可选的https端口 总的来说,nsqd...

2019-07-17 09:53:34

阅读数 52

评论数 0

nsq官方文档翻译和笔记(部分)

参考 https://nsq.io/overview/design.html QUICK START The following steps will run a small NSQ cluster on your local machine and walk through publish...

2019-07-17 09:52:48

阅读数 60

评论数 0

java nio示例

参考 https://crunchify.com/java-nio-non-blocking-io-with-server-client-example-java-nio-bytebuffer-and-channels-selector-java-nio-vs-io/ NIOServer.ja...

2019-06-20 18:00:03

阅读数 23

评论数 0

1_使用LinkedHashMap实现LRU

参考 https://www.cnblogs.com/lzrabbit/p/3734850.html LRU的整体思路是:淘汰最长时间未使用的页面(key) 一种简单的实现思路是: 维持一个链表,把刚被插入的节点放在链表尾;刚被访问的节点脱链,也放到链表尾;每次需要淘汰节点的时候就淘汰链表...

2019-06-09 17:14:26

阅读数 63

评论数 0

go的协程

参考来源 https://wiki.jikexueyuan.com/project/the-way-to-go/ Go 语言为构建并发程序的基本代码块是 协程 (goroutine) 与通道 (channel)。他们需要语言,编译器,和runtime的支持。Go 语言提供的垃圾回收器对并发编程...

2019-06-02 19:28:21

阅读数 207

评论数 0

csrf攻击和token

参考来源 https://zhuanlan.zhihu.com/p/22521378 csrf攻击 A网站是一个正常的直播类网站可以送礼物,送礼物的接口是 https://xxxx.com/gift/send?target=someone&giftId=ab231 (get和p...

2019-05-26 11:26:58

阅读数 53

评论数 0

《Try Redis》笔记

Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, h...

2019-05-11 20:00:22

阅读数 16

评论数 0

How_to_Write_Go_Code

Introduction This document demonstrates the development of a simple Go package and introduces the go tool, the standard way to fetch, build, and inst...

2019-05-07 21:29:20

阅读数 28

评论数 0

Go 1 and the Future of Go Programs

Introduction The release of Go version 1, Go 1 for short, is a major milestone in the development of the language. Go 1 is a stable platform for the ...

2019-05-07 21:28:45

阅读数 18

评论数 0

vi与vim

(1) 所以UNIX like系统都会__内置vi文本编辑器__ (2) vim可以看做vi的高级版本,可以高亮程序中的关键字等,所以可以用作__程序编辑器__ 3种模式 (1) 一般模式 vi filename以后进入一般模式,可以进行删除、复制、粘贴等操作,但是__不能编辑__ (2) 编...

2019-05-05 19:42:20

阅读数 11

评论数 0

5_Concurrency

(1) goroutine是一个被Go运行时管理的轻量级线程 go f(x, y, z) f, x, y, and z在当前goroutine发生,f函数的执行在新的goroutine发生 (2) Goroutine在同一块地址空间运行,所以共享内存时需要同步 channels (1) ...

2019-05-05 12:09:23

阅读数 17

评论数 0

4_Methods_and_Interfaces

方法 (1) Go 没有类, 不过你可以为结构体类型定义方法, 方法就是一类__带特殊的 接收者__参数的函数。 方法接收者在它自己的参数列表内,位于 func 关键字和方法名之间 package main import ( "fmt" &qu...

2019-05-04 22:29:48

阅读数 11

评论数 0

3_Structs_Slices_and_Maps

指针 (1) 类型 *T 是指向 T 类型值的指针,其零值为 nil var p *int (2) & 操作符会生成一个指向其操作数的指针 i := 42 p = &i (3) * 操作符表示指针指向的底层值 fmt.Println(*p) //...

2019-05-04 22:17:47

阅读数 13

评论数 0

1_Packages_Variables_And_Functions

每个go程序都是由包构成 (1) 同一个目录xx下的所有go文件,开头的package xxx中的xxx必须相同 (然而神奇的是目录名称xx和package名xxx可以不相同) (2) 程序总是从__main package__开始运行,package名不是main的go文件即便定义了func...

2019-05-04 22:08:51

阅读数 11

评论数 0

2_Flow_control_statements_for_if,_else_switch_and_defer

for (1) 基本的 for 循环由三部分组成,它们用分号隔开 初始化语句:在第一次迭代前执行 条件表达式:在每次迭代前求值,一旦为false就终止循环 后置语句:在每次迭代的结尾执行 (2) 初始化语句通常为一句__短变量声明__(使用:=),该变量声明仅在for语句的作用域中可见 (3) 和...

2019-05-04 22:08:24

阅读数 10

评论数 0

chapter05_Java Web_3_Spring框架

IOC(Inverse of Control) (1) 控制反转IOC又叫依赖注入DI (2) 目标:减少耦合,使得上层不再紧密耦合下层的接口 (3) 示例 1° TeaSaler类需要一个Tea对象,不使用任何操作时,有一个抽象类AbstractTea,它被GreenTea和RedTea派生,此...

2019-04-12 12:04:44

阅读数 16

评论数 0

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