Wesley13 Wesley13
3年前
java nio 源码分析2 IO
目的一直想知道当channel.write返回时,到底这个数据是交给操作系统了,还是说已经发出网卡了,还是说已经发出去收到ACK了.(答案:只是说明它写入了内核的send\_queue)javanio是水平触发的,而且缓冲区超过"低水位"就触发读事件,不超过"高水位"就触发写事件,那这个水位到底多高?缓冲
Wesley13 Wesley13
3年前
Java NIO之选择器
1.简介前面的文章说了缓冲区,说了通道,本文就来说说NIO中另一个重要的实现,即选择器Selector。在更早的文章(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.coolblog.xyz%2F2018%2F02%2F08%2FIO%25E6%25A8%25A
Stella981 Stella981
3年前
Lua 中避免低效解析 TCP 网络数据包体的一种方式(续)
上一篇(https://my.oschina.net/iirecord/blog/4497926)避免通过拼接字符串作为接收数据的缓冲区,解决办法是通过一个Lua模块来获取接收后的完整数据,若没有完整数据则读取socket,若还没有完整数据则sleep一小会儿,然后再尝试。了解过Lua或用过skynet可知,使用coroutine
Wesley13 Wesley13
3年前
Java性能调优是道坎,阿里京东美团就卡这了
在进行性能测试时,接口响应时间长,吞吐量低,是否让你无从下手?在高并发下,JVM中FullGC异常,JVM堆内存溢出,常常令你焦头烂额?业务增长迅猛,大量读写操作单表单库,造成数据库死锁,只能目瞪口呆?面试官一问性能调优就歇菜,还是答不到点子上?对于很多程序员来说,Java性能
Wesley13 Wesley13
3年前
NIO 非阻塞IO
NIO与IO的区别NIO特点:非阻塞,面向缓冲区IO特点:阻塞式,面向流阻塞与非阻塞javaio是阻塞式的,当一个线程调用read或者write方法后开始阻塞,直到读取到数据或者写入数据完成,该线程一直处于阻塞状态不能做其他事情。javanio通过选择器实现非阻塞式IO,通过一个专门的选
Stella981 Stella981
3年前
Nginx 模块常用指令
1.HTTP核心模块  A.client\_body\_buffer\_size:指定连接请求实体的缓冲区大小,如果超了,那么这些请求实体的整体或部分将尝试写入一个临时文件,默认值是8k/16K;    B.client\_body\_temp\_path:指定连接请求实体试图写入的临时文件路径,默认值是client\_body\_temp
Wesley13 Wesley13
3年前
Java 内存区域和GC机制
Java垃圾回收概况  JavaGC(GarbageCollection,垃圾收集,垃圾回收)机制,是Java与C/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和溢出的问题,也不需要像C程序员那样战战兢兢。这是因为在Java虚拟机中,存在自动内存管理和垃圾清扫机制。概括地说,该机制对JVM
Stella981 Stella981
3年前
OpenGL平面阴影
几种绘制阴影的方法在OpenGL中,比较常见的绘制阴影的方法有:shadowmapping,shadowvolumes以及一种在红宝书上提及的适合在确定平面上绘制阴影的方法。平面阴影在确定的平面下,可以直接通过模版测试,经过变换矩阵来显示阴影。具体的过程如下:1.开启模板测试,初始化模板缓冲区为02.模板测试设置
Wesley13 Wesley13
3年前
Java人太南了!又要搞Spring,又要精通JVM垃圾回收和调优…
对象已死?啊,难受……最近深陷排查各种内存溢出、内存泄漏的问题,不得不对垃圾回收器下手了,因为当垃圾收集成为系统达到更高并发量的瓶颈时,我们就必须对这些“自动化”的技术实施必要的监控和调节。不少Java技术方向的兄弟,感觉也挺难的,常聊到各种高并发业务场景下,JVM涉及的性能问题、内存管理、垃圾回收器怎么弄?
Stella981 Stella981
3年前
Redis Linux 安装
【搜藏】RedisReplication工作原理:1):Slave启动后,无论是第一次连接还是重连到Master,它都会主动发出一个SYNC命令2):当Master收到SYNC命令之后,将会执行BGSAVE(后台存盘进程),即在后台保存数据到磁盘(rdb快照文件),同时收集所有新收到的写入和修改数据集的命令存入缓冲区(非查询类)3):M