现在流行的语言,java是最烂的。

对于从C#转过来的我来说尤其如此。在一个java项目告一段落之际,现在让我吐槽一下:

1. java的泛型让人费解。类型擦除让泛型的优势荡然无存。本来泛型的一大优势是避免装拆箱的性能开销。在java里,仅仅就剩下语法糖的功能。况且这颗糖非常的不好吃。

2. java里的lambda表达式实在是难看得要死。本来业界都用=>来代表箭头函数,java非要用->显得和别人不同。这也就算了,凡用到lambda的地方还非要steam()转一下,对于数组,还要Array.stream(), 要多别扭就有多别扭,要多难看就有多难看。更坑爹的是,还不支持延迟加载,用过一次再接着用就报错!

3. java的方法的异常处理声明让人恼火。我们知道,现在AOP编程,异常都是在框架上层集中处理的。底层只管抛就是了。一般情况下,不主张在底层用catch“吃掉”异常. 这就导致,如果我不想吃掉异常,就得抛出,如果要抛出,就得在方法声明后加throws xxxException。而如果一个方法调了其他的方法,也要跟着throws 这个Exception, 如果调了n多有异常的方法就得throws n多个Exception. 当然有人会说,你不会只throws 单一的基类Exception吗?这样倒是可以简单点。 那这个throws机制还有什么用呢?

4. java没有随用随丢的匿名对象,类似C#的new { a, b}, 或者像js那样更简单的{a, b}。这在传给api传参时,或者webapi返回的结果,是由几个值组成,但又不值得定义一个类时,显得特别啰嗦,导致我要么用一个hashmap来装,要么再专门定义一个只用一次的类。

5. java没有var的隐式类型声明。接受一个很长的类型名的返回结果时,特别不简洁。这个据说在java12以后支持。但是现在谁敢用java8以上的版本?

6. java没有扩展方法的机制。导致现在java的Util类满天飞。你如果想想像别的语言那样,一气点下去,简直是作梦。你不得不在写好一个对象以后,发现它没有你要的方法,然后不停把光标调到对象前面,加util,再加括号,再移到对象后面,再加反括号。太不顺畅了!

7. 现在流行的spring-boot实在是太慢了。我写一个单元测试,运行一次,初始化都要一分钟,搞得我现在烟抽得越来越多!

当我,我才写两个月的java代码,难免对java有所偏见。欢迎各位java大神拍砖!

------分割一下------

我看有很多的java大神在喷我,评论比点赞还多,我说一下 我没有很极端,有些问题确实不及别的语言优秀,我既然学它 肯定还是一门好的语言。

C++之父Bjarne Stroustrup说过:世界上只有两种编程语言,一种是整天被人骂的,还有一种是没人用的。

