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

想问一下 Java 大佬的开发环境, 对 Linux 的依赖大嘛?

  •  
  •   chaleaoch · 94 天前 · 3274 次点击
    这是一个创建于 94 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我指开发环境

    用 windows 的 IDEA?
    还是 Linux 的 IDEA?
    还是其他 IDE?
    还是最近新出的 Code With Me?
    还是 vscode + remote?

    python 和 Go 都会遇到 windows 下不完美的情况.
    譬如 Celery 现在已经不支持 windows 平台.
    GO 的一些三方模块依赖 cgo, 需要额外安装 mingw.

    不知道 Java 是否有类似情况?

    谢谢.
    29 条回复    2021-08-30 12:39:49 +08:00
    wxw752
        1
    wxw752  
       94 天前
    没有
    dethan
        2
    dethan  
       94 天前 via Android   ❤️ 3
    可以做到 0 依赖
    chendy
        3
    chendy  
       94 天前   ❤️ 1
    jvm 表示哪都一样
    除非你要搞 jni jna 啥的
    Junzhou
        4
    Junzhou  
       94 天前
    和你用啥平台的 idea 没关系。
    zbw0414
        5
    zbw0414  
       94 天前
    我现在基本上都是用 projector ( jetbrains 家的远程工具,正如其名 [投影仪] ),确实如你所说,cgo 交叉编译配置太繁琐。
    前阵子申请换成了 mba m1,配合公司 64c256g 的服务器还是很香的。
    realpg
        6
    realpg  
       94 天前   ❤️ 1
    国内 90%的 JAVA 开发者,开发电脑不是 LINUX
    ila
        7
    ila  
       94 天前 via Android
    @realpg 穷让我用 linux 开发,同样 8g 内存,linux 下跑的更加顺畅
    realkenshinji
        8
    realkenshinji  
       94 天前 via iPhone
    我们公司 CTO 用 linux + emacs
    Cbdy
        9
    Cbdy  
       94 天前   ❤️ 1
    Java 的话,如果不用 JNI 之类的,只要有 JDK 就可以作开发了
    Jooooooooo
        10
    Jooooooooo  
       94 天前
    你用 txt 都能写
    lap510200
        11
    lap510200  
       94 天前   ❤️ 2
    如果你用的是 mac 我不清楚,咱的 mac 吃灰中,用的公司电脑,主流都是 windows+idea
    efaun
        12
    efaun  
       94 天前   ❤️ 1
    一直在用 win 环境做开发,不太能理解用 mac 或者 linux 开发的需求,装些环境都要自己编译,有那时间用 win 安装 exe 摸个鱼不好吗
    x340
        13
    x340  
       94 天前
    看自己喜欢呗。
    WebKit
        14
    WebKit  
       94 天前 via Android
    @efaun 不需要啊。。。
    kwanzaa
        15
    kwanzaa  
       94 天前
    你在试图找打 JVM 脸的方法哈哈哈哈
    chaleaoch
        16
    chaleaoch  
    OP
       94 天前
    @kwanzaa 我是 Java 新手, python 和 Go 也是跨平台的 但是总能找到一些依赖 Linux 的第三方模块.
    不知道 Java 有没有.

    不过根据楼上大佬的回复, 看来是不多.
    Cbdy
        17
    Cbdy  
       94 天前 via Android   ❤️ 1
    @chaleaoch
    关于你的这个问题,维基百科专门有个词条
    https://en.m.wikipedia.org/wiki/Write_once,_run_anywhere
    kingfalse
        18
    kingfalse  
       94 天前 via Android
    mbp+linuxmint 台式机
    xuanbg
        19
    xuanbg  
       93 天前
    编码过程完全不依赖任何平台和操作系统。
    Rache1
        20
    Rache1  
       93 天前
    @zbw0414 这玩意儿,前两周用了几天,有几个问题。

    1 、不能复制 /粘贴,搜了一下,去年就有人提过,一直没解决。

    2 、另外看代码的时候滚动也不够跟手。

    3 、尽管我是在虚拟机运行,配置已经给到了 6c12g,用了一段时间开了 3 个项目后,卡到飞


    PS: 非浏览器运行,使用 projector 客户端登录
    leeyuzhe
        21
    leeyuzhe  
       93 天前
    wsl 2 基本能满足所有要求
    yinzhili
        22
    yinzhili  
       93 天前
    jvm 本身是跨平台的,除非你要用到硬件设备交互会比较麻烦点,其它都不必担心
    zzzmh
        23
    zzzmh  
       93 天前
    我算是 java 菜鸟,我用 linux 的 idea,之后考虑换 vscode,主要看中 linux 的速度是真的快,例如 maven 打包,同一台电脑不同系统,能快 2 到 3 倍了。。。还有一个隐藏的好处是可以杜绝掉代码写了一半打开一个游戏哈哈。。。不过我 linux 水平也捉急,目前就靠 uos 这种简单易入门的
    hq136234303
        24
    hq136234303  
       93 天前
    java 是执行在 JVM 上的。环境的问题是 JVM 会根据当前的环境执行不同的汇编的.所以不存在环境不同的问题。因为你在那个平台生成都是 class 。go 语言编译的时候会根据不同的环境生成不同的汇编。生存的是二进制执行文件。所以 win 编译的和 linux 生成的是不一样的。
    julyclyde
        25
    julyclyde  
       93 天前
    @efaun 那说明你装的方法不对
    Nich0la5
        26
    Nich0la5  
       93 天前
    不玩交叉编译基本没有 极少数几个库依赖特定平台,有些系统调用和文件路径会有影响。公司的百万行 java 项目在 Linux,win,x86mac,arm,mac 上都完美运行
    wqhui
        27
    wqhui  
       93 天前
    java 应用跟什么平台开发没关系,jvm 做好适配了。用 linux 或者 mac 系统主要是有时候找文件、修改文件什么的,懒的用鼠标,就直接敲命令,而 windows 的命令跟 linux 不一样,敲起来很难受。而且大部分公司服务器都是 linux,上传下载东西也方便,scp 就过去了,windows 还要找个工具传
    zbw0414
        28
    zbw0414  
       93 天前
    @Rache1
    1. 可以复制粘贴。需要自行修改配置开启 https,直接安装启动默认是非 https 的,通过 projector config edit 命令重新配置一下即可。
    2. 不跟手的问题,怎么说呢还是看网络吧,如果是云主机基本上就别想了,我这边是公司服务器和办公网在同一网段下,ping<3ms 基本上无感知。
    3. 卡顿问题到时没遇到过,可以试试修改 idea 的配置,贴上我自己的配置可以参考
    -server
    -Xmn1g
    -Xms16g
    -Xmx16g
    -XX:+BackgroundCompilation
    -XX:+AggressiveOpts
    -XX:+AggressiveHeap
    -XX:+UseNUMA
    -XX:CICompilerCount=64
    -XX:SurvivorRatio=8
    -XX:TargetSurvivorRatio=95
    -XX:MaxTenuringThreshold=15
    -XX:MaxGCPauseMillis=500
    Rache1
        29
    Rache1  
       93 天前
    @zbw0414 我都是跑在本地虚拟机的,还没有上云,都不怎么跟手,后面这个配置我回去试一下看看。

    这样的话,复制这个也太烦了,没法复制到外部就算了,内部也不行,晚些时候回去试一下看看
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1127 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 18ms · UTC 22:17 · PVG 06:17 · LAX 14:17 · JFK 17:17
    ♥ Do have faith in what you're doing.