首页 > 编程语言 >怀念中的java

怀念中的java

时间:2023-08-02 18:46:09浏览次数:38  
标签:java 语言 项目 觉得 面向对象 士兵 怀念

  学了这门语言后一直没能做成项目,倒是安装环境,用记事本编辑的话,除了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,语言,项目,觉得,面向对象,士兵,怀念
From: https://www.cnblogs.com/flangrean/p/17601483.html

相关文章

  • 老杜 JavaWeb 讲解(十七) ——JSP补充
    (十六)JSP补充相关视频:49-JSP的page指令以及九大内置对象和EL表达式指令指令的作用:指导JSP的翻译引擎如何工作(指导当前的JSP翻译引擎如何翻译JSP文件。)指令包括哪些呢?include指令:包含指令,在JSP中完成静态包含,很少用了。(这里不讲)taglib指令:引入标签库的指令。这个到JS......
  • 软件测试 | Java中的关键字
    Java中也有许多关键字(也叫保留字),如public、static等,这些关键字不能当做标识符使用。表2-1列出了Java中的关键字,这些关键字并不需要去硬背,因为在程序开发中一旦使用了这些关键字做标识符时,编辑器会自动提示错误。对于以上的关键字,要特别注意的有如下3点:(1)虽然goto、const在Java中并没......
  • 软件测试 | Java程序的注释
    在任何编程语言之中,都存在注释,注释的主要功能是让其他用户可以方便地阅读每段程序,提高程序的可读性,还可以通过注释屏蔽掉一些暂时不用的语句,等需要时直接取消此语句的注释即可,在Java中根据功能的不同,注释主要分为单行注释、多行注释、文档注释3种,下面分别进行介绍。单行注释,就是在......
  • 软件测试 | 一个简单的Java范例
    下面给出一个简单的Java程序范例,观察Java成都基本结构及相同点。范例:定义一个简单类publicclassTestJava{publicstaticvoidmain(String[]args){//Java操作的一个简单范例,输出和乘方intnum=10;......
  • Java中synchronized的用法
    在Java中,synchronized是一种同步机制,可用于控制多个线程在访问共享资源时的并发问题。synchronized可以修饰方法和代码块,以确保共享资源的互斥访问,从而避免不同线程间访问该资源时发生冲突。synchronized的用法包括以下几种:同步方法使用synchronized修饰方法,可以确保在多个线程访问......
  • java实现文件夹的上传和下载
    ​ 我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用。这次项目的需求:支持大文件的上传和续传,要求续传支持所有浏览器,包括ie6,ie7,ie8,ie9,Chrome,Firefox,360安全浏览器,并且刷新浏览器后仍然能够续传,重启浏览器(关闭......
  • JavaScript基础03
    流程控制语句----循环语句循环条件---可以是次数可以状态whilewhile(循环条件){循环体代码}do-whiledo{循环体代码}while(循环条件)do-while和while的区别do-while至少会执行一次循环体代码因为do-while执行过程是先执行一次循环体代码再判断循环条件执......
  • JavaScript中介者模式:解耦组件之间的依赖关系
    JavaScript中介者模式在前端开发中,组件之间的依赖关系往往会导致代码的复杂性和可维护性降低。为了解决这个问题,我们可以使用中介者模式来解耦组件之间的依赖关系。本文将介绍JavaScript中介者模式的概念和使用方法,并通过一个实例来说明其应用。什么是中介者模式?中介者模式是一......
  • Java中自定义注解
    1.注解的作用提供元数据信息编译时检查运行时处理代码分析与框架集成2.基本步骤1.使用@interface关键字定义一个注解类型public@interfaceAnnotationDemo{//注解成员Stringvalue();intnum()default0;}2.在注解类型中定义成员变量,该注解使用时可以设置这......
  • Java实践项目 - 商品分类
    Smiling&Weeping----好想回到那个拉钩许诺的年代 1.1商品分类的思路:一次性查询三级分类(一级为美味麒麟榜,二级为闭眼入,第三级为商品)优点:只需要一次查询,根据一级分类显示二级分类是响应较快缺点:数据库查询效率较低,页面首次加载速......