java垃圾_Java很垃圾吗?相关推荐

  1. 物品回收平台java代码_java垃圾回收

    jvm何时回收一个java对象所占的内存? 当java对象失去引用时,JVM垃圾回收机制会清除他们,回收所占内存空间. java有没有内存泄漏? 无用的内存没有被回收就是内存泄漏. C++内存泄漏:内 ...

  2. java与c内存管理_Java基础--Java内存管理与垃圾回收

    Java自动内存管理 在讲解内存管理之前,首先需要了解对象和对象引用的区别 对象是类的一个实例,以人这个类为例,Person是我们定义的一个类 public class Person{} public ...

  3. java gc回收机制种类_JAVA的垃圾回收机制(GC)

    1.什么是垃圾回收? 垃圾回收(Garbage Collection)是Java虚拟机(JVM)垃圾回收器提供的一种用于在空闲时间不定时回收无任何对象引用的对象占据的内存空间的一种机制. 2.什么时候 ...

  4. java中垃圾收集_Java中垃圾回收机制

    "猪能吃的是湿垃圾,猪不吃的是干垃圾,猪吃了会死的是有害垃圾,卖了能买猪的是干垃圾 ......"最近,上海人民都快被垃圾分类弄疯了.那作为程序员的你,知道在Java中是怎么垃圾回 ...

  5. 67.Java垃圾收集机制\对象引用\垃圾对象的判定\垃圾收集算法\标记—清除算法\标记—整理算法\分代收集\垃圾收集器\性能调优

    67.Java垃圾收集机制 67.1.对象引用 67.2.垃圾对象的判定 67.3.垃圾收集算法 67.3.1.标记-清除算法 67.3.2.标记-整理算法 67.3.3.分代收集 67.4.垃圾收集 ...

  6. Java内存结构与垃圾回收机制算法分析

    什么是HotSpot VM 提起HotSpot VM,相信所有Java程序员都知道,它是Sun JDK和OpenJDK中所带的虚拟机,也是目前使用范围最广的Java虚拟机. 但不一定所有人都知道的是, ...

  7. spark java 逻辑回归_逻辑回归分类技术分享,使用Java和Spark区分垃圾邮件

    原标题:逻辑回归分类技术分享,使用Java和Spark区分垃圾邮件 由于最近的工作原因,小鸟很久没给大家分享技术了.今天小鸟就给大家介绍一种比较火的机器学习算法,逻辑回归分类算法. 回归是一种监督式学 ...

  8. JAVA内存模型及垃圾回收自我总结

    本文为原创,根据<深入理解java虚拟机>和自己的一些理解进行整理,单纯和看其他人的博客感觉不如自己一点点的画和记录来的印象深刻. JAVA内存模型: 上图中:局部变量表所需的内存在编译期 ...

  9. java 垃圾回收之垃圾回收器篇

    java 垃圾回收之垃圾回收器篇 一,垃圾回收器的分类与性能指标 GC分类 按线程数分(垃圾回收线程数 :可以分为串行垃圾回收器和并行垃圾回收器 串行回收指的是在同一时间段内只允许有一个CPU用于执行 ...

最新文章

  1. 网站访问慢解决思路详细图解
  2. 【Linux+Mono+Asp.net公开课】视频下载
  3. 计算机应用与基础进制,计算机应用基础选择题-删进制、字符题(2).docx
  4. selenium+python学习总结-mac
  5. HandlerSocket的安装实例及性能测试
  6. 如何制作一个横版格斗过关游戏_AppStore限免推荐丨加油打工人 竞速+横版格斗2款游戏陪你过周末?_手机游戏...
  7. mysql 汉化成中文版
  8. 手算平方根的JavaScript实现,并推广至任意次方根
  9. docker的创建 指定CPU 内存 网络 硬盘_为什么 CPU 访问硬盘很慢
  10. ACCV 2020国际细粒度网络图像识别竞赛——正式开赛!
  11. 3. lambda 方法引用
  12. Java Grammar(二):运算符
  13. 小试ESP8266(一) 一只电阻, 几条语句, 摆脱深度睡眠反复重启的困扰
  14. 苹果付费app共享公众号_【苹果iOS付费游戏应用帐号分享】新增一款25元iOS游戏应用共享帐号...
  15. 智能手机 + 机器学习 = 个人终端的未来
  16. 微信小程序时间显示几分钟前、几小时前、几天前....
  17. 00后必看:如何在互联网就业寒冬和疫情的双面夹击下找到心仪工作
  18. 城市太美、生活步调太悠闲
  19. 【hdu 5512】【 2015ACM/ICPC亚洲区沈阳站】Pagodas 题意&题解&代码(C++)
  20. java button中文乱码_java解决中文乱码的几种写法

热门文章

  1. JQuery官方学习资料(译):$( document ).ready()
  2. 黑客与画家 第十四章
  3. android 通知折叠点击,如何折叠Android通知?
  4. 基于迭代次数和分类准确率的两种排序
  5. Gradient descent --梯度下降(to be continued)
  6. 如何验证c++代码线程安全性_Python3基础:如何验证你的代码
  7. mysql jdbc 5.1.6_mysql5.0+Mysqljdbc5.1.6.jar的整合 | 學步園
  8. 【控制】《多无人机协同控制技术》周伟老师-第5章-基于滑模控制的无人机编队运动控制策略
  9. Altium Designer Exception ESocketError in module X2.EXE at 001B15CF (10107) on API 'Socket'
  10. matlab---spectrogram短时傅里叶变换与chrip信号