Java感情
不知道怎么会执着于这一门语言。论速度的话,c那系更好一些,而且对底层的操控更多是c那边的。还是想通过Java做这些事。
对Java不怎么懂,它的底层实现是怎样的。只知道一个大体的思想,不知道具体步骤。而大体思想也是自己通过猜测和感觉得来。
对Java的执行速度不知道怎么去辨别。毕竟不是c那么透明,它有很多的层,一件事情很多个对象去分工处理。
不知道为什么会仍旧觉得这个语言比较好,比较适合自己思路的样子。好像自己用十几年的时间都在理解Java所阐述的面相对象到底是怎样一种思想。因为它带来的这种思想,也影响了自己的思考方式。在最初的时候还可以觉得,现在已经感觉不出来影响了什么。
细想来,是分工的思想。每一个人都有确定的职责,每一个职责都能找到确定的对象,又能保证相互之间灵活配合。这是一件令我觉得兴奋、做起来愉快的事,喜欢并觉得擅长。
好多事情不能用Java做的样子,用Java做的又不是它真正的实力体现。像现在很多手机程序和游戏用Java做,而且里边用到的也并不是我理解的Java思想,只是在作为一种普通语言在使用,并没有体现它的最有价值部分的特性。游戏服务器很多都在用c系开发,毕竟讲究速度还有灵活操纵底层。我觉得网络游戏用Java来开发比较好,可是想到它那么慢的特性,又觉得好像不怎么适合做这件事。
不过,在那种分工思想下。Java本身应该可以做得非常灵活才对。在语言开发之初,肯定有对速度的考虑,只是后来使用的人不能很好理解一些思想,用起来才会那么错乱,影响了执行效率。语言也是在进步的,总觉得在它体现的思想下、尝试做到的思想下,Java本身会有所改变。
编程每套语言都有自己里边渗透的思想吧。在我看到的Java是对面相对象解释得最好的,当然其中一些封装并不是很好理解了这些思想,或许一些关键字和规则的定义也不是那么有深度,可给人的感觉是它和“面向对象”的友好感最好。
程序大了,使用这种思想编程让我觉得最对感觉。一个软件是一个立体空间里,很多对象的相互配合。不是简单地实现某个功能,是对一个职责进行理解和划分,创造出来一个个对象,相互协作来实现这个职责。不再是一条线的代码,而是一个多对象之间的来回交互。不是我用代码去实现一个功能,是我编辑出一些对象,通过它们之间的交互操作来完成要达成的工作。
先把功能分工给对象,再对对象进行编程。和原来的直接去实现一个功能,或者写成一个个方法进行调用,虽然作用是一样的,可根本不是一个意思,根本不是一个思考层次上的事。
或许说只是方便管理,便于拓展、修改,还有什么解耦合。这些都只是表象,并不是它的好处。
它的好处是从思想上清楚透彻,更友善人的思考方式,让编程在头脑里变得更舒服。从机器语言到别的什么到面相过程到面相对象,这是一种更适合人脑袋思考方式的演变。Java所表现的面相对象能更适合一些这种进展方向。
说感情是因为里边总有一些自己说不明白道不清的东西,能说出来的更多只是一种逻辑上的猜测、看得过去的解释。
简单说,就是一种执着吧。
Java感情的更多相关文章
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- 就这么漂来漂去---一个毕业三个月的java程序员的裸辞风波
注:这并不是一篇技术文章,而是记录了我这几个月经历的入职,裸辞,找工作的心路历程,简单介绍一个博主的情况,我是16年毕业生,校招进了一家北京的公司,java开发,和很多年轻人一样,干了一段时间,我发现 ...
- 云端卫士实战录 | Java高级特性之多线程
<实战录>导语 一转眼作为一名Java开发者已经四年多时间了,说长不长说短不短,对于java的感情还是比较深的,主要嘛毕竟它给了我饭吃.哈哈,开个玩笑.今天我想借此机会来和大家聊聊Java ...
- 渣渣小本求职复习之路每天一博客系列——Java基础(9)
———————————————————————今天不闲聊————————————————————————————— 第十一章:线程 第四节:synchronized与同步 首先,我们来看一段代码: p ...
- 一位资深开发的个人经历 【转自百度贴吧 java吧 原标题 4年java 3年产品 现在又开始做android了】
楼主2007年从一家天津的三流大学毕业.毕业前报了一个职位培训,毕业后可以推荐工作.因为推荐的公司都是北京的,所以就来北京了. 找了一个月工作,没有找到要我的,就在出租屋里宅了起来,打着考研的旗号,又 ...
- 《程序设计教学法--以Java程序设计为例》
<程序设计教学法--以Java程序设计为例> 当老师上的第一门课就是<Java程序设计>,工作以来,断断续续上了近十次课了吧.十几年来,教材.课程内容.教学方法.教学手段不断改 ...
- JAVA获取apk包的package和launchable-activity名称(一)
背景: 每次要获取apk包的package和launchable-activity名称都需要运行doc命令,感觉好浪费感情,因为经常记不住常常的路径,但又不想把aapt设置为环境变量 我这个工具分几步 ...
- JAVA上百实例源码以及开源项目
简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级.中级.高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情.执着,对IT的憧憬. ...
- 20145222黄亚奇《Java程序设计》课程总结
20145222黄亚奇<JAVA程序设计>课程总结 每周读书笔记链接汇总 第一周读书笔记 第二周读书笔记 第三周读书笔记 第四周读书笔记 第五周读书笔记 第六周读书笔记 第七周读书笔记 第 ...
随机推荐
- Java Map在遍历过程中删除元素
Java中的Map如果在遍历过程中要删除元素,除非通过迭代器自己的remove()方法,否则就会导致抛出ConcurrentModificationException异常.JDK文档中是这么描述的: ...
- Java基础_0205: 程序逻辑结构
使用if语句进行判断 public class TestDemo { public static void main(String args[]) { double score = 90.0; // ...
- 4-24日 collections模块 random模块 time模块 sys模块 os模块
1, collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque.defaultdi ...
- mysql 架构 ~ MGR 与PXC的对比
一 简介 MGR和PXC的对比 二 WriteSet1 定义 是组件对于写节点应用事务生成binlog的再封装,用来验证其他节点的事务冲突 PXC构成key db_table_组件值data bin ...
- 51nod 1294 修改数组
若a[i]-i(i从1开始)的值小于0,那么a[i]必须改变 若a[i]-i的值大于等于0,将a[i]-i存入新的数组中,求出新数组的最长非严格上升子序列,所得即最多的,不用改变的数. #includ ...
- understand 安装笔记
1. 下载64位 https://pan.baidu.com/s/1sJNSrG6n5Y0C1UFCZACYEA 或者去官网下载: https://scitools.com/download/arch ...
- [转] Implementing a CNN for Text Classification in TensorFlow
Github上的一个开源项目,文档讲得极清晰 Github - https://github.com/dennybritz/cnn-text-classification-tf 原文- http:// ...
- CF1091F New Year and the Mallard Expedition
题目地址:CF1091F New Year and the Mallard Expedition 题意比较复杂,整理一下: \(n\) 段,每段有两个属性:长度,地形(G,W,L) 有三种运动方式: ...
- Unique Morse Code Words
Algorithm [leetcode]Unique Morse Code Words https://leetcode.com/problems/unique-morse-code-words/ 1 ...
- MySQL入门简介(转载)
转载链接:https://www.cnblogs.com/webnote/p/5753996.html MySQL的相关概念介绍 MySQL 为关系型数据库(Relational Database M ...