![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
服务端开发
主要记录了一些和服务端开发相关的笔记,包括服务端性能提升等。
Alexwym
这个作者很懒,什么都没留下…
展开
-
基于netty NIO开发的聊天室
一、为何要使用netty开发由于之前已经用Java中的socket写过一版简单的聊天室,这里就不再对聊天室的具体架构进行细致的介绍了,主要关注于使用netty框架重构后带来的改变。对聊天室不了解的同学可以先看下我的博客(《JAVA简单聊天室的实现》)本篇博客所使用的netty版本为4.1.36,完整工程已上传到Github(https://github.com/Alexlingl/Chat...原创 2019-05-10 14:07:15 · 3291 阅读 · 3 评论 -
C10破局(三)——Java AIO实现高并发服务器
上一篇博客中我们介绍了Java中的NIO模型,而JDK1.7之后升级NIO类库,也就是NIO2.0.Java正式提供了异步IO操作,同时提供了与UNIX网络编程事件驱动IO相对应的AIO。NIO(non-block IO)指的是同步非阻塞IO,AIO(Asynchronous IO)则是异步非阻塞IO。我们先来了解一些基础知识,最后再用AIO来设计一个服务器。一、IO处理模型服务器往客...原创 2019-04-20 10:52:38 · 1687 阅读 · 1 评论 -
C10k破局(二)——Java NIO实现高并发服务器(一张图看懂Java NIO)
想要开发高性能的服务器,传统的BIO显然是不行的,Java提供了java.nio类库来帮助我们实现这件事。关于NIO的文章网上有很多博客,但是相应的解释图则比较少。于是我便自己整理了几张关系图,便于理解。在看原理图之前,我们还是需要先看下关于NIO的一些基础概念。一、什么是NIONIO的全称是non-block IO,也就是非阻塞IO。与传统的BIO相对应。Java IO 的各种流都是...原创 2019-04-17 09:50:14 · 1440 阅读 · 0 评论 -
C10k破局(一)——线程池和消息队列实现高并发服务器
一、C10k的由来互联网的基础就是网络通信,早期的互联网可以说是一个小群体的集合。互联网还不够普及,用户也不多,一台服务器同时在线100个用户估计在当时已经算是大型应用了,所以并不存在什么 C10K 的难题。互联网的爆发期应该是在www网站,浏览器,雅虎出现后。最早的互联网称之为Web1.0,互联网大部分的使用场景是下载一个HTML页面,用户在浏览器中查看网页上的信息,这个时期也不存在C10K...原创 2019-04-14 11:33:56 · 2359 阅读 · 0 评论 -
Spring中JDBCTemplate的事务实现
一、事务的定义及特性(一)、事务的定义1、事务是一个最小的不可再分割的执行单元,它由批量的DML语句构成,这些语句要么全部执行,要不全都不执行。2、通常一个事务对应一个完整的业务。比如典型的转账业务,从账户A中转账1000元给账户B。操作过程分为两步,第一步从账户A中扣去1000元,第二步往账户B中加上1000元。显然这两个操作要么都得做,要么都不做。如果只做其中一个操作,数据库的数据...原创 2019-05-22 14:25:48 · 4021 阅读 · 0 评论 -
java servlet使用uploadfile实现文件上传的功能
comons包导入IDEA失败?文件上传后在工程中相应的文件夹下找不到上传的文件?近期想要基于hadoop分布式系统开发一个云盘项目。前些时候已经给IDEA配置好了tomcat的环境,配置好了java servlet的运行环境。这两天自己摸索着实现了一个简单的文件上传功能。在这个过程遇到了一些坑,在这里记录一下。一、资源准备需要下载下面两个jar包。comons-fileupl...原创 2018-09-27 14:01:31 · 1339 阅读 · 1 评论