摘要:
即时通讯(Instant Messenger,简称IM)软件多是基于TCP/IP和UDP进行通讯的,TCP/IP和UDP都是建立在更低层的IP协议上的两种通讯传输协议。 前者是以数据流的形式,将传输数据经分割、打包后,通过两台机器之间建立起的虚电路,进行连续的、双向的、严格保证数据正确性的文件传输协 阅读全文
摘要:
事件回调其实是一种常见的设计模式, Netty 就使用了这样的设计。 这里采用一个 demo,试下如下功能: Caller 向 Notifier 提问。 提问方式是异步,接着做其他事情。 Notifier 收到问题执行计算然后回调 Caller 告知结果。 在 Java 中利用接口来实现回调,所以需 阅读全文
摘要:
JVM 是根据可达性分析算法找出需要回收的对象,判断对象的存活状态都和引用有关。 在 JDK1.2 之前这点设计的非常简单:一个对象的状态只有引用和没被引用两种区别。 这样的划分对垃圾回收不是很友好,因为总有一些对象的状态处于这两之间。 因此 1.2 之后新增了四种状态用于更细粒度的划分引用关系: 阅读全文
摘要:
软件架构不仅仅只是选用什么框架、选用什么技术组件这么简单。它贯穿了对人的组织、对技术的组织、对业务的组织,并将这三种组织以解决业务问题这一目 标有机的结合在了一起。 软件系统的价值是以解决业务问题的能力、支撑业务增长的能力为衡量标准 程序员想要工作出业绩,必须认清楚系统背后的业务价值,按价值去梳理工 阅读全文
摘要:
BFS求解迷宫问题,不会死循环 阅读全文
摘要:
迷宫问题思路 根据昨天的博客,有如下几种解决方案 1. 克鲁斯卡尔 ,为避免死循环,需要设定优化路径的次数。 2. Prim,为避免死循环,需要设定优化路径的次数,暂定200次。 3. BFS , 实现简单,无死循环。 4. DFS , 实现简单,无死循环,复杂度较低。 5. 动态规划,实时根据权重 阅读全文