怀念中的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) ...
随机推荐
- 金融App面临安全风险?解锁HMS Core安全检测服务解决方案
数字经济时代,金融类App成为人们理财.购买证券股票以及办理各项银行业务的重要载体.科技驱动着金融行业的转型升级,但在创新发展的同时,金融App面临的安全风险类型与场景也在持续增加.如何更好地规避安全 ...
- Qt操作ini文件
操作文件,无非就是读与写,以下为Qt读写ini文件的代码. demo: #include "widget.h" #include <QApplication> #inc ...
- pathlib简单使用, 比os简单
from pathlib import Path p = Path(r'D:\project\pachong\test1\a.txt') # 基本用法 ''' # 判断 p.is_dir() # 判断 ...
- mysql 必知必会整理—数据汇总与分组[七]
前言 简单整理一下数据汇总与分组 正文 我们经常需要汇总数据而不用把它们实际检索出来,为此MySQL提供了专门的函数.使用这些函数,MySQL查询可用于检索数据,以便分析和报表生成. 这种类型的检索例 ...
- redis 简单整理——内存的管理[二十六]
前言 redis 是一个内存型数据库,那么就需要重点关注一下内存了. 正文 理解Redis内存,首先需要掌握Redis内存消耗在哪些方面.有些内存消 耗是必不可少的,而有些可以通过参数调整和合理使用来 ...
- windows server 出现.net 3.5安装不上去
前言 有人说为什么到了现在还有人用.net 3.5呢?其实我也不用,主要是mmsql安装的时候要用到. 正文 一般我们不同电脑在程序和功能中添加,如果添加不上会弹出一个自动获取的一个过程,这时我们点击 ...
- 实时数仓构建:Flink+OLAP查询的一些实践与思考
今天是一篇架构分享内容. 1.概述 以Flink为主的计算引擎配合OLAP查询分析引擎组合进而构建实时数仓,其技术方案的选择是我们在技术选型过程中最常见的问题之一.也是很多公司和业务支持过程中会实实在 ...
- python pickle模块,打包创建的对象,做持久化
pickle提供了一个简单的持久化功能.可以将对象以文件的形式存放在磁盘上. pickle.dump(obj, file[, protocol]) 序列化对象,并将结果数据流写入到文件对象中.参数pr ...
- 【Oracle笔记】递归以及索引的一丢丢使用
[笔记]递归以及索引的一丢丢使用 递归写法,树查询 connect by nocycle prior START WITH XXX CONNECT BY PRIOR XXX ORDER BY XXX ...
- 力扣844(Java)-比较含退格的字符串(简单)
题目: 给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true .# 代表退格字符. 注意:如果对空文本输入退格字符,文本继续为空. 示例 1: 输入:s = ...