学了这门语言后一直没能做成项目,倒是安装环境,用记事本编辑的话,除了js最好做的就是java了。

以前学java的时候是一帮很有朝气的同学,在一个培训班,每天苦哈哈。从c开始学的语言,学完基础部分转入java。引入面向对象。后来引发了自己对面向对象长达好多好多年的思考。

老师说不想当将军的士兵不是好士兵,我觉得站在面向对象的角度上,想当将军的士兵不是个好士兵。因为那时觉得面向对象就是把专业的事交给专业的人,不属于它的不让它知道。做好一个士兵的话就应该只懂得士兵应该做的事,做好一个将军的话就应该不懂士兵需要做什么。还给老师理论了一番。到真的写项目之后,也就是N久之后,才发现,还是老话对。做好面向对象的话不是包装死了,是要有一定的成长性。每一个将军都是从小兵成长过来的,所以他有小兵的所有技能。一个小兵可能通过不同的方式成长成将军,继承自不同的职位属性最终成为一个将军,这个将军里也就保存了它的一路成长。

那时候学java做界面开发,java的界面组件就没见人用到过。说是以前在浏览器很流行,在远古时代的时候。用java做qq聊天,别人有的都做出来了,我没能写出来。那时候想去看java的源代码,想去理解里边的东西。可是进去好像只是一层一层的壳,再到下边什么都没有。只能看懂一些表面相关的东西。

因为这个大学学了汇编,最终学了微机原理,接着找到了cs:app,才觉得稍微有些了解了。这都是后话。

当时没能做得了项目,很多知识不理解。好多一起学的朋友都是在那里认识,不清楚后来发展怎么样了,也没怎么联系。好苦的岁月,不是很争气地把朋友联系方式一个一个丢了。说起怀念学java,主要是想起了那时候一起学习的人。倒不是他们学的好,好像是我占用了他们的好评资源,却并没有能做出些什么。

后来又去学了SSH。每个地方都被带着走了一遍,可是 实在没办法明白为什么要把代码写成这样。而且有好多知识点。看着有的同学一步一步的做着项目,渐渐成型。自己却并没有办法动手。如果没有用或者只是练习,不愿意去做这个项目。而且确实没有学懂。像是一颗蛇皮袋子做的树,一遍一遍把它朝上捋,它就是站不起来。

生活原因刚学完就去找了份php的工作,因为要求低。做了一个多月不做了,能做东西可是好像什么都不明白。在之后很长时间没有接触过编程,很久很久之后,去年的时候回到了编程岗位。被人带着做c#,倒是比java简单多了,好多底层都是语言自动处理,一些知识点根本不需要知道。可是做起来不是java 的感觉,或者说不是想象中的java的感觉。

时代变迁,java也增加了很多东西。像是一些自动化处理和以前SSH的减负载。五六年前还去又学了一遍ssm,依然没法做项目,而且有些听不进去,多少是有些重复的内容,钱白花了。

没有看过深入理解java虚拟机这本书,看不进去。后来去看cs:app觉得爽快多了。主要是接触了编程的整个功能集合,终于有些靠岸的感觉。而且看了好几遍才看懂大部分。后来发现实际没有靠岸,理解功能集只是基础的东西,理解包装和演变需要写更多地代码。还有功能设计,代码聚合,功能拓展,有很多需要锻炼和学习。

还是没能用java做项目。java8的底层改变和oracle要收费啥的,让我觉得本来就不怎么稳固的语言显得有些飘摇。

对java有什么情感呢,除了最开始引入面向对象的思考,和小伙伴们的相处,还有一直以来没能写成项目的不甘心。或许换一门语言都一样,可是觉得每个语言都有自己的风格。本来以为自己和java蛮合的,磨了这么久却没能写成一个项目。而且现在搭建不出来项目。虽然不至于像一个蛇皮袋子的树了,也还是没能做出来什么。

有些渐渐忘了java的风格是什么,之前做了一年多的c#。只记得差别很大。

java工作要求比较多,看着那些要求想着进去之后再更多去了解,可是没有相关经验连面试都没有。我也没有学历。在用的时候边学边用会比较容易快速理解手头的工具是什么,不然书本上或介绍里很容易说得云里雾里。倒是非亲非故愿意去这样招人来尝试的会比较少。

java像是一门可以灵活组装的语言。所有的功能语言都不打包,需要自己去组装,比较清晰明了。同时需要知道很多东西才可以组装好,涉及到性能瓶颈的时候就看对一些组装部件的功能了解多少。我总觉得反射和标注,把代码拆的很丑陋。可自己又并不清楚去掉这些,原本那些业务实现改怎么被替代。大概可以实现快速开发,能显得有用就好。无奈觉得java不只是一种工具,而是一种思想,把这种思想完善好,远比它实现功能要强大。

当然对于没有用java在开发的我来说,不管说什么都只能论为纸上谈兵了。 一门面向对象的语言拆来拆去,它的功能聚合和分类能力被拆散。有点像是优化了开发过程,而不是优化对象本身。java的底层简洁透明也掩盖不了功能拆散带来的繁琐和曲折,组件太多了,我担心自己仍旧拼凑不起来它们。约定大于协议,说的是一种默契感和避免配置,在这方面java还有很多需要优化,用了c#后这样觉得。

