Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

DelayQueue作为延时队列,有很多应用场景,今天主要来聊一下它的原理、优缺点以及应用场景。 基本用法DelayQueue的元素需要实现Delayed接口, 并覆盖getDelay方法和compareTo方法,其中getDelay方法会被轮询调用,以判断当前任务是否到达执行时间,comparedTo方法则是用来比较每个任务的先后关系。 基本用法如下: 1234567891011121...
Java

基本用法Java提供了泛型,可以在编译期做一些类型检查。以集合类List为例,如果我们这样用: 123456789101112public class GenericApp { public static void main(String[] args) { List list = new ArrayList(); list.add(1)...
Java

温馨提示: 本文需要垃圾回收、强弱引用、多线程等知识. ThreadLocal是什么ThreadLocal, 从名字大概可以知道,它是个线程本地变量,意味着只有当前线程可以使用,线程之间相互隔离。 举个🌰: 123456789101112131415161718192021222324public class ThreadLocalApp { public static...

前情提要在Netty学习笔记之服务端启动一文中,我们了解了eventloop的基本功能,知道了它的一生其实就是个死循环,再循环里处理IO事件和taskQueue里面的任务;同时我们也了解到,在服务端启动之初(准确的来讲是在channel注册完成之后调用handlerAdded的时候)会给pipeline里添加一个特殊的handler:ServerBootstrapAcceptor,有了这两点...
Java

在上一篇文章中,讨论了netty服务端启动的大概流程,这篇文章将会继续看下客户端启动流程。 总览一般的客户端长这样,真正的入口要从bootstrap.connect看起。 分析进入connect方法的最终调用在这里: 如果已经看过服务端启动流程,会发现这里和服务端的代码神似,都是先initAndRegister,如果注册成功,则直接执行doResolveAndConnect0,否...
Java

前置知识学习之前需要理清这么几个关键概念: netty相关:EventLoop, EventLoopGroup, ChannelHandler, ChannelPipeline,ChannnelPromise, ChannelFuture nio相关:channel, selector. Channel与Selector谈到nio, 那么channel和selector就是绕不开的话题,...

前菜众所周知,java的内部类是可以访问到外部类的field的,如: 12345678910111213141516public class Fruit { private String name; public Origin origin(){ return new Origin(); } class Origin ...
Java

常见命令 docker image ls查看镜像列表 docker ps 查看正在运行的容器 docker run -p 8888:80 -tid blog-20220502 /bin/bash 启动容器 进入运行中的容器:docker exec -ti {containerId} /bin/bash -t 为docker分配一个伪终端并绑定到容器的标准输入上 -i 是...

今天工作中遇到一个命令svc,可以用于优雅杀死进程。本着啥都不会的精神,刨根问题一哈。 背景: 一般而言生产环境中的服务都是有守护进程的:当它挂掉后,会有另外一个进程把它立马拉起来。 在指导这个东西以前,我都是通过cron+脚本的方式来达到这一目的的,但是缺点就是cron只能精确到分钟,不够细。 正餐: linux中有个监控工具,叫supervise,它是daemontools里面的一个...

Hey what’s up guys. 有好长一段时间没写博客了,最近也是来上海一个多月难得的一个周末,所以写点东西吧。 关于session cookie相关的内容在校招时也被经常问到,但是最近感觉对这块的理解还是不够深入,所以再学习一下。 众所周知session用于会话管理,一般情况下,http request的header里的cookies字段里会带个sessionID, 服务端收到...
Java