摘要: 1. 缓存来由 随着互联网系统发展的逐步完善,提高系统的qps,目前的绝大部分系统都增加了缓存机制从而避免请求过多的直接与数据库操作从而造成系统瓶颈,极大的提升了用户体验和系统稳定性。 2. 缓存问题 虽然使用缓存给系统带来了一定的质的提升,但同时也带来了一些需要注意的问题。 2.1 缓存穿透 缓存 阅读全文
posted @ 2018-08-22 19:34 十八岁程序员 阅读(3032) 评论(0) 推荐(1)
摘要: Java中普通的遍历方式一般常用的就是fori和foreach方式,在一般情况下这两种区别不大,往往是效率区别和有一些特殊场合注意问题,下次再详解,这次先描述关于LinkedList遍历时遇到的问题。 具体问题: 项目中需要实现接收对方频繁发送过来的数据并解析后序列化文件到目的服务器,采用了定量发送 阅读全文
posted @ 2018-06-29 16:00 十八岁程序员 阅读(3432) 评论(0) 推荐(0)
摘要: 题目:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。 示例:给定 nums = [2, 7, 11, 15], target = 9,因为 nums[0] + nums[1] = 2 + 7 = 9,所以返回 [0, 1] 阅读全文
posted @ 2018-06-27 16:44 十八岁程序员 阅读(343) 评论(0) 推荐(1)
摘要: 并发编程的挑战 上下文切换(减少) 无锁并发编程 避免使用锁,如将数据的ID按照Hash算法取模分段,不同的线程处理不同段的数据。(segement) CAS算法:Java的Atomic包使用CAS算法更新数据,不需要加锁。Compare and swap 使用最少线程:避免创建不需要的线程。 协程 阅读全文
posted @ 2018-06-25 15:48 十八岁程序员 阅读(191) 评论(0) 推荐(0)