怀念中的java的更多相关文章

  1. 在CentOS 7/6.5/6.4 中安装Java JDK 8(转载)

    转载在CentOS 7/6.5/6.4 中安装Java JDK 8 首先,在你的服务器上运行一下更新. yum update 然后,在您的系统上搜索,任何版本的已安装的JDK组件. rpm -qa | ...

  2. Ubuntu中配置Java环境变量时,出现command not found问题解决记录

    百度出Ubuntu中配置Java环境变量时,在利用sudo gedit /etc/profile 对profile编辑后, 在terminal中输入 sudo source /etc/profile, ...

  3. 面试中关于Java你所需知道的的一切

    本篇文章会对面试中常遇到的Java技术点进行全面深入的总结,帮助我们在面试中更加得心应手,不参加面试的同学也能够借此机会梳理一下自己的知识体系,进行查漏补缺. 1. Java中的原始数据类型都有哪些, ...

  4. Java Native Interfce三在JNI中使用Java类的普通方法与变量

    本文是<The Java Native Interface Programmer's Guide and Specification>读书笔记 前面我们学习了如何在JNI中通过参数来使用J ...

  5. eclipse中 将java项目转换为web项目

    来自:http://jadethao.iteye.com/blog/1331308 eclipse中 将java项目转换为web项目 1.找到项目工作空间目录,打开.project文件,并修改文件,  ...

  6. paip.提升性能--多核cpu中的java/.net/php/c++编程

    paip.提升性能--多核cpu中的java/.net/php/c++编程 作者Attilax  艾龙,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http ...

  7. Oracle数据库中调用Java类开发存储过程、函数的方法

    Oracle数据库中调用Java类开发存储过程.函数的方法 时间:2014年12月24日  浏览:5538次 oracle数据库的开发非常灵活,不仅支持最基本的SQL,而且还提供了独有的PL/SQL, ...

  8. 在 NetBeans IDE 6.0 中分析 Java 应用程序性能

    NetBeans IDE 6.0 包含一个强大的性能分析工具,可提供与应用程序运行时行为有关的重要信息.通过 NetBeans 性能分析工具,我们可以方便地在 IDE 中监控应用程序的线程状态.CPU ...

  9. 在dos中运行java程序,若出现Exception in thread “main" java.lang.NoClassDefFoundError

    在dos中运行java程序,若出现Exception in thread “main" java.lang.NoClassDefFoundError,可以检查一下几项: 环境变量配置: 注意 ...

  10. [原创]Android系统中常用JAVA类源码浅析之HashMap

    由于是浅析,所以我只分析常用的接口,注意是Android系统中的JAVA类,可能和JDK的源码有区别. 首先从构造函数开始, /** * Min capacity (other than zero) ...

随机推荐

  1. Kubernetes(K8S)命令指南

    本文提供了一份全面的Kubernetes(K8S)命令指南,旨在帮助用户掌握和运用K8S的各种命令. 关注[TechLeadCloud],分享互联网架构.云服务技术的全维度知识.作者拥有10+年互联网 ...

  2. 应用缺少POI数据,如何开发地点深度信息?

    用户在App里搜索某个地点时,并不满足单一的地点信息,希望得到更多可以帮助其做决策的深度信息.例如有打车出行需求的用户,在打车App里搜索地点时可以显示周边的地点,精确到某个路口,让用户可以自由选择合 ...

  3. HamronyOS自动化测试框架使用指南

      概述 为支撑HarmonyOS操作系统的自动化测试活动开展,我们提供了支持JS/TS语言的单元及UI测试框架,支持开发者针对应用接口进行单元测试,并且可基于UI操作进行UI自动化脚本的编写. 本指 ...

  4. k8s集群安装(kubeadm方式)

    一.准备三台虚拟机,系统CentOS7.9: 192.168.1.221 master1 192.168.1.189  node1 192.168.1.60  node2 二..对三台虚拟机初始化 1 ...

  5. 【进阶篇】Java 实际开发中积累的几个小技巧(二)

    目录 前言 六.自定义注解 6.1定义注解 6.2切面实现 6.3业务使用 七.抽象类和接口 7.1隔离业务层与 ORM 层 7.2隔离子系统的业务实现 7.3选择对比 文章小结 前言 笔者目前从事一 ...

  6. 实训篇-Html-frameset框架集

    frameset.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  7. vue中img标签图片 加载时 与 加载失败 的处理方法

    开发过程中经常需要和图片处理打交道,看了网上很多有关图片处理的方法,都是讲解得一知半解,没有比较全面的总结.下面,将简单总结一个我们通过vue去处理img标签过程中,图片加载时,与图片加载失败时的处理 ...

  8. vue-manage-system 版本更新,让开发更加简单

    vue-manage-system 近期进行了一次版本升级,主要是支持了更多功能.升级依赖版本和优化样式,并且上线了官方文档网站,大部分功能都有文档或者使用示例,更加适合新手上手开发,只需要根据实际业 ...

  9. 力扣1069(MySQL)-产品分析Ⅱ(简单)

    题目: 编写一个 SQL 查询,按产品 id product_id 来统计每个产品的销售总量. 查询结果格式如下面例子所示:  解题思路: 没有用到product表,直接在sales表中使用聚合函数: ...

  10. 第 10 章 使用pyecharts 进行数据展示

    第 10 章 使用pyecharts 进行数据展示 10.1 安装 pyecharts pyecharts 是一个用于生成 Echarts 图表的类库, Echarts 是百度开源的一个数据可视化JS ...