代码改变世界

linux quota磁盘限额,引发的rename系统调用 errno:18 - Invalid cross-device link

2019-09-09 17:12 by Loull, 41 阅读, 收藏, 编辑
摘要:起因: log4j日志滚动失败,debug发现jvm调用native方法rename失败,也就是系统调用rename失败。 自己写c程序系统调用rename,证实确实是这个问题。 日志打在容器里,日志目录通过docker挂载到宿主机上,而对日志目录设置了quota磁盘限额。挂载目录下的文件renam 阅读全文

dnsperf

2019-07-12 18:37 by Loull, 37 阅读, 收藏, 编辑
摘要:github 地址:https://github.com/DNS-OARC/dnsperf mac安装:brew install dnsperf 参数详解 Dnsperf 支持下面的这些命令行参数: -s 用来指定DNS服务器的IP地址,默认值是127.0.0.1-p 用来指定DNS服务器的端口,默 阅读全文

stop容器,把信号量传给java进程,优雅退出

2019-07-08 15:18 by Loull, 108 阅读, 收藏, 编辑
摘要:Java中可以添加ShutdownHook监听关闭事件,包括kill -15, control+c,terminal等信号。kill -9则接收不到。 如果java运行在容器中,stop docker容器时,容器内的java进程不一定能接收到kill事件。 原因主要是:dockerfile中 ENT 阅读全文

JNA 调用操作系统函数 和 系统调用

2019-05-08 22:20 by Loull, 205 阅读, 收藏, 编辑
摘要:linux系统调用syscall 表:https://filippo.io/linux-syscall-table/ Linux Namespace 特性简要介绍 原文:https://iliangqunru.bitcron.com/post/2018/jna-shi-ji-kai-fa-zhong 阅读全文

自顶向下深入分析Netty(五)--Future

2019-03-22 17:24 by Loull, 146 阅读, 收藏, 编辑
摘要:再次回顾这幅图,在上一章中,我们分析了Reactor的完整实现。由于Java NIO事件驱动的模型,要求Netty的事件处理采用异步的方式,异步处理则需要表示异步操作的结果。Future正是用来表示异步操作结果的对象,Future的类签名为: public interface Future<V>; 阅读全文

来测试下你的Java编程能力

2019-02-28 16:44 by Loull, 234 阅读, 收藏, 编辑
摘要:上篇整理了下后面准备更系统化写的Java编程进阶的思路,如果仅看里面的词,很多同学会觉得都懂,但我真心觉得没有多少人是真懂的,所以简单的想了一些题目,感兴趣的同学们可以来做做看,看看自己的Java编程水平怎么样。 懒得去做小程序了,所以大家就直接回复你的答案吧,我会来一一点评下,友情提醒下,有些题目 阅读全文

Netty笔记

2019-02-18 20:20 by Loull, 58 阅读, 收藏, 编辑
摘要:堆外内存增涨异常 Netty 系列之 Netty 百万级推送服务设计要点 如何设置Netty的接收Buffer为堆内存模式 Netty 基本组件小结--Channel、EventLoop、Bootstrap等 关于Netty的ByteBuff内存泄漏问题 堆外内存的回收机制分析 Netty堆外内存回 阅读全文

Linux下Netty实现高性能UDP服务(SO_REUSEPORT)

2019-02-18 20:03 by Loull, 501 阅读, 收藏, 编辑
摘要:参考: https://www.jianshu.com/p/61df929aa98b SO_REUSEPORT学习笔记:http://www.blogjava.net/yongboy/archive/2015/02/12/422893.html 代码示例:https://www.programcre 阅读全文

加密和验签:保密性、完整性和身份认证

2018-12-06 12:23 by Loull, 381 阅读, 收藏, 编辑
摘要:保密性、完整性和身份验证是必须了解的三大特性 保密性:数据加密解密。 完整性:防止数据被篡改。 身份验证:确认数据源的身份identity。 一、保密性:加密算法 密钥:对明文进行加密过程用到的保密的比特序列。 对称加密算法:就一个密钥 非对称加密算法:有公钥和私钥,如RSA。 加解密过程简述:A和 阅读全文

crontab定时任务不执行的原因

2018-06-26 16:52 by Loull, 816 阅读, 收藏, 编辑
摘要:查看所有用户下的定时任务: for u in `cat /etc/passwd | cut -d":" -f1`;do crontab -l -u $u;done docker容器里cron没生效 或 没有日志 如果没有日志,可能是没有打开rsyslog (centos) /etc/init.d/r 阅读全文

时区切换导致quartz定时任务没有触发问题

2017-11-07 20:33 by Loull, 2118 阅读, 收藏, 编辑
摘要:时区切换对Quartz的cron表达式有影响,切换的1小时内停止触发定时任务,导致sla没有定时清空内存计数,误发限流。 美国夏令时PST切换到冬令时PDT,会有时间跳变。不带时区跳变的,会出现时间重叠或不连续 问题复现 mac本机模拟,把时区换成美国的,然后把时间调到11月5号01:59 1、把本 阅读全文

误用WeakHashMap引起的死循环cpu跑满问题

2017-11-04 19:49 by Loull, 1062 阅读, 收藏, 编辑
摘要:最近使用mvel 2.2.0.Final,出现一次cpu跑满,经过线程栈分析,发现是误用WeakHashMap引起的。 故障现场: 看WeakHashMap源码: 线程在WeakHashMap的get方法里面出不来了,一直在while循环里面。 多线程并发get和put,fullgc或gc的时候可能 阅读全文

Spring事务传播属性

2016-11-02 14:48 by Loull, 1757 阅读, 收藏, 编辑
摘要:Spring 对事务控制的支持统一在 TransactionDefinition 类中描述,该类有以下几个重要的接口方法: int getPropagationBehavior():事务的传播行为 int getIsolationLevel():事务的隔离级别 int getTimeout():事务 阅读全文

Java内部DNS查询实现和参数设置

2016-03-22 16:47 by Loull, 7606 阅读, 收藏, 编辑
摘要:Java使用域名查询时,用的自己内部的域名实现机制,最后都是交给InetAddress去做DNS解析。 源码分析参考:http://blog.arganzheng.me/posts/java-dns-lookup-internal.html http://docs.oracle.com/javase 阅读全文

A记录、CNAME、MX记录、NS记录

2016-02-26 20:53 by Loull, 1330 阅读, 收藏, 编辑
摘要:1. A记录(IP指向) 又称IP指向,用户可以在此设置子域名并指向到自己的目标主机地址上,从而实现通过域名找到服务器找到相应网页的功能。 说明:指向的目标主机地址类型只能使用IP地址。 2. CNAME(别名指向) 通常称别名指向。您可以为一个主机设置别名。相当于用子域名来代替ip地址,优点是如果 阅读全文