首页
学习
活动
专区
工具
TVP
发布

Netty历险记

专栏成员
77
文章
57520
阅读量
16
订阅数
浅析FileInputStream#read方法
在FileInputStream.java文件中,有4个和读操作相关的方法,其中有2个方法属于native方法.
书唐瑞
2022-11-14
3180
当进程退出和机器宕机时TCP连接发生什么
我们使用两台机器进行实验,一台192.168.0.112作为服务端,一台192.168.0.104作为客户端,服务端机器使用Python程序启动一个服务程序,监听8081端口,客户端机器使用telnet命令连接服务端
书唐瑞
2022-11-14
7010
TCP SYNCookie 机制
简单来说,服务端收到客户端的SYN包之后,将连接放到半连接队列中,当服务端再次收到客户端的ACK包之后,会将连接从半连接队列移到全连接队列中,这样服务端的程序调用accept()方法的时候,就可以从全连接队列中获取到连接了.
书唐瑞
2022-11-14
4880
硬链接与符号链接
【5】+5120M 表示这个主分区大小是5120M = 5G, 我们把这个10G的磁盘先拿出来5G作为第一个主分区
书唐瑞
2022-06-02
2.2K0
Linux系统读取目录内文件顺序
在上一篇应用依赖不同的Netty版本引发的错误文章中, 在WEB-INF/lib目录下存在多个版本的Netty, 应用加载jar包的顺序颠倒, 导致应用启动报错. 而重点就在于加载jar包顺序.
书唐瑞
2022-06-02
3.4K0
应用依赖不同的Netty版本引发的错误
Caused by: java.lang.NoSuchMethodError: ...
书唐瑞
2022-06-02
3.4K0
Java通过JNI申请直接内存
将 JAVA_HOME/include/jni.h 和 JAVA_HOME/include/linux/jni_md.h 两个文件拷贝到2022-3-14目录下
书唐瑞
2022-06-02
1.3K0
Dubbo存在内存泄漏
如上图, 在上一篇 com.alibaba.fastjson存在内存泄漏 文章中, 我们解释了线程的threadLocals中存在内存泄漏的情况, 仔细观察上图, 还有一个地方, 在threadLocalMap属性的内部也存在662.19KB的内存, 这个地方也不正常.
书唐瑞
2022-06-02
5390
com.alibaba.fastjson存在内存泄漏
由于拿不到线上机器的dump文件, 于是乎, 在预发环境, 执行jmap命令, 得到dump文件.
书唐瑞
2022-06-02
3780
Spring 和 Mybatis 使用不同的数据源会怎样?
本篇文章要讨论的一个问题点, 给Spring和Mybatis设置不同的数据库数据源会怎样? 注意. 正常情况下一定要给Spring和Mybatis设置相同的数据库数据源. 案例代码位置 https:
书唐瑞
2022-06-02
5290
Selector.select()
在调用Selector.open()的时候, 底层会创建各种属性和数据结构,用于存储相关信息 .
书唐瑞
2022-06-02
5020
元空间在哪里
在很长的一段时间里,我一直在思考一个问题,元空间到底在哪里? 现在的互联网,关于JVM,关于内存布局,关于优化JVM等知识,多如牛毛. 然而,元空间到底在哪里?堆外内存到底在哪里? 虽然有相关的文章谈
书唐瑞
2022-06-02
9300
Netty杂记
入参timeoutNanos设置执行任务的超时时间. 一旦超过这个设定的时间,则停止执行任务.
书唐瑞
2022-06-02
4370
使用自定义协议实现Python向Netty传输数据
本篇文章,自定义一个数据协议,通过Python语言,使用这个自定义的数据协议,将数据发送给Netty接收端. 之所以使用两种不同的语言,也在说明,数据之间的传输与语言无关.只要发送端和接收端彼此遵守相同的协议即可. 关于协议,无处不在,比如与网络相关的HTTP协议, 比如向Redis发送命令使用的RESP协议,比如Dubbo消费者和提供者之间的数据传输,比如RocketMQ消费者与服务端之间的消息传输,比如JVM中使用jstack命令获取堆栈信息时所使用的协议,等等. 它们之间必然会有一套相关的协议,用于数据传输. 一切皆协议,世间协议再多,常见的协议也无外乎那么几个,在Netty中已经默认提供了相关常见协议的解码器.
书唐瑞
2022-06-02
9920
Java线程与内核线程
本篇文章探究下Java线程与内核线程的关系. 在Java中,一个Java的线程对应一个内核的线程,实际的业务代码是由内核线程来执行的,而Java线程只是一个傀儡. 先通过一个简单的实验热热
书唐瑞
2022-06-02
1.1K0
通过Netty/Socket/C语言三种方式向Redis服务器发送命令
本文通过使用Netty,Java的Socket和C语言Socket这三种方式,基于RESP协议,向Redis服务器发送一个set命令. 向Redis服务器发送命令,即与Redis服务器通信,必须基于RESP协议. 就好像在B站看2021苹果秋季发布会的视频底层数据传输必须基于TCP协议一样. RESP协议是一个简单的协议.它的协议格式如下
书唐瑞
2022-06-02
6830
Netty之线程唤醒wakeup [续]
在之前的Netty之线程唤醒wakeup文章中, 介绍了如何唤醒Netty中的监听线程. 接下来我们通过部分源码,结合一些命令和实验,看一下它的实现.
书唐瑞
2022-06-02
4740
JVM中的监听信号的线程以及Unix域套接字通信的线程
共计20个轻量级进程(LWP),即线程. 也可以通过/proc/6617/task查看进程6617下有多少个任务(即线程), 也是20个线程,如下.
书唐瑞
2022-06-02
4190
Netty接收数据时一次读取多少字节以及读多少次
本篇使用Netty构建一个简单的服务端,使用Python构建一个简单的客户端,然后客户端向服务端发送数据,然后观察Netty每次读取的字节数.
书唐瑞
2022-06-02
7820
Netty对象池
在平时工作中,听说和使用过连接池,线程池等.还有一种就是对象池,可以实现对象复用的功能. 当然实现对象池的方式手段有多种,比如有一个公共的池子,所有需要对象的线程通过并发控制的方式从池子中获取对象,并
书唐瑞
2022-06-02
5560
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档