有买了 M1 的 Java 后端么? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Ho1iday
V2EX    程序员

有买了 M1 的 Java 后端么?

  Ho1iday 2020-11-18 14:09:44 +08:00 13321 次点击
这是一个创建于 1787 天前的主题,其中的信息可能已经有所发展或是发生改变。

ide 之类的倒不用担心,感觉大厂都会跟进 arm 版本的,但是我们后端的一些本地开发组件就不清楚了,nginx,tomcat,数据库,docker,这些在 m1 上能运行会不会有卡顿,能支持你现在的日常开发么?

39 条回复    2021-02-26 09:41:03 +08:00
ly61
    1
ly61  
   2020-11-18 14:11:45 +08:00
刚买的 macbookpro 16, 所以等两年再换,正好观望一下苹果芯片到底啥样子以后再买
edw1n
    2
edw1n  
   2020-11-18 14:15:16 +08:00   5
yeqizhang
    3
yeqizhang  
   2020-11-18 14:16:30 +08:00
nginx 你都能想到卡顿...

不知道苹果这个 arm 和别的 arm 有什么不同,我觉得软件能运行就问题不大。
vk42
    4
vk42  
   2020-11-18 14:19:45 +08:00
这些除了 docker 应该都没啥问题,docker 本身以后肯定会支持 AS,不过如果你需要打包 docker image 部署到服务器的话那可能是个问题
andj4cn
    5
andj4cn  
   2020-11-18 14:49:27 +08:00
