- 博客(9)
- 资源 (5)
- 收藏
- 关注
原创 如何正确使用stackoverflow
做技术的,遇到问题时往往会去stackoverflow搜下有没有类似解答或者思路。如果你能准确给出需要搜索的问题(最好是英文的),请绕道。当你拋出一个技术问题时,最终是否能得到有用的回答,往往取决于你所提问和追问的方式。 —— Eric S. Raymond提问是门技术,也是艺术。我技术不好,也没艺术细菌。在stackoverflow 里搜索了几次,结果告诉我 0 resul...
2019-07-30 13:58:54 6700 3
转载 如何构建一个自己的代理ip池
代理池的组件可以大致描述如下:1.代理IP的获取/补充渠道,定期把获取到的代理ip加入到代理池中2.代理ip的验证机制,定期验证代理池中ip的有效性,并删除掉所有失效的ip3.一个web服务,用以提供获取一个随机代理的api4.squid3的维持脚本,它定期获取代理池中的可用ip,更新squid中的可转发代理列表5.一个调度器,程序的入口,用来协调各组件的运行原文:https://...
2019-07-17 15:37:09 2262
原创 自学能力
大学时,记得有一个女孩总喜欢坐很靠后排的座位,一人在默默的自学,记笔记。其他人在认真的听讲或者假装在认真的听老师授课。她期终考试成绩,能通过,但中等左右。 我总能排前几名,我就是那个能听讲的乖学生。这事我一直没想明白,觉得那个女孩比较特立独行吧...后来,毕业后几年,我大概是想明白了。我们做IT的技术更新很快,需要较强的自学能力。我发现自己,在看视频时学习的效果还可以。但是在看文本...
2019-07-16 10:31:35 432
原创 缓存计数器
是在一次比较偶然的情况下,可能是页面卡顿或者网络延迟,发生了重复提交事件,原因是:按钮的loading效果没出来。 经过了优化,或者是给按钮加disable,是可以解决这个问题的。上面都是前端页面防止重复提交的解决方法。但是,可能有比较极端的情况下,前端没check住重复提交。那后端呢,用什么办法来防止。可以利用缓存,以redis为例,key可以根据实际业务命名。一、set缓存...
2019-07-10 16:15:02 852
原创 hashmap容量初始化
创建hashmap对象方法如下:Map<String, Object> map = new HashMap<String, Object>(size);在平时coding中,put元素个数很少,加上偷懒。size往往就忽略不写了。但这次put 15个元素之多..., 我决定要给size赋值了。赋多少呢?hashmap默认容量是16,但是当元素达到0.75...
2019-07-08 18:13:40 2078
转载 并发编程(四)多线程设计模式
1.Single Threaded Execution Pattern[同一时刻只允许一个线程操作] 比喻:三个挑水的和尚,只能同一时间一个人过桥,不然都掉河里喂鱼了。 总结:在多个线程同时要访问的方法上加上synchronized关键字。2.Immutable Pattern[变量赋值一次后只能读取,不能改变。利用不变性解决并发问题] 比喻:一...
2019-07-05 17:53:38 179
原创 并发编程(三)实战篇 线程池优化 CountDownLatch线程等待 CyclicBarrier线程同步 CompletionService 并行任务
本文来自我的微信公众号 :https://mp.weixin.qq.com/s/Ldq-GsaAMLbHZ6enhwaB7A系统开发中,可能会有这么一系列的操作,来处理数据的重复或者不对称,流程如下:while(条件) {//查询AaList = getAList();//查询BbList = getBList();...
2019-07-05 17:43:45 742
原创 并发编程(二)java.util.concurrent 并发容器类 Lock锁 原子类
本文自来我的公众号:https://mp.weixin.qq.com/s/JWoN10ydbVJKET_Xf8NagA下面来了解下Doug Lea老大爷的sdk并发包java.util.concurrent,了解这些常用的实用工具类后可以加深我们对并发编程的印象。SDK concurrent并发包图下面分3块,讲解其中的某些工具类,以及这些类的产生过程。这里并...
2019-07-05 17:42:20 1187
原创 并发编程(一)可见性、原子性、有序性 线程生命周期 最佳线程数
本文讲的并发编程,并非指分布式技术中的高并发,采用水平扩展或者垂直拆分实现,将并发流量分到不同的物理服务器上。而是将服务器的服务性能最大化,提升cpu的利用率,从而加快响应速度和增大吞吐量,主要技术包括多线程。并发编程,绕不开的三个核心问题:分工、同步、互斥。分工,指的是如何高效地拆解任务并分配给各个线程;同步,指的是线程之间如何协作;互斥,则是保证同一时刻只允许一个线程访问共享资源;并...
2019-07-05 17:37:33 155
web入侵安全与测试
2014-10-30
Spring开发指南
2008-04-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人