怀念中的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的更多相关文章
- 在CentOS 7/6.5/6.4 中安装Java JDK 8(转载)
转载在CentOS 7/6.5/6.4 中安装Java JDK 8 首先,在你的服务器上运行一下更新. yum update 然后,在您的系统上搜索,任何版本的已安装的JDK组件. rpm -qa | ...
- Ubuntu中配置Java环境变量时,出现command not found问题解决记录
百度出Ubuntu中配置Java环境变量时,在利用sudo gedit /etc/profile 对profile编辑后, 在terminal中输入 sudo source /etc/profile, ...
- 面试中关于Java你所需知道的的一切
本篇文章会对面试中常遇到的Java技术点进行全面深入的总结,帮助我们在面试中更加得心应手,不参加面试的同学也能够借此机会梳理一下自己的知识体系,进行查漏补缺. 1. Java中的原始数据类型都有哪些, ...
- Java Native Interfce三在JNI中使用Java类的普通方法与变量
本文是<The Java Native Interface Programmer's Guide and Specification>读书笔记 前面我们学习了如何在JNI中通过参数来使用J ...
- eclipse中 将java项目转换为web项目
来自:http://jadethao.iteye.com/blog/1331308 eclipse中 将java项目转换为web项目 1.找到项目工作空间目录,打开.project文件,并修改文件, ...
- paip.提升性能--多核cpu中的java/.net/php/c++编程
paip.提升性能--多核cpu中的java/.net/php/c++编程 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http ...
- Oracle数据库中调用Java类开发存储过程、函数的方法
Oracle数据库中调用Java类开发存储过程.函数的方法 时间:2014年12月24日 浏览:5538次 oracle数据库的开发非常灵活,不仅支持最基本的SQL,而且还提供了独有的PL/SQL, ...
- 在 NetBeans IDE 6.0 中分析 Java 应用程序性能
NetBeans IDE 6.0 包含一个强大的性能分析工具,可提供与应用程序运行时行为有关的重要信息.通过 NetBeans 性能分析工具,我们可以方便地在 IDE 中监控应用程序的线程状态.CPU ...
- 在dos中运行java程序,若出现Exception in thread “main" java.lang.NoClassDefFoundError
在dos中运行java程序,若出现Exception in thread “main" java.lang.NoClassDefFoundError,可以检查一下几项: 环境变量配置: 注意 ...
- [原创]Android系统中常用JAVA类源码浅析之HashMap
由于是浅析,所以我只分析常用的接口,注意是Android系统中的JAVA类,可能和JDK的源码有区别. 首先从构造函数开始, /** * Min capacity (other than zero) ...
随机推荐
- 数据库SQL(MSSQLSERVER)服务启动错误代码3414
昨天永和客户联系我,说他们的前台系统报错了,给我发了报错的图片.看到错误的第一眼就知道是数据库出问题了,连不上sql Server. 虽然知道是数据库出问题了,但是刚开始的时候没有打开SQL Serv ...
- html-testRunner中文乱码
如下图,使用 html-testRunner 这个库生成测试报告后,出现乱码 因为 HTML文件已经写了 文件编码是 utf-8 所以 我怀疑可能是 html-testRunner 这个库文件中 ...
- 【鸿蒙千帆起】《钢岚》成为首款基于HarmonyOS NEXT开发的战棋新游
近日,紫龙游戏旗下BlackJack工作室全新战棋旗舰作品<钢岚>在华为游戏中心首发上线,并宣布<钢岚>完成鸿蒙原生应用开发,成为基于HarmonyOS NEXT开发的首款 ...
- 黑客终端qsnctfwp
进入网页,发现是网页版的 cmd (/doge) 输入ls发现输出了以下内容 按 F12 检查代码,在<script>中发现输入命令为cat /flag则可获得 flag 此时即可直接复制 ...
- 重新整理 .net core 实践篇—————微服务的桥梁EventBus[三十一]
前言 简单介绍一下EventBus. 正文 EventBus 也就是集成事件,用于服务与服务之间的通信. 比如说我们的订单处理事件,当订单处理完毕后,我们如果通过api马上去调用后续接口. 比如说订单 ...
- 重磅:FPGA实现MIPI DSI4线720P
1. 液晶屏概述 显示屏LCD MIPI DSI4 lane,支持分辨率720*1280,60HZ彩色显示.用于对接国产GOWIN的NR-9C的开发板和LATTICE的CROSSLINK开发板,显示M ...
- React 逃离闭包陷阱
众所周知,JavaScript 中的闭包(Closures)一定是这种语言最可怕的特性之一,即使是无所不知的 ChatGPT 也是这样说的.另外它可能也是最隐蔽的语言特性之一,我们在编写 React ...
- Vue购物车展示功能
1.基本购物车 <body> <div id="app"> <div class="container-fluid"> &l ...
- 使用Databricks进行零售业需求预测的应用实践
简介:本文从零售业需求预测痛点.商店商品模型预测的实践演示,介绍Databricks如何助力零售商进行需求.库存预测,实现成本把控和营收增长. 作者:李锦桂 阿里云开源大数据平台开发工程师 本文从零 ...
- 分布式系统一致性测试框架Jepsen在女娲的实践应用
简介: 女娲团队在过去大半年时间里持续投入女娲2.0研发,将一致性引擎和业务状态机解耦,一致性引擎可支持Paxos.Raft.EPaxos等多种一致性协议,根据业务需求支撑不同的业务状态机.其中的一 ...