编程基础
文章平均质量分 87
江湖一码农
这个作者很懒,什么都没留下…
展开
-
[纸上谈兵]面向对象的5个编码原则
目录一、多聚合,少继承.高内聚、低耦合二、面向对象5个基本原则1. 单一职责(职责划分能力)2.开放封闭原则(抽象能力)3.里氏替换原则4.依赖倒置原则5.接口分离原则一、多聚合,少继承.高内聚、低耦合高内聚、低耦合内聚:每个模块尽可能独立完成自己的功能,不依赖于模块外部的代码。耦合:模块与模块之间接口的复杂程度,模块之间联系越复杂耦合度越高,牵一发而...原创 2017-02-20 23:49:45 · 1501 阅读 · 0 评论 -
[实战]http client 无限等待返回结果
一、业务问题公司内部有一个爬虫系统,定时抓取部分网站数据存入我们数据库,进行后续约业务逻辑处理。业务反馈有时有些网址的数据没有抓取.二、相关背景软件系统: 采用httpclient 4.5.3 + webmagic实现,定时作务触发后,从数据库分页取出需要处理的数据,新建一个线程,通过httpclient获取数据进行后续处理。爬虫在访问目标网站时,使用了免费代理,代理稳定型较差...原创 2018-05-23 23:35:21 · 6699 阅读 · 2 评论 -
[纸上谈兵]Java IO详解(二)BIO
一、java io分类java io目前包括了BIO(同步阻塞),NIO(同步非阻塞),AIO(异步非阻塞)三种。如果不太了解同步、异步、阻塞、非阻塞,看我前面的文章二、JAVA BIOBIO比较简单,我先简单说一下socket中关于端口的两个方法。socket.getLocalPort();//从字面理解是获取本地端口号;对于服务端的socket就是获取监听的端口号;对于客户端...原创 2018-07-11 23:43:27 · 203 阅读 · 0 评论 -
[纸上谈兵]Java IO详解(四) Reactor模式
一、 Reactor中文解释Reactor模式翻译成中文有的说是反应器,有的说是反应堆模式。中文解释反应:因为事件所引发的回应。名词.器: 容器, 例如:用来存放水之类的物体.堆: 例如: 土堆.可以理解为土汇集到一起。那么反应器:这个我个人理解,存放反应的容器反应堆:反应汇集到一起.通过上面的解释来看,其实都差不多,个人理解叫反应器更合适一些,所以大家如果不太理解,可以先认...原创 2018-07-30 13:51:40 · 1130 阅读 · 0 评论 -
[纸上谈兵]Java IO详解(三)NIO
一、概述Java NIO 一种基于通道和缓冲区的 I/O 方式,它可以使用Native函数库直接分配堆外内存,然后通过一个存储在 Java 堆的 DirectByteBuffer 对象作为这块内存的引用进行操作,避免了在Java堆和Native堆中来回复制数据。Java NIO是一种同步非阻塞的IO模型.同步是指线程不断轮询IO事件是否就绪,非阻塞是指线程在等待IO的时候,可以同时做其他任务...原创 2018-07-26 22:56:22 · 289 阅读 · 0 评论 -
[纸上谈兵]雪花算法生成ID
前言我们的数据库在设计时一般有两个ID,自增的id为主键,还有一个业务ID使用UUID生成。自增id在需要分表的情况下做为业务主键不太理想,所以我们增加了uuid作为业务ID,有了业务id仍然还存在自增id的原因具体我也说不清楚,只知道和插入的性能以及db的要求有关。我个人一直想将这两个ID换成一个字段来处理,所以要求这个id是数字类似的,且是趋抛增长的,这样mysql创建索引以及查询时性...原创 2018-11-30 21:00:59 · 12089 阅读 · 2 评论 -
[纸上谈兵][待完善]spring boot 使用hystrix 熔断器
前言最近在做一个新项目,后台管理系统以及部分服务使用spring boot 搭建,并没有使用sping cloud整套服务.所以在这里记录接入hystrix部分教程。原计划自己写博客介绍,但时间太紧,先备注后面再完成.目前hystrix已经停更,官方建议使用Resilience4j, 参考资料: http://resilience4j.github.io/resilience4j/相关...原创 2018-12-01 20:04:55 · 726 阅读 · 0 评论