Java 除了常驻内存现成的东西多生态大 还有什么优点

2020-02-18 08:30:37 +08:00
 zjq123
这贴不讨论面相对象 强类型 垃圾回收
只讨论实用主义 编程语言是反短板
比如 go 好在快速启动 协程
php 好在纯 web 开发速度快
c++好在就是不需要垃圾回收 能上天入地 既能做 c 的东西 又有那么多现成的设计模式可以用 c 也可以用函数指针实现面向对象 但那些现成的设计模式无法用了啊
我以前也偏激 说什么 c 也能 oo 什么 linus 说了 cpp 不好就不好
jvm 系语言好在常驻内存 生态大 现成东西多
ide 厉害
js 好在单线程也能异步
c# delphi 沾 win32 的光 ide 好 能拖拉拽就能快速做出 gui 程序 以我现在的眼光看 我是完全反对 java awt swing 之类
7758 次点击
所在节点    Java
75 条回复
zjq123
2020-02-18 09:58:14 +08:00
@ZSeptember 我是先学 java 然后转 php 的 先学会安装 linux 然后才安装 win 的 你知道个屁呀
abcbuzhiming
2020-02-18 10:01:13 +08:00
@zjq123 额,其实 Linux 桌面如此难用的一个很重要的原因其实就是因为它没有什么重量级的支持,大家都不怎么上心,甚至投入都不够,相反 Linux 在企业级服务的领域,那真是很多大公司货真价值投入真金白银贡献代码。所以 Linux 能在服务器领域占 6 成份额不是浪得虚名。但相对的,也能看出能在服务器领域占据接近 3 成份额的微软的内在实力有多可怕,它是以一家大企业的力量对抗一堆大企业
huruwo
2020-02-18 10:01:29 +08:00
大还不好吗
janxin
2020-02-18 10:02:45 +08:00
好招人,比小众语言好压工资
BBCCBB
2020-02-18 10:03:09 +08:00
Java 稳.
aabbcc112233
2020-02-18 10:06:37 +08:00
@zjq123 #21 怎么说话老是一副怼天怼地的感觉呢??大家都是平心静气来讨论问题,感觉你是想得到「 Java 是垃圾,一点都不好」的答案。

还有,你语文老师没见过你打标点符号吗?
clf
2020-02-18 10:33:38 +08:00
1.安全

2.可移植性
- 除了 UI 有关的部分外,其它 Java 库能很好的支持平台 duli 性。
- Java 的基本数据类型的大小和有关传递的行为都有明确的说明。
(例如,Java 的 int 类型永远是 32 位的整数。在 Java 中,数值类型有固定的字节数。二进制数据以固定格式进行存储与传输,消除了字节顺序(大端小端)的困扰。字符串采用 Unicode 存储)


3.多线程
- Java 是第 1 个支持并 发 程序设计的主流语言。

4.高性能
- 字节码可以(在运行时)动态地转换成对应运行这个应用的特定 CPU 的机器码。

5.动态性
- Java 相比 C/C++来说更具有动态性。
- 库中可以自由地添加新方法和实例变量,对客户端却没有任何影响。
- 在 Java 中找出运行时类型信息十分简单。
zjq123
2020-02-18 10:34:22 +08:00
@aabbcc112233 我没有反 java 而是反 swing awt 你自己没看清楚 我早说清楚了 没有语言是万能的 。
比如以前就有大牛鼓吹 erlang 是下一代编程语言 拜托 erlang 只适用很小的场景 而且 erlang 是 1986 年就已经开发出来了 比 perl 都早
zjq123
2020-02-18 10:36:21 +08:00
@lychs1998 你是 98 年的吗?
pursuer
2020-02-18 11:01:42 +08:00
Java 的 ClassLoader,这个 C#也有,这个可以为代码热更新提供很大的便利。像 c/c++通常也有动态库,但动态库的符号似乎不能限定到一个命名空间内,也不支持符号卸载。除非能用上像微软的 COM 这类框架,但大部分库不会特地支持这类框架。
tt67wq
2020-02-18 11:06:43 +08:00
jvm 生态好
br00k
2020-02-18 11:13:19 +08:00
jetbrains 表示很慌
tyrantZhao
2020-02-18 11:13:30 +08:00
主要岗位多
Ericcccccccc
2020-02-18 11:15:45 +08:00
大规模被使用, 支撑大规模业务得到有效验证. 由此带来坑也少, 因为前人都踩过了, 不用花大力气处理奇葩 bug 上. 最佳实践的路子他人也铺好路, 直接拿来用就行

相关生态完整而且成熟, 业务中使用的第三方组件 /开源产品不会说不迭代就不迭代, 想要什么基本都有(比如我上次尝试学 go 想找个和 mybatis 类似的组件, 结果找了一大堆出来 )

会的人多, 好招人, 这个就不多说了
Michaelssss
2020-02-18 12:04:03 +08:00
招人简单啊…会写 java 的满地有,对于资方就是最大优势,至于你说什么特性啊,用途啊都没有这条有意义
cdh1075
2020-02-18 14:59:38 +08:00
底层语言和函数式语言与 java 完全不是一个类别的没法比
剩下的 go swift php python 各种 script perl ruby csharp....等的优点
java 几乎全都提供了实现方法,关键就看你用不用了,比如 java 早就提供了 jaotc,还有人说 java 和 go 的性能问题,早就提供了 jmod,还有人说 jre 体积大要安装,早就提供了不知多少种垃圾回收,还有人吹 swift 的 gc
我觉得 java 除了有点费键盘,没别的缺点了,但都 2020 年了,java 代码里的“废话”有 ide 帮忙写的,又不用人写
zjq123
2020-02-18 15:46:11 +08:00
@cdh1075
knuth 在 coders at work 说 语言就像宗教 信这个教的想转化另一个教的
你给人感觉就像 java 教徒
murmur
2020-02-18 15:49:59 +08:00
优点是名字好,java 加瓦,添砖加瓦,说明 java 是大型应用的基石
tairan2006
2020-02-18 16:12:48 +08:00
Java 生态好,语言功能比较丰富( Java8 以后),性能比下有余,也比较好招人。

缺点:写网络中间件 /高并发程序比 Go 难写多了;占内存太多;打包体积太大。
qwertty01
2020-02-18 16:18:26 +08:00
@zjq123 awt、swing 这两个东西不是都死了吗? javafx 能了解一下? PS:开发桌面程序不是 c#和 qt 干的事吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/645416

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX