摘要: Java回顾之I/OJava回顾之网络通信Java回顾之多线程Java回顾之多线程同步Java回顾之集合Java回顾之序列化Java回顾之反射Java回顾之一些基础概念Java回顾之JDBCJava回顾之ORM框架Java回顾之Spring基础 阅读全文
posted @ 2014-11-16 20:08 李潘 阅读(2302) 评论(0) 推荐(1) 编辑
摘要: 关于学习设计模式的一些废话面向对象中多个对象之间的关系设计模式之创建型模式设计模式之结构型模式设计模式之行为型模式设计模式之总结与回顾 阅读全文
posted @ 2014-11-16 20:01 李潘 阅读(711) 评论(0) 推荐(0) 编辑
摘要: 数据结构之链表数据结构之栈和队列数据结构之二叉树数据结构之排序数据结构之递归 阅读全文
posted @ 2014-11-16 19:57 李潘 阅读(457) 评论(0) 推荐(0) 编辑
摘要: 《More Effective C#》这本书,大概是四年前看完的,但只整理了一部分读书笔记,后面有时间的话,会陆续补充的。More Effective C# :使用泛型More Effective C# Item1 : 使用1.x框架API的泛型版本More Effective C# Item2 :... 阅读全文
posted @ 2014-11-16 18:42 李潘 阅读(552) 评论(0) 推荐(0) 编辑
摘要: Effiective C# Item1 : 使用属性代替成员变量Effective C# Item2:运行时常量(readonly)优于编译时常量(const)Effective C# Item3:操作符as或is优于强制转换Effective C# Item4:使用Conditional特性代替#... 阅读全文
posted @ 2014-11-16 18:38 李潘 阅读(783) 评论(0) 推荐(0) 编辑
摘要: 《编程匠艺》读书笔记之一《编程匠艺》读书笔记之二《编程匠艺》读书笔记之三《编程匠艺》读书笔记之四《编程匠艺》读书笔记之五《编程匠艺》读书笔记之六《编程匠艺》读书笔记之七《编程匠艺》读书笔记之八《编程匠艺》读书笔记之九《编程匠艺》读书笔记之十《编程匠艺》读书笔记之十一《编程匠艺》读书笔记之十二《编程匠... 阅读全文
posted @ 2014-11-16 18:25 李潘 阅读(471) 评论(0) 推荐(1) 编辑
摘要: 我们为什么需要分布式系统? 这篇文章主要讨论我们为什么需要分布式系统,分布式系统帮助我们解决了复杂系统在成本、效率和高可用方面的问题,但同时它也在分布式计算和分布式存储方面带来了新的问题和挑战。 阅读全文
posted @ 2023-04-11 08:27 李潘 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 怎么算是在工作中负责? 受人之禄,忠人之事。身为程序员,我们在平时工作中要做到怎样才能算是“负责”了呢?我们可以从个人基本能力、工作内容和工作时间三部分来阐述。 阅读全文
posted @ 2023-03-30 17:51 李潘 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 怎么更好的沟通? 程序员群体普通被认为是不善于沟通和交流,但是当我们在职场中时间越长,承担的责任越大,交流和沟通也就越重要。 阅读全文
posted @ 2023-03-23 23:58 李潘 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 怎么用工作邮件? 当在工作中遇到需要不同团队组配合的场景,你一般会怎么做沟通呢?是在即时通信软件上发消息打电话甚至面聊,还是对同事说一句“你发封邮件给我吧,记得抄送我老板”? 阅读全文
posted @ 2023-03-22 23:14 李潘 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 为工作排好优先级 工作,是干不完的,因此我们需要分清轻重缓急,为它们划分优先级,这样才不至于让自己手忙脚乱。 给手头的事情排上正确的优先级,是一项很重要的工作能力。 阅读全文
posted @ 2023-03-21 21:50 李潘 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 聊聊数据压缩 这篇文章主要讨论数据压缩,数据压缩不仅可以节省存储空间,还可以提升网络传输性能,不同的压缩算法有不同的压缩比和压缩耗时,我们需要根据项目需求,选择不同的压缩算法。 阅读全文
posted @ 2023-03-20 18:48 李潘 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 怎么使用硬件同步原语替代锁? 这篇文章主要描述硬件同步原语,它是由计算机硬件提供的一组原子操作。 我们常见的原语操作有CAS和FAA两种。在某些情景下,我们可以使用它来替代锁,从而更加安全高效的操作数据。 阅读全文
posted @ 2023-03-19 09:12 李潘 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 怎么正确使用锁? 这篇文章主要关注分布式锁,包括加锁和解锁的过程,锁的用法,加锁带来的代价,对性能的影响以及如何避免死锁。 阅读全文
posted @ 2023-03-18 11:08 李潘 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 聊聊缓存 这篇文章主要聊一下缓存,如何使用缓存来加速你的系统,减少磁盘 IO。按照读写性质,缓存可以分为读写缓存和只读缓存,两种缓存有各自的适用场景。 阅读全文
posted @ 2023-03-17 07:07 李潘 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 为什么Kafka的性能那么好? 这篇文章主要用来讨论Kafka是如何做到高性能的,包括使用批处理方式处理消息,使用顺序读写的方式使用磁盘,利用PageCache缓存数据并减少IO操作,使用零拷贝技术加速消费流程。 阅读全文
posted @ 2023-03-16 19:27 李潘 阅读(427) 评论(0) 推荐(0) 编辑
摘要: 怎么避免服务内存溢出? 这篇文章主要描述服务在高并发和高吞吐场景下爆发的内存相关问题,包括内存占用过高、内存溢出、内存回收效率低等,并针对这些问题提出了建议。 阅读全文
posted @ 2023-03-15 11:44 李潘 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 应用程序之间的通信传输协议 这篇文章主要描述应用程序之间的通信协议,包括进行数据“断句”的两种不同方法,以及在应用协议层面实现高性能的双工通信。 阅读全文
posted @ 2023-03-14 06:25 李潘 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 怎么选择数据序列化方案? 这篇文章主要讨论序列化和反序列化,当数据在网络上传输时,传输数据的基本形式是二进制流,要想使用网络框架的API来传输结构化的数据,必须得先实现结构化的数据和字节流之间的双向转换,即序列化和反序列化。 阅读全文
posted @ 2023-03-13 06:57 李潘 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 怎么利用异步设计提升系统性能? 这篇文章主要描述异步设计,异步是一种程序设计的思想,使用异步模式设计的程序可以显著减少线程等待,从而在高吞吐量的场景中,极大提升系统的整体性能,降低请求时延。 阅读全文
posted @ 2023-03-12 07:05 李潘 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 怎么处理消息积压问题? 这篇文章主要描述如何解决消息重发的问题,目前主流的消息队列产品都采用了At least once的服务质量,这就导致了很难避免消息重发的情况,我们可以将消费者业务逻辑设计成幂等服务来解决消息重发问题。 阅读全文
posted @ 2023-03-11 08:37 李潘 阅读(114) 评论(0) 推荐(0) 编辑