关于Java的一点感悟---底层开发者的上层学习感悟

这些年主要一直是搞C、C++,偏底层一些,一直想多了解一下上层的东西。于是利用业余时间,看了些Java方面的东西,也利用一些架构搭建了一些简单的程序,在此想简单的谈谈自己的一点感悟。

1.Java真的是非常方便。对于做惯了底层的我,依靠文档在文本编辑器中写程序,已经成为了习惯。一下子转换到Java这种集成环境中,感觉简直是方便太多了。连文档都用不上了,光自动提示的信息就够解决普通问题了。写起来代码,感觉行云流水,非常的流畅。

2. Java的各种库非常的多,多数也是开源的。给人的感觉是只有想不到,没有做不到。基本上用到的东西,都已经有人实现了,需要的只是正确的调用,然后组合,不像在底层大部分内容要靠自己去实现。这就节省了很大一部分的精力,避免在一些很普遍的实现上浪费更多的精力和时间。

3. Java相关开发环境配置逐渐复杂,各种包的依赖有时候容易有问题。各种库多了之后,引用的多了之后,配置明显复杂程度上升,包与包之间依赖程度加深。引入maven可以解决一部分包依赖的问题,但是不得不承认,整个开发环境在变得越来越复杂,越来越大。这也是各种库多了之后,必然的一个发展吧。如果在未来,能把这些包和库有一个统一的管理,可能会更好一些。

4.上层开发和底层开发不同。底层开发,不断积累的是对底层细节的不断深入了解,积累的是对各种各样功能的具体实现,积累的是对计算机的各方面的细节的深入理解。而上层则不同,上层积累更多的是设计模式、架构、模型、面向对象等这些东西,当然本身也增强了对开发所需各种API的熟悉。

所以,对我自己而言,如果要学习上层的东西,在设计模式、架构、模型等这些略微宏观的东西不差的情况,最需要填补的就是一个对上层开发API的熟悉。只有熟悉了这些API,才可以在开发过程中信手拈来,而不是临时各种查阅文档。而熟悉API的最好的办法,就是多写一些小程序,实际的去使用这些API;同时,可以结合API文档对整体有一个印象,至少应该可以达到知道什么有,什么没有的程度。

PS:对于上层开发而言,我就是个初学者,毫无经验可言。欢迎大家一起探讨。

时间: 2024-08-01 11:25:34

关于Java的一点感悟---底层开发者的上层学习感悟的相关文章

如何精确地测量java对象的大小-底层instrument API

关于java对象的大小测量,网上有很多例子,大多数是申请一个对象后开始做GC,后对比前后的大小,不过这样,虽然说这样测量对象的大小是可行的,不过未必是完全准确的,因为过程中包含对象本身的开销,也许你运气好,正好能碰上,差不多,不过这种测试往往显得十分的笨重,因为要写一堆代码才能测试一点点东西,而且只能在本地测试玩玩,要真正测试实际的系统的对象大小这样可就不行了,本文说说java一些比较偏底层的知识,如何测量对象大小,java其实也是有提供方法的.注意:本文的内容仅仅针对于Hotspot VM,如

java的虚拟机有底层都调的是c吗?java能调用汇编嘛?阿门!

问题描述 java的虚拟机有底层都调的是c吗?java能调用汇编嘛?阿门! RT.往大师围观.java的指针封装的c那一块的指针嘛?java比较c又一次.nnd 解决方案 java可以用jni调用原生的代码,你可以用C(嵌入汇编)或者汇编去写一个dll给java调用. 但是注意,java本身是平台无关的,但是原生代码就不是.所以你要是调用了原生代码,那么比如你的pc的软件,就不容易移植给手机了. 解决方案二: Java虚拟机jvm--java虚拟机底层结构详解深入java虚拟机(一)--java

ios-touchesMoved底层视图到上层视图

问题描述 touchesMoved底层视图到上层视图 有网格视图作为子视图添加给一个主视图.在拖拽先添加的视图,到另一个视图下一层时,在touchesMoved中国拖拽视图如何修复内容? 解决方案 [self.view bringSubviewToFront:yourView]; 试试看,希望能帮到你

