JAVA基础
文章平均质量分 75
江湖一码农
这个作者很懒,什么都没留下…
展开
-
[纸上谈兵]Web服务器机制
目录通信协议Http协议HTTPS协议套接字协议服务器模型本文从通信协议、套接字通信(Socket)、Web服务模型三个方面了解Web服务器机制web服务器就是指类tomcat服务器通信协议Http协议http是请求/响应模型, 一个浏览器的http请求/响应的流程大概可以用以下4步表示1、客户端浏览器先与服务端通过三次握手建立连接2、连接建立后,客户端浏览器组装请求报文,发送一个请求到服务器3、服务端接收到请求后,进行处理,将响应结果发送给客户端浏览器4、客原创 2020-08-09 19:02:48 · 315 阅读 · 0 评论 -
[实战]Java三目运算符出现空指针异常
事情经过线上某个访问突然出现空指针异常。查看日志,定位到以下代码:deviceWrapper.setIsOnline(deviceState == null ? 0 : deviceState.getIsOnline());其实deviceWrapper和deviceState对象的isOnline属性都是包装类型Integer。出现空指针时deviceWrapper和device...原创 2020-04-10 11:19:10 · 1416 阅读 · 0 评论 -
[实战]http client 无限等待返回结果
一、业务问题公司内部有一个爬虫系统,定时抓取部分网站数据存入我们数据库,进行后续约业务逻辑处理。业务反馈有时有些网址的数据没有抓取.二、相关背景软件系统: 采用httpclient 4.5.3 + webmagic实现,定时作务触发后,从数据库分页取出需要处理的数据,新建一个线程,通过httpclient获取数据进行后续处理。爬虫在访问目标网站时,使用了免费代理,代理稳定型较差...原创 2018-05-23 23:35:21 · 6717 阅读 · 2 评论 -
[纸上谈兵] http头部字段Transfer-Encoding
一个月没写,自己定的目标没有实现,不想写太水的内容。但这一篇可能又是水我在排查httpclient问题时,发现了这个请求头,但不知道是做什么用的,于是百度一下一、Transfer-Encoding: chunkedTransfer-Encoding头字段可以用在请求头或响应头中。该头字段有两个值chunked和identity作用:Transfer-Encoding值为chunked时,代表要把请...原创 2018-06-27 14:16:54 · 6368 阅读 · 0 评论 -
[纸上谈兵]Java IO详解(一)基础
声明:这个文章只是从其他文章抄过来加上自己的理解组成的文章。可能会存在各种问题,还请指正.关于IO这块,对于我来讲一直是个知识肓区,尤其在同步、异步、阻塞、非阻塞这块,有一点认识,但很不清晰,所以写这篇文章,它不能让我100%理解,但我希望以后可以在这个文章基础上继续加深对io的理解.一、操作系统相关基础知识学习JAVA IO前,我们先需要了解一下操作系统相关概念.因为常用为Linux操作系...原创 2018-07-11 00:53:30 · 726 阅读 · 0 评论 -
[纸上谈兵]BigDecimal源码学习
一、BigDecimal声明新来同事看到我们代码中BigDeciaml用法,感觉比较奇怪,由此引出了这篇文章使用下面方式声明BigDecimal时,会出现精度问题BigDecimal bd3 = new BigDecimal(0.1D);推荐用法BigDecimal bd1 = new BigDecimal("0.1D");BigDecimal bd2 = BigDecimal.valueOf(1...原创 2018-06-28 14:55:00 · 2371 阅读 · 0 评论 -
[纸上谈兵]Java IO详解(二)BIO
一、java io分类java io目前包括了BIO(同步阻塞),NIO(同步非阻塞),AIO(异步非阻塞)三种。如果不太了解同步、异步、阻塞、非阻塞,看我前面的文章二、JAVA BIOBIO比较简单,我先简单说一下socket中关于端口的两个方法。socket.getLocalPort();//从字面理解是获取本地端口号;对于服务端的socket就是获取监听的端口号;对于客户端...原创 2018-07-11 23:43:27 · 204 阅读 · 0 评论 -
[兵上谈兵][源码学习]一个简单的JDBC例子
一、下面是一个简单的JDBC的例子public class JdbcDemo { public static void main(String[] args) { test(); } public static void test() { String driver = "com.mysql.cj.jdbc.Driver"; ...原创 2018-12-21 20:13:19 · 203 阅读 · 0 评论