• 请不要在回答技术问题时复制粘贴 AI 生成的内容
aqiu111
V2EX  ›  程序员

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

  •  
  •   aqiu111 · May 23, 2023 · 14059 views
    This topic created in 1272 days ago, the information mentioned may be changed or developed.
    现在大四闲着没事干,想把开发环境从 windows 转移到 Linux ,最近准备装 manjaro 的双系统,翻到这个贴子又有点犹豫 https://www.v2ex.com/t/557147 。求 v 站的大佬解惑,该不该折腾。
    Supplement 1  ·  May 23, 2023
    总结了一下吧友们的建议,没必要在 Linux 下做 Java 开发。Windows 和 Mac 下的开发生态确实够完善了,相对而言更舒服。不过 Java 程序最后还是跑在 Linux 下的,而且 Linux 更自由,对 Java 程序员来说多用肯定是好的。所以还是决定继续折腾折腾,不过开发环境就不转了,后期可能会考虑换 mac 。
    116 replies  •  2023-05-28 15:48:17 +08:00
    1  2  
    ❮ ❯
    raycool
    raycool
    May 23, 2023❤️1
    1
    大学生活不就是用来折腾的吗?
    放心大胆的折腾。
    saybyetoGFW
    saybyetoGFW
    May 23, 2023
    2
    生命的意义在于折腾,选择 Ubuntu 好了
    fox0001
    fox0001
    May 23, 2023 via Android❤️2
    3
    要去折腾。

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

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

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

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

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

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

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

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

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

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

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

    吐槽一句,so WxCxxx fuck
    ThisDay
    ThisDay
    May 24, 2023
    96
    wsl 啊
    liuhuansir
    liuhuansir
    May 24, 2023
    97
    @bjzhush 真为了熟悉 Linux 思想、shell 脚步,不带 gui 的 linux 更加合适,直接虚拟机装一个就行了,带 gui 的容易往美化的歧路上走
    bjzhush
    bjzhush
    May 24, 2023
    98
    @liuhuansir 这个看个人了,带桌面的肯定遇到的问题更多,解决的问题也更多,其实美化没什么好折腾的,我很多年都没折腾过了,这几年都是 Mac+Ubuntu 双系统
    lingo
    lingo
    May 24, 2023
    99
    有空有精力又年轻就折腾折腾呗。不然老有念想。
    yinzhili
    yinzhili
    May 24, 2023
    100
    @louchenabc 也许是你的 Windows 机器硬件配置和 Linux 机器的不一样,然后脑补一个 [网上有无数问题] 吧。
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   899 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 222ms · UTC 22:32 · PVG 06:32 · LAX 14:32 · JFK 17:32
    ♥ Do have faith in what you're doing.