what7yousay

what7yousay 查看完整档案

填写现居城市  |  填写毕业院校  |  填写所在公司/组织填写个人主网站
编辑
_ | |__ _ _ __ _ | '_ \| | | |/ _` | | |_) | |_| | (_| | |_.__/ \__,_|\__, | |___/ 个人简介什么都没有

个人动态

what7yousay 提出了问题 · 2019-10-27

java socket多线程读写,为何读到的内容,都是一样的?

现在一个程序,多socket客户端,去连接N多个服务端。首先,用了一个Map缓存各个socket客户端。此外,每个socket都是一个独立的线程去运行逻辑。

但是,现在问题是什么呢?

每个socket的线程,以下的代码,读到的内容都是一样的。可是这明明是跟不同的ip地址的 服务端的通道啊。怎么会乱串呢?百思不得姐。

` while ((b = in.read()) != -1) {

            byteArr.write(b);
            if (in.available() == 0) {
                break;
            }

}`

关注 1 回答 1

what7yousay 提出了问题 · 2019-09-18

Go 把数据库结果大量数据 到结构体,龟速

在使用mongo数据库的时候,查询数据,结果大概有2万多条,
有个方法是 自动把query的结构映射到结构体中的。这两万多条,时间久不说了,1分多,还数据残缺。

var dbresult []MogoResp
error := c.Find(bson.M{"currcode": "903"}).All(&dbresult)

就这么两句代码,卡了超过一分多。mongo是使用索引,得到结果是极其快。就是把结果转为 结构体 数组的时候,龟速龟速。
这个mongo的操作工具是 gopkg.in/mgo.v2。
怎么可能这么慢呢,真是出了奇,求指教.....

===========================

感觉源码使用了反射,导致查出 2万多条数据,用了将近2分钟。

func (iter *Iter) All(result interface{}) error {
    resultv := reflect.ValueOf(result)
    if resultv.Kind() != reflect.Ptr || resultv.Elem().Kind() != reflect.Slice {
        panic("result argument must be a slice address")
    }
    slicev := resultv.Elem()
    slicev = slicev.Slice(0, slicev.Cap())
    elemt := slicev.Type().Elem()
    i := 0
    for {
        if slicev.Len() == i {
            elemp := reflect.New(elemt)
            if !iter.Next(elemp.Interface()) {
                break
            }
            slicev = reflect.Append(slicev, elemp.Elem())
            slicev = slicev.Slice(0, slicev.Cap())
        } else {
            if !iter.Next(slicev.Index(i).Addr().Interface()) {
                break
            }
        }
        i++
    }
    resultv.Elem().Set(slicev.Slice(0, i))
    return iter.Close()
}

关注 2 回答 1

what7yousay 提出了问题 · 2019-07-12

求Go的正则表达:获取() 之间的内容,不包括括号

求Go的正则表达:获取() 之间的内容,不包括括号

已经有包含括号的正则,但是需要可以直接去掉括号的

[\((][^\))]+[\))]$

求解

关注 2 回答 1

what7yousay 赞了回答 · 2019-06-21

解决node v6.x 不支持 async await 吗?

SF傻逼模式,平白来一个踩,答案我修改掉了,就当我没回答过

关注 7 回答 5

what7yousay 赞了回答 · 2019-06-21

解决node v6.x 不支持 async await 吗?

SF傻逼模式,平白来一个踩,答案我修改掉了,就当我没回答过

关注 7 回答 5

what7yousay 赞了回答 · 2019-06-21

解决node v6.x 不支持 async await 吗?

SF傻逼模式,平白来一个踩,答案我修改掉了,就当我没回答过

关注 7 回答 5

what7yousay 赞了回答 · 2019-06-21

解决node v6.x 不支持 async await 吗?

SF傻逼模式,平白来一个踩,答案我修改掉了,就当我没回答过

关注 7 回答 5

what7yousay 赞了回答 · 2019-06-21

解决node v6.x 不支持 async await 吗?

SF傻逼模式,平白来一个踩,答案我修改掉了,就当我没回答过

关注 7 回答 5

what7yousay 赞了回答 · 2019-06-21

解决node v6.x 不支持 async await 吗?

SF傻逼模式,平白来一个踩,答案我修改掉了,就当我没回答过

关注 7 回答 5

what7yousay 提出了问题 · 2019-05-25

pug模板如何获取input的内容?

div(class=['form'])
                - var loginInfo = {username: '', password:''}
                input(placeholder='用户名', class=['inputStyle'], value='loginInfo.username',type="text")
                input(placeholder='登陆密码', class=['inputStyle'], value="loginInfo.password",type="password")

看了几十个网页,没有一个能知道。求大神,欲哭无泪.....
如果在js获取input的内容的?

div(class=['form'])
                - var loginInfo = {username: '', password:''}
                input(placeholder='用户名', class=['inputStyle'], value=loginInfo.username,type="text")
                input(placeholder='登陆密码', class=['inputStyle'], value=loginInfo.password,type="password")
            div(class=['foot'])
                button(class=['loginBtn'] onclick='doLogin()') 登陆

如此,又没办法在doLogin 拿到loginInfo 的值,

关注 2 回答 1

认证与成就

  • 获得 11 次点赞
  • 获得 301 枚徽章 获得 13 枚金徽章, 获得 101 枚银徽章, 获得 187 枚铜徽章

擅长技能
编辑

(゚∀゚ )
暂时没有

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2016-04-23
个人主页被 1.7k 人浏览