学了这门语言后一直没能做成项目,倒是安装环境,用记事本编辑的话,除了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. 深入理解 SQL UNION 运算符及其应用场景

    SQL UNION运算符 SQL UNION运算符用于组合两个或多个SELECT语句的结果集. 每个UNION中的SELECT语句必须具有相同数量的列. 列的数据类型也必须相似. 每个SELECT语句 ...

  2. Prometheus Operator与kube-prometheus之二-如何监控1.23+ kubeadm集群

    简介 系列文章: 标签 - Prometheus - 东风微鸣技术博客 (ewhisper.cn) Prometheus Operator 的上一篇: Prometheus Operator 与 ku ...

  3. 墨水污染的一角qsnctfwp

    题目附件 在图片中最直接的信息是电话号码,将号码输入到搜索引擎,可以得到该书的出版社为:高等教育出版社. 进入高等教育出版社官网 根据物料号前四位.版次时间.印次时间,在官网中进行图书查询. 结合字数 ...

  4. css 去除浮动布局

    前言 在清楚浮动的时候呢,网上有7种,这里只介绍3种,小声哔哔,其他4种都有坑. 正文 第一种: <div class="container"> <div> ...

  5. MMDeploy部署实战系列【第五章】:Windows下Release x64编译mmdeploy(C++),对TensorRT模型进行推理

    MMDeploy部署实战系列[第五章]:Windows下Release x64编译mmdeploy(C++),对TensorRT模型进行推理 这个系列是一个随笔,是我走过的一些路,有些地方可能不太完善 ...

  6. 使用Skyline 新型UI管理OpenStack技术方案

    使用Skyline 新型UI管理OpenStack [摘要] Skyline 是一个经过 UI 和 UE 优化过的 OpenStack 仪表盘,支持 OpenStack Train 及以上版本.Sky ...

  7. Crazy Excel:Excel中的泥石流

    Crazy Excel又名:疯狂Excel.是一款PC端的Excel软件工具,该软件支持windows, mac os等主流操作系统. 正如其名,作者在设计之初就加入了一些疯狂的设计,目的是创作出更加 ...

  8. 力扣49(java)-字母异位词分组(中等)

    题目: 给你一个字符串数组,请你将 字母异位词 组合在一起.可以按任意顺序返回结果列表. 字母异位词 是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母通常恰好只用一次. 示例 1: 输入: ...

  9. 力扣128(java&python)-最长连续序列(中等)

    题目: 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度. 请你设计并实现时间复杂度为 O(n) 的算法解决此问题. 示例 1: 输入:nums = ...

  10. Java 定时任务技术趋势

    ​简介:定时任务是每个业务常见的需求,比如每分钟扫描超时支付的订单,每小时清理一次数据库历史数据,每天统计前一天的数据并生成报表等等. 作者:黄晓萌(学仁) Java 中自带的解决方案 使用 Time ...