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

Java 开发有必要使用 Linux 系统吗

  •  
  •   aqiu111 · 330 天前 · 8898 次点击
    这是一个创建于 330 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在大四闲着没事干,想把开发环境从 windows 转移到 Linux ,最近准备装 manjaro 的双系统,翻到这个贴子又有点犹豫 https://www.v2ex.com/t/557147 。求 v 站的大佬解惑,该不该折腾。
    第 1 条附言  ·  330 天前
    总结了一下吧友们的建议,没必要在 Linux 下做 Java 开发。Windows 和 Mac 下的开发生态确实够完善了,相对而言更舒服。不过 Java 程序最后还是跑在 Linux 下的,而且 Linux 更自由,对 Java 程序员来说多用肯定是好的。所以还是决定继续折腾折腾,不过开发环境就不转了,后期可能会考虑换 mac 。
    116 条回复    2023-05-28 15:48:17 +08:00
    1  2  
    raycool
        1
    raycool  
       330 天前   ❤️ 1
    大学生活不就是用来折腾的吗?
    放心大胆的折腾。
    saybyetoGFW
        2
    saybyetoGFW  
       330 天前
    生命的意义在于折腾,选择 Ubuntu 好了
    fox0001
        3
    fox0001  
       330 天前 via Android   ❤️ 2
    要去折腾。

    1. Linux 的知识,工作上一定用得到。
    2. 简历可以多写点内容。
    3. 推荐 Debian 、Ubuntu 之类。
    duke807
        4
    duke807  
       330 天前
    十年使用 windows 系统的经验,和十年使用 linux 系统的经验

    哪个经验更值钱用哪个
    makelove
        5
    makelove  
       330 天前
    linux 环境编程更舒服,且会 linux 还可以自己全栈独立开发部署软件
    urnoob
        6
    urnoob  
       330 天前 via Android   ❤️ 1
    @duke807 都是 0

    大厂系统部署在 Linux ,也不会让你一个开发去管
    小厂部署 Linux ,其实就是跟风,放 win 一样的。
    为啥选 Linux ,就是因为免费
    Bingchunmoli
        7
    Bingchunmoli  
       330 天前
    linux 可以帮你解决 utf-8 编码的一些问题,但是会增加一些路径权限一些问题,建议都用用,毕竟 java 最终运行的服务器通常是 linux 。
    duke807
        8
    duke807  
       330 天前
    @urnoob

    众所周知,windows 是给小白用的系统,linux 是给专业人士使用的系统

    而程序员是专业用户,所以应该使用 linux
    yazinnnn
        9
    yazinnnn  
       330 天前
    manjaro 非常适合入门, 几乎你所有会用到的折腾用的工具都可以在 arch 官方仓库和 aur 里找到

    可以用 kvm+qemu 装一个 win10 来应付不得不用 win 的情况
    lower
        10
    lower  
       330 天前
    还不如 win 下开启 wsl2 或者 hyper-v ,多开几个 vm 直接搭集群也方便
    dcsuibian
        11
    dcsuibian  
       330 天前 via Android
    闲着没事干就装着玩呗。不过单纯对开发来说,不是很必要,毕竟跨平台是 java 的一大优点,写的程序应该正常都是能无痛切换 win/linux/mac 的。比如 maven/jmeter/zookeeper
    kenvix
        12
    kenvix  
       330 天前   ❤️ 7
    @duke807 😅宁这多少是有点极端了,我看你也不见得会用 windows 和 linux
    JimmyChan1506
        13
    JimmyChan1506  
       330 天前
    subframe75361
        14
    subframe75361  
       330 天前
    同大四 java ,现在在用 wsl2 ,但是开着内存占用很高。linux 对某些国产通讯软件的支持度不太够,对工作还是有些影响的,也在犹豫要不要换,希望来个大佬指点指点
    harrozze
        15
    harrozze  
       330 天前
    折腾吧,大四那段相对空闲的时间就是用来折腾过程中学东西的。wsl 或者 windows 里装个虚拟机都好,建议是多用用命令行,vscode 可以远程编辑代码,vim 也可以先熟悉一下。把这套环境搭建好,你就对 ssh 等工具有个初步了解了,linux 命令行里怎么编译 java 等,对你来说也可以先趟趟路,工作里遇到这类问题不至于慌。
    aqiu111
        16
    aqiu111  
    OP
       330 天前 via iPhone
    @raycool 那就折腾好了😂
    aqiu111
        17
    aqiu111  
    OP
       330 天前 via iPhone
    @fox0001 感谢建议,参考了一些博客,个人还是更倾向于 manjaro
    lindas
        18
    lindas  
       330 天前
    我觉得入个门,达到大部分人使用 windows 的程度并不要花费多少精力
    aqiu111
        19
    aqiu111  
    OP
       330 天前 via iPhone
    @yazinnnn 谢谢建议,我目前打算是拿 256g 固态来装 manjaro 当开发环境,然后保留 win11 的双系统,慢慢过渡
    sunqb
        20
    sunqb  
       330 天前 via Android
    没必要,大学把基础打打牢
    aqiu111
        21
    aqiu111  
    OP
       330 天前 via iPhone
    @dcsuibian 就是考虑到这点才在犹豫😂java 开发感觉 windows 够用了
    miv
        22
    miv  
       330 天前 via Android
    没必要啊,你要开发的话,MAC 系统比 linux 舒服多了。
    urnoob
        23
    urnoob  
       330 天前 via Android   ❤️ 1
    @duke807
    笑。真不想嘲讽你。简单的说 win 上的 ps 等专业软件开发者,.NET CLR ,wsl ,win 系统和内核开发者 哪个不专业
    miv
        24
    miv  
       330 天前 via Android
    开发的话追求一个舒服。
    这个我推荐是 window 系统或者是 MAC 统。
    开发完了软件要部署才可以用 Linux 系统。
    你完全可以装一个虚拟机。
    开发的话用 Linux 也不怎么好用。
    northernsongy2
        25
    northernsongy2  
       330 天前   ❤️ 1
    真的,前期就是要多折腾,等干几年,就没折腾那尽头了,爱折腾的程序员,一般都厉害点
    aqiu111
        26
    aqiu111  
    OP
       330 天前 via iPhone
    @miv 谢谢建议,后期会考虑换 mac
    aqiu111
        27
    aqiu111  
    OP
       330 天前 via iPhone
    @harrozze 基础的 linux 还是会的😂虚拟机上玩两年左右了,现在考虑要不要更换开发环境
    zjp
        28
    zjp  
       330 天前
    双系统对我来说最后会懒得重启...
    现在的话,WSL 也好用了 可以先试着
    semocaja
        29
    semocaja  
       330 天前
    可以多多折腾,Java 开发的话用啥系统其实都没啥区别
    vincent7245
        30
    vincent7245  
       330 天前
    也算是后端老鸟了,日常开发语言是 java 、c++和 python 。大学用 windows 因为穷,工作后一直是 mac ,最近一年是纯 linux ,我的感受就是,不打游戏的话用啥都一样。如果非要说舒服的话,纯开发用我觉得 linux 最舒服。
    robbaa
        31
    robbaa  
       330 天前
    纯开发选啥平台都行,区别不大。

    关于 Linux 的学习,可以尝试弄个 vps 搭个站,这个更有实践性。
    ssh 、vi 、apt/yum 、ps 、top 、nginx 、docker 这些都是经常用到的。
    crazyweeds
        32
    crazyweeds  
       330 天前
    开发环境没必要,但如果抱着学习的态度,可以折腾下玩玩,如果耗费太多精力,那么就不推荐。
    blessingsi
        33
    blessingsi  
       330 天前 via Android
    做 Java 一定要熟悉 Linux ,因为你的代码大概率是跑在 Linux server 的。
    而个人认为熟悉 Linux 最有效的办法就是日常天天用,会遇到很多问题,然后想办法去解决。而且大四不折腾,啥时候折腾哇,现在只后悔当年没折腾尽兴
    wangsd
        34
    wangsd  
       330 天前
    没必要,体验太差.
    cnzjl
        35
    cnzjl  
       330 天前
    问一下,ubuntu 怎么聊微信呀
    james122333
        36
    james122333  
       330 天前 via Android
    依照你的想法来就好 个人会继续
    因为思想沖击后可以写很不一样的东西
    不是整天 api 数据库 然后乱七八糟的 log 系统和 spring 一把梭
    如果你跟我一样不太喜欢使用那一堆写的乱七八糟的东西然后解决的问题很花时间且就那样 推荐折腾
    听说 spring 以前都很轻量的 不过应该都是次轻量
    james122333
        37
    james122333  
       330 天前 via Android
    花了九牛二虎之力解决几个简单问题根本优雅不起来
    简单好用更优雅
    aqiu111
        38
    aqiu111  
    OP
       330 天前
    @zjp
    @alexanderxia03
    @vincent7245
    @robbaa
    @crazyweeds
    @blessingsi
    @james122333
    @wangsd
    感谢各位老哥们的评论,这对我很有帮助
    kid1412621
        39
    kid1412621  
       330 天前
    @cnzjl #35 web?
    weakbd
        40
    weakbd  
       330 天前
    @cnzjl 自己 wine 或者用 deepin 的 wine,再或者用 wechat-uos
    kid1412621
        41
    kid1412621  
       330 天前
    个人觉得,学习 Linux 是很有必要的,即使 Java 服务跑在容器里面也需要了解 Linux 。但是,Linux 的 GUI 虽然看起来定制化高,很 geek 的样子,但是不稳定,一个废弃的配置可能要花你几个小时的时间 Google ,个人觉得没必要。假如你日常编程离不开 IDE ,那么 win/mac 还是好一些。但要是你在 vim 里面写代码那就不用说了。
    spr1ngs
        42
    spr1ngs  
       330 天前
    懂点就行 没必要开发 不好用
    bandian
        43
    bandian  
       330 天前
    单纯从写 Java 的角度来说,完全没必要。但是玩玩 Linux 还是很舒服的诶
    Mo3et
        44
    Mo3et  
       329 天前 via iPhone
    玩玩挺好 熟悉 Linux 的操作一些原理啥的对学习和面试也是有益处的
    兼顾日常和开发 所以我推荐类 Unix(Mac) hhh
    fox0001
        45
    fox0001  
       329 天前 via Android
    @subframe75361 #14
    1. 应该是某些国产通讯软件对 Linux 的支持不够。
    2. 有个能跑所有国产通讯软件的 Linux 发行版,叫 Android[狗头]
    Donahue
        46
    Donahue  
       329 天前
    我觉得挺有必要的,我大一开始用 ubuntu , 刚开始折腾各种美化,现在直接把最新的系统下载下来就用了,不折腾。双系统,用 ubuntu 的时间估计 95%+,ubuntu 用不了软件在 vmware player 开 windows 虚拟机用,内存 32G 不差这点~
    chaoschick
        47
    chaoschick  
       329 天前 via Android
    有必要,非常有必要,因为公司项目多是部署在 Linux 上,出了事,多半会直接找开发直接在 Linux 上 debug ,看堆栈,有时公司的运维可能没那么给力,遇到一些棘手的问题解决不了,就会找开发了
    yinbingren
        48
    yinbingren  
       329 天前
    manjaro 不值得推荐,想要一个开箱即用的 arch 环境可以用 endeavourOS 和 arco linux
    blankmiss
        49
    blankmiss  
       329 天前
    manjaro 不值得 问题多多
    xianyv
        50
    xianyv  
       329 天前
    我现在公司是开发在 windows 上,部署也在 windows 上, 部署的时候有点烦, 我一直没研究明白注销用户之后,如何继续运行 jar
    dif
        51
    dif  
       329 天前
    虽然没必要,但 Linux 对 java 猿来说是绑定的, 也就是你的会一些基础的操作。建议你搞个双系统。Ubuntu 就行,稳定好用又简单,还能打 GOGO 。
    Cloudust
        52
    Cloudust  
       329 天前
    本来想说没必要,一看,大学生啊,那就装个 Ubuntu 吧,顺便学学 Linux 相关知识,以后也能用到的。
    wxyrrcj
        53
    wxyrrcj  
       329 天前
    谁用谁知道 大学老师用 eclipse Windows 我直接 idea linux ,香
    wxyrrcj
        54
    wxyrrcj  
       329 天前
    @wxyrrcj 我现在公司电脑都 Linux 单系统 一年了
    xbh1794970183564
        55
    xbh1794970183564  
       329 天前 via iPhone
    没必要,macos 就行
    Focus9
        56
    Focus9  
       329 天前
    搞个服务器捣鼓捣鼓就好,Linux 的桌面系统生态不咋地
    heyjei
        57
    heyjei  
       329 天前
    如果你工作了:怎么舒服怎么来

    如果是大学生:怎么折腾怎么来
    starlin
        58
    starlin  
       329 天前
    开发用 macos ,windows 都可以,但 linux 基本命令,排查问题,优化等还是有必要知道一些的
    LXGMAX
        59
    LXGMAX  
       329 天前
    贴吧老哥
    JKeita
        60
    JKeita  
       329 天前
    代码开发没必要,但是服务器环境必须 linux 上搞。
    fatpower
        61
    fatpower  
       329 天前
    平时开发没必要。不过各种中间件最好在 linux 上跑。
    newmlp
        62
    newmlp  
       329 天前   ❤️ 1
    折腾到最后还是 Windows ,装个 Linux 虚拟机就行了
    thetbw
        63
    thetbw  
       329 天前
    爱用啥用啥,我曾经用 linux 一年多,当主力那种,最后最大的阻碍还是微信
    newmlp
        64
    newmlp  
       329 天前   ❤️ 1
    @xianyv 写个 Windows 服务程序,不登录用户就能运行
    skinny
        65
    skinny  
       329 天前
    读大学不正是学习接触各种知识和技术的时候吗?以后也是要学习的,但那个时候就要求不一样了
    skinny
        66
    skinny  
       329 天前
    如果只是一般应用,不折腾 LVM 配置,WSL 和 Docker Desktop 就够了,还不用切换操作系统,还支持 Linux GUI ,简单方便。不然装个虚拟机也行。
    Loku
        67
    Loku  
       329 天前
    开发的话还是 Ubuntu 舒服,用了几年。 但是张小龙 XX !
    ReZer0
        68
    ReZer0  
       329 天前
    我大学的时候是这么用的,初期:windows+ubuntu 虚拟机-中期:windows+ubuntu 双系统-最后 windows+ubuntu 虚拟机。
    aino
        69
    aino  
       329 天前
    换 linux 吧,至少这样不方便打游戏浪费时间了
    lesteryou
        70
    lesteryou  
       329 天前
    可以试试 deepin ,国内企鹅家的通讯工具,在应用商城可以直接下载,其他的都有很多也都有 linux 版本的。
    作为办公机器,我已经用了三两年了
    jamezee
        71
    jamezee  
       329 天前
    虚拟机就行了,没必要重装系统
    Felldeadbird
        72
    Felldeadbird  
       329 天前
    WSL 可以满足你对 linux 的探索欲望了。觉得 WSL 不好用,直接虚拟机走起。命令行熟悉后,再大胆尝试真机桌面 linux 。
    zzzzzzZ
        73
    zzzzzzZ  
       329 天前
    折腾一下 Graal+boot3+spring6+jdk17 ,尤其是里面的 native image 。你自然就会 linux ,这必是你这时代用的技术。

    再折腾一下 docker+k8s ,往上面丢几个 github 开源项目,基本上就够了。
    可以的话自己改改 k8s operator 。docker compose 在我看来没必要怎么学。
    chrosing
        74
    chrosing  
       329 天前
    我是 win 直接转 mac 的。刚开始也下载过 arch 还有优麒麟系统,后面发现我电脑带不动,然后花了 2500 买了一个小新 Pro13 2020 开始折腾黑苹果, 然后强制自己习惯, 一两天就学会了, 后面黑苹果系统就一直当作主力开发机. 旧的华硕电脑就寄回去给家人当电视机了.
    zzzmh
        75
    zzzmh  
       329 天前
    如果你没用过那说再多也等于白说 如果你用过那根本没必要问
    综上所述,建议下载一个 virtualbox 和 deepin23 自己折腾先在虚拟机里装起来
    如果能适应几天都 OK 就在资料不重要的电脑上装 比如笔记本装个双系统玩玩
    最后 至于对开发到底有什么帮助,大部分情况下没啥帮助,少部分情况下算力提升,不强迫你更新系统,没游戏玩,如果你调教的好的话比 win 省电增加笔记本续航
    john2022
        76
    john2022  
       329 天前
    deepin 上面开发 Go,Python 没觉得有什么不方便
    duluosheng
        77
    duluosheng  
       329 天前
    我的建议是可以折腾,折腾明白。
    后面你会发现 Linux 环境,你可以远程开发机、WSL 、虚拟机替代。
    lijiji
        78
    lijiji  
       329 天前
    Java 开发,一直用的 manjaro ,双系统,基本没有再用过 windows ,大胆转,不要有后顾之忧
    AItsuki
        79
    AItsuki  
       329 天前
    总结的很好。懂不懂 Linux 和平时用不用 Linux 是两回事,开发大部分时间在 IDE 上和浏览器上,而不是在 Linux 上。
    blacktail
        80
    blacktail  
       329 天前
    如果是生产环境(特指打工的环境),不建议折腾。如果是自己的环境,那就放手折腾。
    louchenabc
        81
    louchenabc  
       329 天前
    肯定要折腾一下啊,就算折腾后不用 linux 也不影响啊,最起码你折腾过。

    另外必须说一点,java 在 linux 和 macos 下的编译和运行速度是比在 windows 上快的。
    xianyv
        82
    xianyv  
       329 天前
    @newmlp 那可真麻烦, 要现学,头疼
    lmmlwen
        83
    lmmlwen  
       329 天前
    有这时间不如备考公务员
    ohwind
        84
    ohwind  
       329 天前
    想上就上,说实话现在各个平台做开发其实感受不到太大区别,特别是 windows 整了 WSL 以后。不过我更习惯于 Linux 上的开发,看个人选择吧。
    newmlp
        85
    newmlp  
       329 天前   ❤️ 1
    @xianyv 不过网上好像有那种万能服务,自己启动后可以根据配置再去启动其他程序,一样的效果
    Vraw5
        86
    Vraw5  
       329 天前
    @zzzzzzZ #73 我也感觉是这样的。但是推荐先折腾 docker ,后面搞 graalvm ,有了 docker 基础,后面出问题好查
    jack4536251
        87
    jack4536251  
       329 天前 via Android
    @makelove linux 不都是命令窗口吗?怎么编程?
    zooo
        88
    zooo  
       329 天前
    折腾!
    mogazheng
        89
    mogazheng  
       329 天前
    用 linux 的 gui 不代表能熟悉 linux 的命令,还是哪个顺手用哪个吧,想学 linux ,自己买个 linux 服务器做网站。
    ljsh093
        90
    ljsh093  
       329 天前
    @jack4536251 #87 ⛵️?不说有桌面环境,vim 也没用过吗?
    yinzhili
        91
    yinzhili  
       329 天前
    @louchenabc 张嘴就来,OpenJDK 在各个操作系统下的编译速度没有特比巨大的差别
    bjzhush
        92
    bjzhush  
       329 天前   ❤️ 1
    什么叫有必要呢?三大 OS ,win 、Mac 、linux 哪个都够你开发 Java 的
    但是服务器 99%都是 Linux ,如果你用 Linux 开发,很多环境可以完全跟服务器一致,降低开发成本,而且可以熟悉 Linux 的很多知识,各种命令行工具,以及 Linux 的一些思想,比如 KISS ,比如 everything is file ,诸如此类,对你开发也有很多好处。
    有些人说大公司有运维,开发确实不用维护服务器,但是自己就非要走这么窄的路吗?工作用不到的就不学?
    大学时候不折腾,工作了一天工作 10 小时加上路上 1-2 小时,就变成没时间没精力折腾
    louchenabc
        93
    louchenabc  
       329 天前
    @yinzhili 张嘴就来?我说了有巨大的差别吗?你实际体验过或者测试过吗?我日常三种系统都使用,windows 上的 Java 就是要更慢一些,网上也有无数的这种问题,你自己可以去找找看。
    RockShake
        94
    RockShake  
       329 天前
    大学时间就用来折腾的,以后工作以后你都没精力折腾了
    L0L
        95
    L0L  
       329 天前
    fedora mac windows 机器也都有,工作好多年的 Java curd boy ,从去年开始鼓捣 Linux 的;
    举三个例子来说
    以 IDEA 来说,三家没任何区别,配合上 Toolbox ,linux 上的体验很好。
    一些国内软件,特别是某大厂的某绿色图标得到东西,真的让人心碎。
    外带还有 onedrive ,我本人之前一直用这个作为云端同步及共享,linux 没有好用的 gui 的客户端。

    总的来说,我日常 coding ,或者有什么想法写写尝试了,基本都是在 fedora 上鼓捣;但是轻度社交之类的,还是离不开 mac 和 windows 。

    吐槽一句,so WxCxxx fuck
    leeyuzhe
        96
    leeyuzhe  
       329 天前
    wsl 啊
    liuhuansir
        97
    liuhuansir  
       329 天前
    @bjzhush 真为了熟悉 Linux 思想、shell 脚步,不带 gui 的 linux 更加合适,直接虚拟机装一个就行了,带 gui 的容易往美化的歧路上走
    bjzhush
        98
    bjzhush  
       329 天前
    @liuhuansir 这个看个人了,带桌面的肯定遇到的问题更多,解决的问题也更多,其实美化没什么好折腾的,我很多年都没折腾过了,这几年都是 Mac+Ubuntu 双系统
    lingo
        99
    lingo  
       329 天前
    有空有精力又年轻就折腾折腾呗。不然老有念想。
    yinzhili
        100
    yinzhili  
       329 天前
    @louchenabc 也许是你的 Windows 机器硬件配置和 Linux 机器的不一样,然后脑补一个 [网上有无数问题] 吧。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   940 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 21:41 · PVG 05:41 · LAX 14:41 · JFK 17:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.