Java基础
godflowerszzz
不要怕脑子不够使,越年轻,越努力
展开
-
jdk1.7 ConcurrentHashMap多线程并发偶现结果会导致部分id未被删除
private static ConcurrentHashMap<Integer, Session> mapper = new ConcurrentHashMap<Integer, Session>(); public static void removeById(final int id){ Set<Integer> set = mapper.keySet(); logger.info("removeById id={}",id ); for(int .原创 2021-01-27 09:50:55 · 199 阅读 · 0 评论 -
TCP与Http TIME_WAIT 和 CLOSE_WAIT
tcp三次握手四次挥手 https://www.cnblogs.com/bj-mr-li/p/11106390.html 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态; 第三次握手:客户端收到服原创 2021-01-23 10:38:45 · 150 阅读 · 0 评论 -
网络编程Client/Server模型
Client/Server 网络编程的基本模型Client/Server模型,也就是两个进程直接进行相互通信,其中服务端提供配置信息(绑定的IP地址和监听端口),客户端通过连接操作向服务端监听的地址发起连接请求,通过三次握手建立连接,如果连接成功,则双方即可进行通信(网络套接字socket) ServerHandler public classServerHandler implementsRunnable{ private Socket socket ; public ServerHandle原创 2020-08-01 10:33:41 · 783 阅读 · 0 评论 -
进程间通信IO(BIO),NIO,AIO
概念 Socket Socket又称“套接字”,应用程序通常通过“套接字”向网络发出请求或者应答网络请求。 Socket和ServerSocket类库位于java.net包中,serverSocket用于服务器端,Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话,对于一个网络连接来说,套接字是平等的,不因为在服务器端或在客户端而产生不同的级别,不管是Socket还是ServerSocket它们的工作都是通过SocketImpl类及其子类原创 2020-08-01 10:11:05 · 175 阅读 · 0 评论 -
编译时类型和运行时类型
编译时类型和运行时类型 Java的引用变量有两个类型,一个是编译时类型,一个是运行时类型,栈中存放的是一些引用和一些变量,而堆内存中存放的是对象。编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定。 Person p=new Women()(Women类继承自Person类) 假如p的属性修饰符为public 访问属性时得到的是Person类的属性还是Women类的属性...原创 2019-06-14 16:46:47 · 1253 阅读 · 0 评论