摘要: 《Thinking in Enterprise Java》中第一章描述了用Socket和Channel的网络编程,核心即为Socket和Channel,本文简单讲述Socket的应用。 Socket可以认为是两个互联机器终端应用软件的抽象,即对于一个网络连接,两端都有一个Socket,应用可以通过套 阅读全文
posted @ 2019-01-30 18:53 水木竹水 阅读(9286) 评论(0) 推荐(1) 编辑
摘要: 《Java编程思想》中对内存映射文件有详细的介绍,此处仅做简单记录和总结。内存映射文件允许创建和修改因为太大而不能放入内存的文件。 1. 内存映射文件简单实例 输出: 通过RandomAccessFile类获取FileChannel,使其具备读写功能。 通过FileChannel的map方法,获取M 阅读全文
posted @ 2019-01-30 10:20 水木竹水 阅读(3974) 评论(0) 推荐(0) 编辑
摘要: 一、Unix五种I/O模型 读取和写入文件I/O操作都是调用操作系统提高的接口,对磁盘I/O来说,一般是将数据从磁盘拷贝到内核空间,然后从内核空间拷贝到用户空间。为了减小I/O时间,一般内核空间存在高速页缓存,应用访问时,直接读取缓存中数据。也就是说,用户空间发生I/O操作时,内核空间缓存中如果没有 阅读全文
posted @ 2019-01-26 18:05 水木竹水 阅读(594) 评论(0) 推荐(0) 编辑
摘要: 最近再看I/O这一块,故作为总结记录于此。JDK1.4引入NIO后,原来的I/O方法都基于NIO进行了优化,提高了性能。I/O操作类都在java.io下,大概将近80个,大致可以分为4类: 基于字节操作的I/O接口:以InputStream和OutputStream为基类,也是I/O操作的基础。 基 阅读全文
posted @ 2019-01-14 21:39 水木竹水 阅读(1343) 评论(0) 推荐(0) 编辑
摘要: 上篇文章记录了从后端接口返回数据经过切面和消息转换器处理后返回给前端的过程。接下来,记录从请求发出后到后端接口调用过的过程。 web请求处理流程 源码分析 ApplicationFilterChain会调DispatcherServlet类的doService()(HttpServlet类),类继承 阅读全文
posted @ 2018-10-07 13:22 水木竹水 阅读(1904) 评论(0) 推荐(0) 编辑
摘要: 异常现象 近期做Spring Cloud项目,工程中对Controller添加ResponseBodyAdvice切面,在切片中将返回的结果封装到ResultMessage(自定义结构),但在Controller的方法返回值为字符串,客户端支持的类型为application/json时,出现以下异常 阅读全文
posted @ 2018-09-29 19:03 水木竹水 阅读(5150) 评论(0) 推荐(0) 编辑
摘要: 在看Spring中HttpServlet的Service方法时,对于GET请求,代码逻辑如下: if (method.equals(METHOD_GET)) { long lastModified = getLastModified(req); if (lastModified == -1) { / 阅读全文
posted @ 2018-09-22 10:17 水木竹水 阅读(2060) 评论(0) 推荐(0) 编辑
摘要: 近期做项目的时候,发现使用net.sf.json包中的JSONObject或JSONArray将对象转为json数据结构存在一个坑。当对String类型的属性赋值为null情况下,转为json结构为"",但前端需要为null。而包com.fasterxml.jackson可以将原来null转为jso 阅读全文
posted @ 2018-09-10 15:05 水木竹水 阅读(2109) 评论(0) 推荐(0) 编辑
摘要: EntityManager是JPA中用于增删改查的接口,它的作用相当于一座桥梁,连接内存中的java对象和数据库的数据存储。其接口如下: EntityManager托管方式由两种:容器托管(EntityManger && PersistenceContext)和应用托管(EntityManagerF 阅读全文
posted @ 2018-09-07 15:04 水木竹水 阅读(9626) 评论(0) 推荐(0) 编辑
摘要: Spring工程中,创建实体对象时,可以通过JPA的@Entity标识实体与数据库表的对应关系,@Column标识数据库字段。其中还有标识两个实体间关系的注解:@OneToOne、@OneToMany、@ManyToOne和@ManyToMany,分别标识一对一、一对多、多对一和多对多。在此,简单记 阅读全文
posted @ 2018-09-06 21:25 水木竹水 阅读(40828) 评论(1) 推荐(3) 编辑