V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  hao123yinlong  ›  全部回复第 4 页 / 共 11 页
回复总数  202
1  2  3  4  5  6  7  8  9  10 ... 11  
2015 年 12 月 10 日
回复了 yemoluo 创建的主题 程序员 做 app 服务器端的朋友们,有啥好的 api 文档写作工具没
apidoc.js
北京欢迎你,吸饱霾,卯足劲就去张家口感受北极风光
2015 年 12 月 4 日
回复了 crytis 创建的主题 Java 使用 spring 和 mybatis 能实现数据源的动态切换么
2015 年 12 月 4 日
回复了 SparkMan 创建的主题 Java 问一个心跳检测的问题
@SparkMan 恩额
2015 年 12 月 4 日
回复了 SparkMan 创建的主题 Java 问一个心跳检测的问题
@SparkMan ” 只想简单检测这个 server 在某个端口是不是还活着 “

个人理解你是要开发类似 zk 这类的注册中心,需要维护 server 列表 。

推荐策略:

zk - server 长连接, server 主动连接 zk 。
zk 主动向 server 发心跳数据包 , server 接受到心跳后 回复心跳 数据包
zk 监测读超时 ,读超时事件触发后移除该 server ,关闭连接。

推荐 netty 框架 ,有相关读、写、读写超时监测 及事件回调可以满足
2015 年 12 月 4 日
回复了 brucefeng 创建的主题 分享发现 写了篇 rpc 介绍的文章——RPC 是什么
瞎比比下。。

看到这就没往下看了。。。

不同的 RPC 框架可能使用不同的网络协议,常用的有 TCP , HTTP/HTTP2.0, WebService 等
2015 年 12 月 4 日
回复了 SparkMan 创建的主题 Java 问一个心跳检测的问题
心跳机制的两个目的:

1. 保活
2.检测断连

所以你的第一个问题本身就是个问题,为了保持当前连接,创建一个新的连接?

从你的问题描述还没搞明白你是客户端开发人员仅想知道如何开发心跳流程,还是作为整个心跳机制流程的设计者如何来设计
2015 年 11 月 30 日
回复了 Andor_Chen 创建的主题 Java 送几本《Java 技术手册(第 6 版)》
++


考虑到撸主应该会检查是否重复回复就不多次回复加持了。。。
2015 年 11 月 29 日
回复了 inevermore 创建的主题 职场话题 黑马学完 ios 不编造工作经验就没法找到工作?
瞎掰工作经历有能力混到 20K 的人不会害怕说真话找不到工作 ,最多起步薪资低点
2015 年 11 月 27 日
回复了 billyu 创建的主题 问与答 计算机等级考试的证书到底有没有用?
@Comdex 这两个不值钱,挂不了(没记错的话)
2015 年 11 月 27 日
回复了 billyu 创建的主题 问与答 计算机等级考试的证书到底有没有用?
个人经验推荐考软考的系统集成项目管理工程师、信息系统管理师之类的吧,对于学生来说难度低(其实通过率不高),还能接触到管理相关基础知识,另外还可以挂靠每年收点小钱 。
2015 年 11 月 18 日
回复了 JohnLou 创建的主题 职场话题 年纪轻轻就有引退打算,求开导!
@paradoxs 大城市的生活真多彩
首页的房源数量建议还是放真实数据吧 ,太容易看出来真实房源数据了,干嘛忽悠中国人 。。
2015 年 11 月 13 日
回复了 ray0625 创建的主题 问与答 求算法~java 多个 list 取交集
Java 实现超简单么。。 都不用自己写算法实现

```
/**
* 从 有值的 list 里取交集
* @param lists
* @return
*/
public List<Object> intersection(List<List<Object>> lists) {
if(lists == null || lists.size() == 0){
return null;
}
ArrayList<List<Object>> arrayList = new ArrayList<>(lists);
for (int i = 0; i < arrayList.size(); i++) {
List<Object> list = arrayList.get(i);
// 去除空集合
if (list == null || list.size() == 0) {
arrayList.remove(list);
i-- ;
}
}
if(arrayList.size() == 0){
return null;
}
List<Object> intersection = arrayList.get(0) ;
// 就只有一个非空集合,结果就是他咯
if(arrayList.size() == 1){
return intersection;
}
// 有多个非空集合,直接挨个交集
for (int i = 1; i < arrayList.size()-1; i++) {
intersection.retainAll(arrayList.get(i));
}
return intersection;
}



public void test() {
List<Object> list1 = new ArrayList<Object>();
List<Object> list2 = new ArrayList<Object>();
List<Object> list3 = new ArrayList<Object>();
List<Object> list4 = new ArrayList<Object>();
List<Object> list5 = new ArrayList<Object>();

initList(list1);
initList(list2);
initList(list3, "3", "4", "5");
initList(list4, "3","4");
initList(list5, "8","3", "3","4");

System.out.println(intersection(Arrays.asList(list1,list2,list3,list4,list5)));

}


/**
* 给 List 添加元素
*
* @param list
* @param item
*/
public void initList(List<Object> list, Object... item) {
if (list == null) {
throw new IllegalArgumentException("list can't be empty!");
}
if (item == null || item.length == 0) {
return;
}
list.addAll(Arrays.asList(item));
}

public static void main(String[] args) {
new Test().test();
}

```
1  2  3  4  5  6  7  8  9  10 ... 11  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   828 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 34ms · UTC 20:37 · PVG 04:37 · LAX 12:37 · JFK 15:37
♥ Do have faith in what you're doing.