摘要: 上一篇文章《服务器端网络编程之 IO 模型》中讲到服务器端高性能网络编程的核心在于架构,而架构的核心在于进程-线程模型的选择。本文将主要介绍传统的和目前流行的进程-线程模型,在讲进程-线程程模型之前需要先介绍一种设计模式: Reactor 模式,不明白的看这里《设计模式详解》,文中有一句话对 Rea 阅读全文
posted @ 2019-02-22 00:12 水目沾 阅读(593) 评论(0) 推荐(0) 编辑
 
摘要: 引言 从 T 跳槽到 A 之后,我的编程语言也从 C++ 转为 了 Java。在 T 做的偏服务器端开发,而在 A 更偏向于业务开发。上周在 A 公司组内做了一个《服务器端高性能网络编程》的分享,我讶异于组内的十个人竟然没有一个人做过直接基于 TCP/IP 协议的开发,更多的是 Web 后台的业务开 阅读全文
posted @ 2018-12-23 13:04 水目沾 阅读(1210) 评论(0) 推荐(1) 编辑
  2019年3月2日
摘要: 背景: 说起 mybatis,作为 Java 程序员应该是无人不知,它是常用的数据库访问框架。与 Spring 和 Struts 组成了 Java Web 开发的三剑客 SSM。当然随着 Spring Boot 的发展,现在越来越多的企业采用的是 SpringBoot + mybatis 的模式开发 阅读全文
posted @ 2019-03-02 13:30 水目沾 阅读(13709) 评论(1) 推荐(3) 编辑
  2019年2月17日
摘要: Java 中只有按值传递 "Java 中只有按值传递",初看到这几个字有点不敢相信,无数次通过函数改变过对象,无数次跟同事说 Java 在传对象的时候是按引用传递。后来细细想想,之所以以为 Java 传对象是按引用传递是因为其中有很多概念都没理清楚,与 C++ 中的搞混了。从 C++ 转 Java 阅读全文
posted @ 2019-02-17 22:14 水目沾 阅读(712) 评论(0) 推荐(1) 编辑
  2015年3月11日
摘要: 2015.3.11今天阿里面试,最后给我出了一个算法题,如下: 一个数组字符串,对其中的字符串进行排序,排序规则如下:长度越小越排在前面,长度相同则按照字符串大小排序。举个例子:“a”,"ab","Ab","b","abc",排序后 : a, b, Ab, ab, abc。 和室友讨论一下,由他... 阅读全文
posted @ 2015-03-11 23:04 水目沾 阅读(687) 评论(6) 推荐(0) 编辑
  2015年3月6日
摘要: 转载:http://kb.cnblogs.com/page/176818/字符串匹配是计算机的基本任务之一。 举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"? 许多算法可以完成这个任务,Knuth-Morris-Pr... 阅读全文
posted @ 2015-03-06 16:58 水目沾 阅读(160) 评论(1) 推荐(0) 编辑
  2015年1月29日
摘要: 整数转化为字符串的函数相信大家在做一些算法题的时候就已经做过,一般能想到的代码如下: 1 size_t my_uint32_to_str(uint32_t value, char *dst) 2 { 3 size_t length = digits10(value); 4 siz... 阅读全文
posted @ 2015-01-29 02:03 水目沾 阅读(1022) 评论(1) 推荐(0) 编辑
  2015年1月28日
摘要: 看了很多 Trie 树的介绍, 这篇讲的最好,简单易懂(特别是代码部分),直接转载:http://www.cnblogs.com/dolphin0520/archive/2011/10/11/2207886.htmlTrie树也称字典树,因为其效率很高,所以在在字符串查找、前缀匹配等中应用很广泛,其... 阅读全文
posted @ 2015-01-28 20:55 水目沾 阅读(240) 评论(0) 推荐(0) 编辑
摘要: C 语言的 switch 语句非常强大。然而,它不能用字符串作为判断条件,只能用常整数。这是可以理解的,因为 C 的字符串仅仅是数组,它们并不是并不是一个整体。 在某些情况下,将 string 作为 switch 语句判断条件是非常有用的。在 lwan 中我用一个小窍门避免在热门路径调用 st... 阅读全文
posted @ 2015-01-28 11:30 水目沾 阅读(388) 评论(0) 推荐(0) 编辑
  2015年1月14日
摘要: 转载自Linux epoll模型,这篇文章讲的非常详细! 定义: epoll是Linux内核为处理大批句柄而作改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著的减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。因为它会复用文件描述符集合来... 阅读全文
posted @ 2015-01-14 10:41 水目沾 阅读(4278) 评论(0) 推荐(0) 编辑