上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 19 下一页
摘要: 一、介绍 volatile保证共享变量的“可见性”。可见性指的是当一个线程修改变量时,另一个线程能读到这个修改的值。 这里就要提出几个问题。 问题1:为什么一个线程修改时,另一个线程可能会“看不见”? 问题2:这种可见性是如何实现的? 二、问题1 变量为何“不可见” 回答:是由于缓存导致的可见性问题 阅读全文
posted @ 2019-05-15 20:00 清泉白石 阅读(861) 评论(0) 推荐(0) 编辑
摘要: ReentrantReadWriteLock 阅读全文
posted @ 2019-05-15 09:43 清泉白石 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 介绍 依赖关系 源码 构造方法 参考文档 "10.并发包阻塞队列之ArrayBlockingQueue" 阅读全文
posted @ 2019-05-15 09:38 清泉白石 阅读(131) 评论(0) 推荐(0) 编辑
摘要: count优化 MyISAM会将总记录数缓存,但如果加上where条件,则缓存值失效。 若有500w条记录,需要统计id 100的总行数。 一个优化思路,反向操作,降低查询次数。 sql select from student where classid 90001 order by stuid l 阅读全文
posted @ 2019-05-14 21:40 清泉白石 阅读(1463) 评论(0) 推荐(0) 编辑
摘要: 一、背景 爬虫服务请求量大,为了应对反爬措施,增加爬虫的爬取效率和代理IP使用率,需要设计一个IP代理池,满足以下需求: 定时任务获取第三方代理 及时剔除IP代理池中失效的IP 业务隔离IP 若IP未失效,但对某个业务来说,IP被封,需要针对业务,隔离此IP 均衡使用IP 避免IP使用频率不均问题 阅读全文
posted @ 2019-05-13 18:03 清泉白石 阅读(1877) 评论(0) 推荐(0) 编辑
摘要: 一、背景 服务有定时任务,当服务部署到多个节点时,每个节点在同一个时间点都会执行相同的定时任务,需要做的是,让同一个时间点,每一个定时任务只在一个节点上执行。 二、 解决方案思路 单独设置任务调度服务 使用Redis实现 使用XXL JOB实现 使用Elastic Job框架实现 使用LTS框架实现 阅读全文
posted @ 2019-05-13 18:00 清泉白石 阅读(10663) 评论(1) 推荐(1) 编辑
摘要: 依赖关系 方法 doExecute方法 最后请求会交给MinimalClientExec 对象处理。 MinimalClientExec 基础回顾 Blocking I/O JAVA I/O分为BIO(Blocking IO)、NIO(Non blocking IO)和AIO(Asynchronou 阅读全文
posted @ 2019-05-13 12:31 清泉白石 阅读(497) 评论(0) 推荐(0) 编辑
摘要: HttpClient是支持Http协议的客户端编程工具包。 一、简单使用 1.1 引入依赖 1.2 一个简单的Get请求 1.3 Post请求、请求头、请求参数 1.4 使用代理 1.5 设置超时时间 HttpClient内部有三个超时时间设置:连接池获取可用连接超时,连接超时,读取数据超时 先连接 阅读全文
posted @ 2019-05-13 12:30 清泉白石 阅读(651) 评论(0) 推荐(1) 编辑
摘要: 一、两数之和 1.1 题目描述 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。 示例: 1.2 解题思路 有目标数,又限制是两个数之和,所以知道若一个数为nums[i],则另一个数为target nums[i]。 借助Ma 阅读全文
posted @ 2019-05-13 07:30 清泉白石 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 一、不同路径(LeetCode 62) 1.1 题目介绍 "62. 不同路径" 1.2 解题思路 计数型动态规划 最后一步 最右下角的坐标假设为(m,n),则假设走到(m,n)所有可能的路径为f[m][n] 子问题 走到(m,n)的前一步有两种可能一种是(m 1,n),一种是(m,n 1) 状态转移 阅读全文
posted @ 2019-05-13 07:27 清泉白石 阅读(497) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 19 下一页