V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
karottc
V2EX  ›  Java

250M 的 Java 程序,用 go 重构,只需要 8M

  •  
  •   karottc ·
    karottc · 109 天前 · 19563 次点击
    这是一个创建于 109 天前的主题,其中的信息可能已经有所发展或是发生改变。

    把之前的 java 程序,这周学了下 golang ,然后用 golang 重构了下,稳定运行之后内存占用 8M 。

    前文:

    果然吃内存,一个简单的 Java 程序就占用了 250M 内存

    quarkus-graalvm 可以救 Java native 一命

    程序功能如下:

    • 每 10 分钟抓取某个链接的数据
    • 抓取到的内容和 mysql 里面已有的内容作对比
    • 存在就更新,不存在就插入到 mysql 中
    • 每天早上 10 点发送一个企业微信通知
    • 提供一个 rest 接口,上面的功能,可以通过定时触发,也可以通过接口手动触发(保留为了调试和验证程序情况,稳定之后几乎不会调用)。
    • 使用了 gin + gorm + cron 库(因为之前的 java 程序用了 sprinboot, 所以 go 我也特地选了大的库来使用)。

    这几天的结果如下:

    java springboot: 250M

    java (无框架):90M

    java, quarkus + graalvm + native: 50M

    python: 20M

    go: 8-10M 。


    本来想用下 rust, 发现如果不系统的学习,根本没发写出正常的程序,暂时放弃了。


    go 在资源受限的情况下,确实表现很好。之前我是排斥学 go 的,这次做项目发现,也不是不能接受。我之前写 C 的,要啥啥没有,现在有了 go, 就是 c with gc ,而且库多(相比于 c )。而且交叉编译非常方便。

    不过工作中暂时用不到 go ,玩完了。 我还是选择 kotlin

    第 1 条附言  ·  108 天前

    今天借助chatGPT,用rust 重构了一版,功能完全是等同的,内存消耗:14M。比go 大,但是执行程序小了很多,只有7M。

    内存更大可能是因为我选的库和依赖和实现的问题的,因为我只是之前学过rust 教程,并不能独立写出rust程序,必须要通过chatGPT的帮助才行。


    到目前为止,用java、go、rust 都写了一版,这个系列可以结贴了。

    这个项目非常小,但是完全可以作为学习后端web开发的起手入门项目,涉及到的知识点和CRUD操作都有了。开发的过程也本着一个原则的:方便后续迭代和维护,方便增加新功能。 (所以那些用shell 命令来做相同的事的,虽然可以,但是不符合这个原则,所以没有去尝试)

    有兴趣有时间来做不同语言的实验(目前只做了感兴趣的这几个语言,别的语言平台,比如.net 之类的,欢迎各位来分享结果),只是为了以后碰到各种情况的时候,做合适的技术选型。

    当然很多结论是我个人的主观感受,当然涉及到个人看法肯定都是主观的,我年纪越大现在反而越讨厌那些看似中立的观点(实际啥用都没有)。

    152 条回复    2024-07-24 12:30:14 +08:00
    1  2  
    tanranran
        1
    tanranran  
       109 天前
    大佬可以试下 kotlin native
    saranz
        2
    saranz  
       109 天前
    其实就和 react 一样,业务代码一丢丢,但是库文件占了线上代码的大部分。
    用 Solid 重构之后线上代码变小了很多一个样。
    boqiqita
        3
    boqiqita  
       109 天前   ❤️ 26
    试试 shell 命令,估计就几十 kb
    potatowish
        4
    potatowish  
       109 天前 via iPhone
    可以再试试用 servlet 实现,少用三方库,springboot 太占内存,
    arloor
        5
    arloor  
       109 天前
    哈哈,我也是一路从 java 走到 go ,后面又走到了 rust ,内存占用真的少。
    silvernoo
        6
    silvernoo  
       109 天前
    @boqiqita #3 shell 内存全被 curl 占了
    silvernoo
        7
    silvernoo  
       109 天前   ❤️ 3
    总结,Java 一坨屎,落后的毒瘤
    aeiou520
        8
    aeiou520  
       109 天前
    不懂你怎么选的依赖。我这边 springboot 按照你的功能点选依赖 jdbc ,mysql 驱动,starter-web ,打出来的包也就 21mb
    aeiou520
        9
    aeiou520  
       109 天前
    @aeiou520 哈哈~看错了,以为是打包的
    sagaxu
        10
    sagaxu  
       109 天前
    quarkus native 应该能优化到 20M 以内
    keepRun
        11
    keepRun  
       109 天前
    我为了测试 web 占用大小,还测试过 rust ,可以做到 4m
    keepRun
        12
    keepRun  
       109 天前
    这我以前写的应该有点作用:《 graalvm 拯救了 Java 的启动速度,但没法拯救 Java 的内存占用》 https://v2ex.com/t/1005841
    mark2025
        13
    mark2025  
       109 天前
    @keepRun go, rust 偏底层,写应用业务没那边顺畅,折衷选 TS+nodejs:既有 js 灵活以及 TS 类型保护,也没有 spring 全家桶那么重(占用资源太多)
    inframe
        14
    inframe  
       109 天前
    写代码实现功能,最快的估计还是 python
    darkengine
        15
    darkengine  
       109 天前   ❤️ 13
    没有坏的语言/框架,只有坏的实现。

    这个需求选 Java/SpringBoot 是杀鸡用牛刀。
    si
        16
    si  
       109 天前
    打包看了下,JAR 文件 24MB ,运行起来用了 350MB 内存。
    kk2syc
        17
    kk2syc  
       109 天前   ❤️ 1
    @inframe 写代码实现功能,最快的是 php ,连代码格式都不需要考虑。打开记事本就能写 /斜眼笑 /狗头
    karottc
        18
    karottc  
    OP
       109 天前
    @tanranran 本来想试下的,结果 kotlin native 还不支持 mysql, 只支持 sqlite, 所以优先级往后放了。
    karottc
        19
    karottc  
    OP
       109 天前
    @boqiqita 那我不得行,我的出发点还是,要方便后续维护迭代升级,加功能必须要方便。
    zzzmh
        20
    zzzmh  
       109 天前   ❤️ 5
    说的没毛病,但我作为一个不会 go 的 java 也要给 java 说几句好话找补一下
    现在服务器没那么贵的离谱的情况下,多 1 个 G 的内存,也没那么重要
    N 年前的 JAVA ,也没比他以前的老同行省内存过,照样不耽误卷死同行,
    个人认为 Java 的优势在培养一个程序员成本低,开发大型项目难度小周期成本低。
    反过来想,理论上假如说你全部手搓代码,C 搓一个程序,肯定比 Java 性能强 N 倍,多系统运行不在话下,但培养一个员工的成本血贵,开发大型项目时间周期太长,这些成本远超内存上的这点小钱
    bronyakaka
        21
    bronyakaka  
       109 天前   ❤️ 2
    非要用 springboot 这种重量级框架那还怪 java 吃内存干什么,java 技术栈也有很多轻量级框架。go 写 web 真的超级难用,只适合很简单的业务逻辑
    keepRun
        22
    keepRun  
       109 天前
    现在手机普遍都 12g 内存了,内存其实很便宜,国内的流量带宽才是跟金子一样
    march1993
        23
    march1993  
       109 天前
    内存虽然越来越便宜,但是 CPU 的 cacheline 其实近十年也没有太大的长进,省内存可能会带来性能上的优势
    youyang
        24
    youyang  
       109 天前
    @keepRun 运营商还天天说亏损呢
    jackmod
        25
    jackmod  
       109 天前
    golang 学起来确实快,需求驱动,入门不到 4 小时。
    我也准备把 python 写的差不多稳定的原型改成 go 作为学习。
    至于 rust ,真就下次一定了(
    darrh00
        26
    darrh00  
       109 天前
    gin 和 springboot 相比,完善度有多少?
    maigebaoer
        27
    maigebaoer  
       109 天前 via Android
    @bronyakaka 同意。Go 写 web 真的不够酸爽
    qping
        28
    qping  
       109 天前 via Android
    @karottc 没用过 kotlin native ,为什么会不支持 mysql ,是 kotlin native 不能用 mysql 的 jdbc 驱动包了?
    Leviathann
        29
    Leviathann  
       109 天前
    @qping kotlin native 是用 llvm 编译成机器码的,怎么支持运行在 jvm 上的 jar 文件
    qping
        30
    qping  
       109 天前
    @Leviathann 了解了,看起来是只能用一些 kotlin 的标准库了,不过问 chatgpt 说是可以用 c/c++的 mysql 客户端
    BeiChuanAlex
        31
    BeiChuanAlex  
       109 天前
    如果这么说,如果用 c 写,那么不是内存占用更少了
    SeaTac
        32
    SeaTac  
       109 天前 via iPhone   ❤️ 25
    你站一天天的都是什么牛鬼蛇神
    irezpeng
        33
    irezpeng  
       109 天前   ❤️ 2
    哈哈哈哈,语言无好坏,喜欢博主这种折腾的精神,无非就是多学一门语言而已,以前看左耳朵耗子博客,大佬也同时学了多门语言,还运用的不错 rust 就是跟着左耳朵耗子入坑的,个人主职也是 Java ,除了 Java ,我 vue3 、node 、typescript 、js 、html 、cs 、rust 、shell 、python 也是能通水平、同时我原型也画的还可以,工具只是实现目的的工具
    chendy
        34
    chendy  
       109 天前   ❤️ 3
    连续剧是吧?楼主和 HotSpot 内存占用的爱恨情仇
    [Java 很强,但是 Java 的路还很长]( https://v2ex.com/t/950472)
    [quarkus-graalvm 可以救 Java native 一命]( https://v2ex.com/t/1057699)
    [果然吃内存,一个简单的 Java 程序就占用了 250M 内存]( https://v2ex.com/t/1055770)

    可以理解楼主的心情,因为我年轻的时候也喜欢抠这些东西,什么内存占用什么 gc 时间什么线程池参数
    所以还是建议把精力用在更有深度的地方,别天天跟这些玩具较劲
    msg7086
        35
    msg7086  
       109 天前
    等人长大了就知道,能早点下班,能多拿点钱,比什么都重要。
    要是 Java 能让我一年多拿十万块钱,别说 250M 内存了,250G 内存我都喂给你。
    dbpe
        36
    dbpe  
       109 天前
    @chendy +1 现在写复杂业务..搞 java...简单就 GO,影音相关就 C/c++
    bhoppi
        37
    bhoppi  
       109 天前 via Android
    每次见到这种讨论都会有很多人说 Spring 太重了云云。我没学过 Spring ,
    bhoppi
        38
    bhoppi  
       109 天前 via Android
    我之前在别的语言用过不少很重的框架,基本上不用的模块是不会占用
    bhoppi
        39
    bhoppi  
       109 天前
    抱歉,不经常在 V2EX 发言,感觉 V2EX 的移动网页版有问题,一不小心就把文字发出去了,而且我没找到删除和修改的地方,因此请忽略上两层的回复。
    我想表达的是,每次这种讨论都会有很多人说 Spring 太重了,我就有疑惑,我没用过 Spring 但也用过别的语言的比较重的框架,基本上不用的模块是不会占用内存的。难道 Spring 的设计是,不管你用不用里面的功能,只要引入了库,就会造成大量的基础开销么?
    flytsuki
        40
    flytsuki  
       109 天前
    有空对比一下 dotnet aot 么。。
    skull
        41
    skull  
       109 天前
    为老板省钱的其一方法就是优化掉自己
    Ayanokouji
        42
    Ayanokouji  
       109 天前
    @bhoppi spring 采用单例模式,如果启用了(绝大数模块是引入即启用),就会自动创建模块所需的 bean
    Daniel17
        43
    Daniel17  
       109 天前
    最近为啥这么多吐槽 Java 内存占用的,Java 内存占用多又不是现在才出现的
    suyuyu
        44
    suyuyu  
       109 天前
    要不怎么会说 PHP 是世界上最好的语言 (
    sagaxu
        45
    sagaxu  
       109 天前   ❤️ 6
    @bhoppi Spring 不重,Spring Boot 很重,启动时扫描每个包每个类,大量使用反射和字节码动态生成织入。在运行时,哪怕只处理一个最简单的 http 请求,它也引入了完整的 tomcat ,执行到你的方法的时候,调用链路深度已经好几十层了。如果访问 DB ,标准姿势是用 JPA ,那就引入 hibernate 那套大家伙了,从 HQL 编译到 SQL ,一级缓存默认开启,不都得消耗内存?更别说有的项目还开二级缓存和查询缓存。Spring 家族是 J2EE 的一个草根实现,各种组件都选取了很重很企业级的实现,默认开启的东西很多,用不到的功能,它也可能占用着内存。大量的类也会占用很多内存,哪怕只调用了一个方法,类加载器不也得把它载入内存么?
    wysnxzm
        46
    wysnxzm  
       109 天前
    @Daniel17 #43 -Xmx 不知道是什么的大有人在,不要太高估平均水平啦
    xingjue
        47
    xingjue  
       109 天前   ❤️ 1
    go 编译速度快 资源占用少 无虚拟机 这的确是当前云原生的优势,java 这几点没法比
    h9VZ3hilI68DVl36
        48
    h9VZ3hilI68DVl36  
       109 天前
    @chendy +1
    tsvico
        49
    tsvico  
       109 天前
    杀鸡用牛刀,你就别怪刀重。要不试试 php 或者 C
    yKXSkKoR8I1RcxaS
        50
    yKXSkKoR8I1RcxaS  
       109 天前
    这功能,用 PHP 不好咩?
    brookegas
        51
    brookegas  
       109 天前   ❤️ 2
    看到好多 Javaer 老气横秋教训 op 的,有点三季人的即视感。

    “PHP 是世界上最好的语言”,现在可以直接改为“Java 是世界上最好的语言”了。
    Java 过于简单,以至于吸引和堆积了大量的跨行业转码人士,他们是重要的屎山贡献者,也是最努力为 Java 辩护和战斗的群体;他们缺乏学习其他语言的能力和动力;由于低门槛易替代,他们也是 35 岁就能轻易被无情替换的螺丝钉。
    看到有人发帖说 Java 不好,第一个跳出来反击并对 op 冷嘲热讽的就是他们。

    “百万漕工衣食所系” “挡人财路犹如杀人父母”

    只能说,理解并祝福吧。。。
    listen2wind
        52
    listen2wind  
       109 天前
    @Daniel17 这种让我想起来一个段子,一个人说我哥能吃一碗饭,另一个人说我哥能吃一盆饭,再另一个人说我哥能吃答辩
    murmur
        53
    murmur  
       109 天前
    @xingjue 企业开发不需要云原生啊,单体应用配个好数据库服务器能扛起绝大多数中小企业应用
    neptuno
        54
    neptuno  
       109 天前
    企业倒是不在乎内存,你这个属于个人需求,确实适合用 go 。我部署在 nas 的程序,都是 java ,不用在乎内存,熟悉的语言好维护,出了问题改的快。
    HaibaraDP
        55
    HaibaraDP  
       109 天前
    技术选型绝了,hello world 写出花来
    PaulSamuelson
        56
    PaulSamuelson  
       109 天前
    如果遇到一个 Eletron+Java 的桌面端项目,那估计能从 500MB 优化到 5MB 。
    wxw752
        57
    wxw752  
       109 天前   ❤️ 5
    @brookegas #51 我日常项目 java 和 go 双修,偶尔写写 C#,前端也会,应该不算是单独哪一派,反驳一下你。

    你真的看懂上面老哥们说的是什么意思了吗,不是在说 Java 天下第一,而是都在指责 OP 一个很简单的需求用重量级框架,反过头来抱怨内存占用高。毕竟没有最好的工具,只有最适合的工具。

    如果你之前是看懂了还要引战,理解不了也祝福不了,如果理解能力捉鸡,那我祝福你
    xFrye
        58
    xFrye  
       109 天前
    @chendy 我就说为啥最近老是有这种月经帖子出现,看了你这个才知道都是同一个人发的😂
    Richared
        59
    Richared  
       109 天前
    怎么每天都有这样的帖子,上次就说了一句,有这个时间给 App 做好点,用户的内存和硬盘就不值钱了?一个 App 安装包动不动 500M 。安卓内存都普遍 16G 了。谁造成的?真有这工匠精神,国内安卓 App 也不能到这个程度。
    murmur
        60
    murmur  
       109 天前
    @Richared 用户硬盘还真不值钱,256 起配,你说林檎用 c++省资源,聊天记录和图片视频不因为你是林檎系统就省资源啊
    brookegas
        61
    brookegas  
       109 天前
    @wxw752

    理解并祝福。。。
    janda
        62
    janda  
       109 天前
    没必要对比,不同需求选择不同方案,也取决于使用者所掌握的语言
    MrDarnell
        63
    MrDarnell  
       109 天前   ❤️ 1
    @saranz 一个是占内存对比,一个是占磁盘对比,从成本上来说怎么个一样法?
    wxw752
        64
    wxw752  
       109 天前
    @brookegas #61 看了一下你的历史记录,挺有意思的人。战斗力很强😁
    MrDarnell
        65
    MrDarnell  
       109 天前
    @brookegas Java 过于简单-这句话不能苟同,不谈框架,从基础 sdk 使用上来说,别的语言一行可以搞定的事情,java 需要写 5 行,不要谈 spring-boot 带来的简化,只谈语言最基础的东西,php 的确是世界上最好的语言! java 不配!
    Richared
        66
    Richared  
       109 天前
    @murmur 本来想和你解释下,但是我看我写的回答没啥问题,祝福你吧。没别的说的了。
    diagnostics
        67
    diagnostics  
       109 天前
    理解并祝福。。。
    golang is welcome you
    dreamage
        68
    dreamage  
       109 天前
    什么场景呀 是在抓利率吗
    DesnLee
        69
    DesnLee  
       109 天前
    @murmur #60 我 64
    murmur
        70
    murmur  
       109 天前
    @Richared 你难道不知道安卓成就成在 java 语言么,要不为啥安卓一开始能迅速构建生态,拉拢全世界开发者

    塞班失败有一部分原因就是他开发 c++,太 tm 难学了

    现在安卓已经成功了, 选 java 是历史原因改不了,那就升级内存和硬盘呗,反正这俩玩意真不值钱
    idblife
        71
    idblife  
       109 天前
    @zzzmh
    一般来说 java 比 go 服务要多占用 1 倍以上的内存,如果你每年数据中心的成本是 5000 万左右,意味着能节省大概 2000 万成本,老板会怎么想呢?
    murmur
        72
    murmur  
       109 天前
    @Richared 另外吹牛逼得调查了才有发言权,我没苹果手机,ipad 微信是 694m 初始安装包,安卓手机上 264 ,也不知道哪个平台缺少工匠精神
    murmur
        73
    murmur  
       109 天前
    @idblife 如果你全是简单的 curd+缓存操作可以用 go ,如果是那种复杂 sql 带事务联表操作,用 go 没个顶级团队你做不起来
    ily433664
        74
    ily433664  
       109 天前
    @idblife 数据中心成本≠内存成本,现在内存很便宜
    qxdo1234
        75
    qxdo1234  
       109 天前
    @murmur 也可以啊,go 虽然框架和生态不太如 java 成熟,但是事务联表复杂 SQL 还是支持的。
    murmur
        76
    murmur  
       109 天前
    @qxdo1234 支持和团队协作、好招人还是有区别的,java 的企业开发太成熟了,这种东西放哪里都是这么开发,人家不看文档凭以前经验就能上手项目

    所以 java 成就成在 spring+mybatis/hibernate 包打一切

    go 得看咱俩用的轮子是不是一套
    murmur
        77
    murmur  
       109 天前
    国内还有个很重要的因素,java 是信创语言,go 我不知道是不是,java 有阿里的虚拟机这就是国产化
    XDiLa
        78
    XDiLa  
       109 天前   ❤️ 1
    @boqiqita 看到这个真的绷不住了
    asuraa
        79
    asuraa  
       109 天前
    为啥不试试 c# 不试试 asp.net core
    idblife
        80
    idblife  
       109 天前
    @ily433664
    数据中心内存很便宜???
    你但凡有个云服务的帐号也不会这么说吧。。。
    idblife
        81
    idblife  
       109 天前   ❤️ 1
    @murmur
    要是 go 连复杂 sql 带事务联表操作都需要顶级团队,那还能流行?
    说话之前请过过脑子。。。
    murmur
        82
    murmur  
       109 天前
    @idblife 阿里京东没看谁切到 go 吧
    agdhole
        83
    agdhole  
       109 天前
    asp 8 aot 做的网关,只要 45M
    storyxc
        84
    storyxc  
       109 天前
    springboot 这种重量级框架内存占用高是事实,但你这个帖子喷歪了,主要是你的选型有问题。
    nikenidage1
        85
    nikenidage1  
       109 天前
    要不试试最新的 .net? aot 之后内存也就 15m 左右吧
    liangch
        86
    liangch  
       109 天前
    还 14 年的 ID 。
    Richared
        87
    Richared  
       109 天前
    @murmur 我没有吹牛逼,我只说了个事实,首先我知道你义愤填膺,但是请你好好看看我说了啥,你看看你自己说了啥。不会再回你了,很无聊。
    egfegdfr
        88
    egfegdfr  
       109 天前
    开发语言之间的比较,不是这么比较的, 你用一个省内存的语言来和一个耗内存高的语言来做比较, 相当于用跑车和五菱宏光比拉货能力。这个不应该是这么比的。
    下面的连接是一个比较常用的 27 个语言在耗电、运行时长、运行内存的一个比较的论文的总结, 感兴趣的可以了解下。
    https://www.51cto.com/article/629946.html
    egfegdfr
        89
    egfegdfr  
       109 天前
    @egfegdfr 没有最好的工具,只有最合适的工具
    aino
        90
    aino  
       109 天前
    梦回 2000 年
    abcbuzhiming
        91
    abcbuzhiming  
       109 天前
    @idblife 没必要和那些人争,前几年互联网繁荣期,有两拨人吃到了时代红利所以一直忘乎所以,其中一派就是你现在看到的,觉得数据中心的内存很便宜。最狂的时候,我在这里见过人说什么“你连这点内存都买不起来做什么互联网”?还有一拨就是那帮 Electron 。前面那帮人是不把服务器内存当钱,Electron 这帮人则是认为用户电脑的内存不值钱。
    murmur
        92
    murmur  
       109 天前
    @abcbuzhiming electron 是跨平台的主流选择,满足一次开发 5 端( win+mac+linux+信创+阉割后上 web 服务)使用(除了 native 部分),界面开发简单炫酷,而且相比各种奇葩的框架,浏览器是最稳定、成熟,支持界面特性也是最多的,你不知道浏览器为了流畅背后做了什么优化动作

    比起用户的流畅性,你是老板,你是要便宜的程序员,炫酷的界面,还是为用户省内存?
    murmur
        93
    murmur  
       109 天前
    服务器还有吹逼的余地,毕竟定制硬件,不需要移植,electron 用 h5 开发,单一个可以提供在线服务直接秒了好吧

    我连 app 都不需要装,直接浏览器运行,下载 app 有更多特性,在线快速体验,这是爆杀
    FishBear
        94
    FishBear  
       109 天前
    用 nodejs 实现的话 内存会稍微多一点 但是爽多了
    Chinsung
        95
    Chinsung  
       109 天前   ❤️ 5
    [果然吃内存,一个简单的 Java 程序就占用了 250M 内存]( https://www.v2ex.com/t/1055770#reply125)
    你是不是🤡啊,隔三差五就要发一个这样的话题来哗众取宠,然后还隐藏自己的提问记录。
    把这当贴吧呢
    keppelfei
        96
    keppelfei  
       109 天前
    无论你怎么吐槽,嘿,java 市场占有率就是比 GO 要强。
    kyuuseiryuu
        97
    kyuuseiryuu  
       109 天前
    如果你只关注性能,那么这个项目根本就不适合用 Java 。
    abcbuzhiming
        98
    abcbuzhiming  
       109 天前   ❤️ 2
    @murmur 在经济好的时代,你但凡生产出来的东西都卖的出去,自然可以说出:“比起用户的流畅性,你是老板,你是要便宜的程序员,炫酷的界面,还是为用户省内存”。

    可现在这个时代不再有了,现在是生产过剩的时代。生产过剩的时代,就是你不卷,有的是人卷,你不愿意为用户省内存,会有人愿意为用户省。汽车行业就是如此。

    可以无视用户的想法节约企业成本的套路,仅限于经济高速发展,企业不愁客户的时代,别说 electron 这种恶心用户的东西,淘宝当年恨不得把网页端给砍了,像咸鱼一样彻底用 app ,当时淘宝的前端甚至在各大社区狂言:PC 端用户要对自己的处境有清醒的认知,你们就是一小撮,不值得为了你们去优化用户体验,识相点赶紧往 App 转,移动端才是未来巴拉巴拉。。。结果今年阿里破天荒的跑回来升级自己的 web 端网页。

    吃到了时代红利是好事,但是不自知就很成问题了。你可以给用户喂翔,用户有时候也没办法。但是有些人如上面那些,喂用户翔还要硬按着用户的头说翔是香的,真太过分了
    jinjiang2024
        99
    jinjiang2024  
       109 天前
    要论写起来快,我会用( python 、php )
    javak
        100
    javak  
       109 天前 via iPhone
    op 只是分享了下自己的人研究结果….. 各位温柔点
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3005 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 85ms · UTC 10:54 · PVG 18:54 · LAX 02:54 · JFK 05:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.