java、php、.net哪个适合女生学习,分析一下

问题描述 java.php..net哪个适合女生学习,分析一下 求解答,java.php..net哪个适合女生学习,分析一下我想用最快的时间学习一门技术,请大侠们帮帮忙 解决方案 Java吧,好上手:PHP其实在小菜鸟团体中普及范围不大 解决方案二: 女生学.net!!!!!!!! 解决方案三: 从市场占有度的角度考虑:PHP占有市场份额最高 所以我建议你选择PHP

4g-学习移动LTE 4G(底层驱动,上层框架,应用)怎么开始,书籍、资料有哪些?

问题描述 学习移动LTE 4G(底层驱动,上层框架,应用)怎么开始,书籍.资料有哪些? 如题,学习移动LTE 4G(底层驱动,上层框架,应用)怎么开始,书籍.资料有哪些?希望能得到csdn中这领域牛人的回答,本人不胜感激! 解决方案 据我所知,移动通讯底层的驱动和协议的中文资料非常少,lz要想深入学习必须英文足够好,善于使用Google,多看论文和开源代码,和同事一起组团研究,加上自己领悟方可有收获. 解决方案二: 这还真不知道,望共享

java记忆翻牌游戏代码-JAVA做出记忆翻牌游戏,菜鸟想学习JAVA的游戏制作

问题描述 JAVA做出记忆翻牌游戏,菜鸟想学习JAVA的游戏制作 20C 1.界面打开为网格,每个网格放一张图片,图片两两相同2.点开两张图片若是一样则显示,若是不一样,显示50ms,变为背面.3.每轮游戏结束时显示总共花费时间.4.重复步骤2,直到所有图片显示出来 解决方案 http://download.csdn.net/detail/gaoda871010/2652900http://www.educity.cn/xiazai/8649772.html 解决方案二: 看下我写的这个怎么样.

java转行SDN 做底层openStack,openContrail对个人发展,技术感到有点迷茫觉

问题描述 小弟之前一直做的是javaweb方向,在大学里没毕业就做过了两份工作,且工资都说的过去.说这个事就是想说一下自己在javaweb方向上还有些基础和信心的.校招的时候也找过很多做这方面的大公司,,很多大公司都面试过,,TX,华为,搜狐,等等...那时候的想法是只要在java这个大体的方向上做什么都行..但是很遗憾,,技术水平还没到位,,也许那些大公司看重的东西不一样,最后来到一家做云计算的公司.没来之前总是觉得来这的话有点不甘心,说的不是发展,是待遇..因为身边有很多很多技术不咋地的人找

新手入门:学习Java的一点经验心得

心得 在Java私塾的学习快完成了,突然想把自己的学习心得总结一下. 我觉得在JAVA的初期阶段尽量少用工具,像eclipse,JBuild这些工具可以晚一点在用, 最开始有个写字板和JDK就可以了,我觉得在开始阶段主要是为了打下扎实的基础,不然有时工具很多都帮你生成了, 也是为了培养一种好的编程习惯,最初的时候还是自己多动动手好了,毕竟没有学会走路跑步肯定快不了. 学习JAVA一定要先把JAVA的几个基本组成元素学好. 1.数据类型: JAVA是一种强类型语言,各种类型不会自动转换,使用前必须

新手学习Java的一点经验心得

在Java私塾的学习快完成了,突然想把自己的学习心得总结一下. 我觉得在JAVA的初期阶段尽量少用工具,像eclipse,JBuild这些工具可以晚一点在用, 最开始有个写字板和JDK就可以了,我觉得在开始阶段主要是为了打下扎实的基础,不然有时工具很多都帮你生成了, 也是为了培养一种好的编程习惯,最初的时候还是自己多动动手好了,毕竟没有学会走路跑步肯定快不了. 学习JAVA一定要先把JAVA的几个基本组成元素学好. 1.数据类型: JAVA是一种强类型语言,各种类型不会自动转换,使用前必须先定义