我建议先观望,蹲一下(手动滑稽
BrettD
    6
BrettD  
   2020-11-18 14:51:25 +08:00 via iPhone
开源软件理论上可以自己从源码编译成原生 ARM 二进制
yaphets666
    7
yaphets666  
   2020-11-18 14:58:02 +08:00
在你本地编译出来的是 arm 平台的 可是部署需要 x86 的 还有程序在 arm 平台和 x86 表现可能会出现差异(我猜的) 程序员根本不适合买这个 M1 就是给媒体 /文字工作者 /ppt 准备的
luckyrayyy
    8
luckyrayyy  
   2020-11-18 15:00:26 +08:00
Java 的一次编译处处运行终于能用上了....arm 上编译 x86 上部署应该不会有什么障碍吧
kischang
    9
kischang  
   2020-11-18 15:42:53 +08:00
@luckyrayyy
当然无障碍,jvm 能运行的地方,java 编译出的 class 就能运行
java 编译出的是与平台无关的
abcbuzhiming
    10
abcbuzhiming  
   2020-11-18 15:46:05 +08:00
@yaphets666 我没听说 java 编译过的字节码 class 文件还是分平台的。只听说过 JVM 本身是分平台的。至少 java 和.net 这种基于虚拟机和字节码的语言,只要编译器和虚拟机支持硬件就行。
aniua
    11
aniua  
   2020-11-18 15:57:20 +08:00
你应该想想 Oracle 会不会给果子做 Oracle 的 JDK
shroxd
    12
shroxd  
   2020-11-18 16:10:48 +08:00   1
我对待苹果新东西的态度一向是放一段时间了再说,不急着上车
tsui
    13
tsui  
   2020-11-18 16:15:23 +08:00
@aniua 现在 production 没几个用 Oracle JDK 了吧,AWS 猛推 Graviton 还怕没有 ARM 的 JDK ?
fd7917931e
    14
fd7917931e  
   2020-11-18 16:22:13 +08:00
本地编译出来不应该只是本地高度用吗?部署的服务嚣虽然是 x86 的, 但是不应该也通过 CI 服务器重新编译出来吗?或者说, 现在不都用容器来编译和运行?
just4id
    15
just4id  
   2020-11-18 16:23:51 +08:00 via iPhone
你说的这些玩意儿在树莓派上都运行得好好的呢
allan888
    16
allan888  
   2020-11-18 16:28:12 +08:00 via Android
@fd7917931e 理论上是这样,但是还是会有例外,举个例子比如双十一期间 CI 挂了然后又有一个 hotfix 需要尽快 build 然后 deploy,基本上没有什么能比本地 build 更可靠,一个人不能本地 build 无所谓的,不过全公司都不行的话肯定会出问题
lscho
    17
lscho  
   2020-11-18 16:28:32 +08:00
你说的这些感觉完全不是问题。。。
shyling
    18
shyling  
   2020-11-18 17:32:21 +08:00
还活跃的项目肯定问题不大且跟进很快的。。

不过我确实有点慌,现在日常用的还是 jdk8 多一点。。。各种 jdk 新版支持了 arm,8 不支持就有点蛋疼
tsui
    19
tsui  
   2020-11-18 17:59:36 +08:00   1
@shyling 莫非大家的树莓派跑了好多年的假 Open JDK ?
inwar
    20
inwar  
   2020-11-18 18:22:54 +08:00 via Android
有些官方 docker 镜像没有 arm 版,比如 mysql
如果用到 jni,可能也不适配,有些包里是有 c 库的
zjsxwc
    21
zjsxwc  
   2020-11-18 18:26:21 +08:00 via Android
到时候服务器也变成 arm 架构?
lululau
    22
lululau  
   2020-11-18 18:59:45 +08:00 via iPhone
开发环境为什么需要依赖 docker,如果需要编译本地代码,用虚拟机,vagrant 也比 docker 方便吧
Xusually
    23
Xusually  
   2020-11-18 19:01:26 +08:00
OpenJDK 现在还不行,今天正好遇到这个问题,Azul 开了一个 JEP391 的 branch 在做移植。
应该要不了太久。
hello2060
    24
hello2060  
   2020-11-18 19:05:22 +08:00 via iPhone
@shyling 慌啥呀慌,是旧机器不能用了还是有人逼你必须用新机器了
Xusually
    25
Xusually  
   2020-11-18 19:05:30 +08:00
@shyling @tsui @aniua @luckyrayyy OpenJDK 现在还不行,今天正好在 DTK 上处理编译 JDK 的问题,蛋疼的一皮,Azul 开了一个 JEP391 的 branch 在做移植。
应该要不了太久,因为有 arm64 linux 的基础。

https://www.azul.com/press_release/azul-announces-support-of-java-builds-of-openjdk-for-apple-silicon/
https://discussions.apple.com/thread/252025039
https://github.com/openjdk/jdk-sandbox/tree/JEP-391-branch
hakono
    26
hakono  
   2020-11-18 19:10:50 +08:00 via Android
@lululau 那啥,mac 的 docker 不是原生的,和 Windows 上的 docker 一样,是跑在 linux 虚拟机上的。只要 linux 虚拟机的部分适配了 arm,就算是 arm 平台也无所谓你去用 x86 镜像
suley
    27
suley  
   2020-11-18 20:19:24 +08:00
@zjsxwc 服务器已经有 arm 架构的了,华为云就有。
VDimos
    28
VDimos  
   2020-11-18 22:02:47 +08:00 via Android
@aniua openjdk 在测试了
zhuangzhuang1988
    29
zhuangzhuang1988  
   2020-11-18 22:19:54 +08:00
qinfensky
    30
qinfensky  
   2020-11-19 04:28:45 +08:00 via iPhone
我倒是很好奇,新平台支不支持 Elixir 开发?我最近对这个比较感兴趣
wanguorui123
    31
wanguorui123  
   2020-11-19 07:49:16 +08:00 via iPhone
我准备踩下坑
NerverLibis
    32
NerverLibis  
   2020-11-19 10:23:05 +08:00
支持 XP WIN7 hyper-v 吗?
jmyz0455
    34
jmyz0455  
   2020-11-19 14:54:44 +08:00
不用担心吧,服务器不是已经有 ARM 架构的了么。实在不行,我想象苹果的工程师搞好虚拟化,尤其是适配好 Docker 就可以啦。
zeni123
    35
zeni123  
   2020-11-20 05:38:17 +08:00 via iPhone
@stanjia 希望可以有人试一下
stanjia
    36
stanjia  
   2020-11-20 12:36:26 +08:00
@zeni123 我最近想入手 mini 8G 256
hlobo
    37
hlobo  
   2020-11-25 08:43:32 +08:00 via Android
@luckyrayyy jdk 才是关键啊
superwg1984
    38
superwg1984  
   2021-01-27 14:16:45 +08:00
我觉得 arm 以后将会是大势所趋
starxg
    39
starxg  
   2021-02-26 09:41:03 +08:00 via iPhone
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     898 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 25ms UTC 20:47 PVG 04:47 LAX 13:47 JFK 16:47
Do have faith in what you're doing.
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86