Java的学习是比较复杂的,主要表现在相关的一系列平台、规范和协议上。有经验的Java程序员都知道,只掌握了Java语言本身很难开发应用程序。本文不讨论这些复杂的概念,而是我是在北京参加的培训,现在从初学者的角度,对于Java语言本身的学习提出自己的见解和建议。本文的讨论基于以下假设:1. 学习的目的是为了将来进行应用程序的开发,而不是进行语言理论研究2. 将来的应用开发是在成熟的平台上展开,而不是自己从底层开发平台一、掌握静态方法和属性静态方法和属性用于描述某一类对象群体的特征,而不是单个对象的特征。java中大量应用了静态方法和属性,这是一个通常的技巧。但是这种技巧在很多语言中不被频繁地使用。理解静态方法和属性对于理解类与对象的关系是十分有帮助的,在大量的java规范中,静态方法和属性被频繁使用。因此学习者应该理解静态方法和属性。Java在方法和属性的调用上是一致的,区别只表现在声明的时候,这和c++是不同的。二、重视接口在面向对象早期的应用中大量使用了类继承。随着软件工程理论的不断发展,人们开始意识到了继承的众多缺点,开始努力用聚合代替继承。软件工程解决扩展性的重要原则就是抽象描述,直接使用的工具就是接口。接口近年来逐渐成为java编程方法的核心。另一方面,就应用而言,大部分开发是建立在规范基础之上的,不需要自己建立复杂的继承关系和庞大的类。因此读懂规范和用好规范已经成为应用程序开发人员的首要任务,Java各项规范的主要描述手段就是接口。三、学好集合框架java描述复杂数据结构的主要方式是集合框架。Java没有指针,而是通过强大的集合框架描述数组、对象数组等复杂的数据结构。学好这些数据结构的描述方法对于应用程序编写,特别是涉及到服务器方、3层结构编程至关重要。程序员在这个时候不能再用诸如数据库结果集之类的结构描述数据了。由于很多语言没有这么强大的集合框架体系,很多初学者不知所措,更不知道拿来做什么用,因此应该引起足够的重视。四、例外捕捉java对例外捕捉的强调是空前的,它强迫程序员用显著的与逻辑方法完全不同的方式描述例外捕捉,对于程序描述的完整性和严谨性有很大的意义。c++也有类似的机制,但是我们看到很多c++程序员并不习惯使用这些机制。
Java的初学者应该充分学习好这种例外捕捉机制,养成良好的编程习惯。五、多线程需要理解机理很多java程序员热衷于多线程程序编写,认为是对逻辑能力的挑战。其实在大量应用中根本就不需要编写多线程程序,或者说大多数编写应用程序的程序员不会去写多线程程序。这是因为多线程机制都内置到基础平台当中了。
程序员应该了解的是多线程原理和多线程安全,这对于今后准确地把握程序是至关重要的。例如JSP中编写到不同的位置对于多个用户环境的安全影响完全不同,又如著名的Super Servlet是每一个访问作为一个进程,但是每一个页面是一个线程,和Servlet正好相反,对程序的性能和安全的影响有天壤之别。六、了解网络编程java号称是最强的网络编程语言,但是大多数应用程序开发人员是从来不会自己开发什么底层的网络程序的。需要做只是了解原理就够了。网络机制的实现是靠平台实现的,除非自己开发平台,否则是不需要知道socket怎么实现,怎么监听访问的。因此在这方面花太多的功夫就偏离了“将来的应用开发是在成熟的平台上展开,而不是自己从底层开发平台”这一假设。

菜鸟入门:Java语言学习相关推荐

  1. 菜鸟入门Java语言学习六大要点

    Java的学习是比较复杂的,主要表现在相关的一系列平台.规范和协议上.有经验的Java程序员都知道,只掌握了Java语言本身很难开发应用程序.本文不讨论这些复杂的概念,而是我是在北京参加的培训,现在从 ...

  2. 倚天剑与屠龙刀java_菜鸟入门 java语言学习六大要点

    Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface.简称API)构成.Java 应用编 ...

  3. linux菜鸟入门命令——自我学习

    linux菜鸟入门命令--自我学习 ls或者ll或者dir:查看该目录下所有文件pwd:查看该目录所处的目录结构位置mkdir mytest:创建mytest文件夹cd ..返回上级目录 tar zc ...

  4. Java语言学习思维导图

    Java语言学习思维导图

  5. 计算机二级为什么靠Java的少,计算机二级考试:Java语言学习六大要点

    计算机二级考试:Java语言学习六大要点 一.掌握静态方法和属性 静态方法和属性用于描述某一类对象群体的特征,而不是单个对象的特征.Java中大量应用了静态方法和属性,这是一个通常的技巧.但是这种技巧 ...

  6. Java编程学习入门、Java语言学习、Java入门必看

    一.初识Java 1.生活中的程序: 从起床到教室上课的过程 穿衣打扮>起床>洗漱>出宿舍>>吃早餐>到教室 按照特定的顺序去完成某一件事的过程我们叫做生活中的程序 ...

  7. java 判断类型_如何快速入门Java编程学习(干货)

    一.初识Java 1.生活中的程序: 从起床到教室上课的过程 穿衣打扮>起床>洗漱>出宿舍>>吃早餐>到教室 按照特定的顺序去完成某一件事的过程我们叫做生活中的程序 ...

  8. java单引号转义_Java基础入门——Java语言基础(上)

    本篇我们开始进入Java的学习,首先在学习如何编写Java语言前要先了解Java程序的基本结构. 一.Java程序的基本结构 一个Java程序的基本结构大体可以分为包.类.main()主方法.标识符. ...

  9. 【week5】JAVA语言学习及复习

    目录 JAVA语言复习 一.JAVA语言的历史及特点 二.JAVA开发环境配置 三.JAVA语言基本语法 四.JAVA变量类型 五.方法.类.对象.接口和函数 JAVA语言复习 常常听到前辈们和许多大 ...

最新文章

  1. 虚拟桌面的备份恢复最佳实践 第一部分
  2. 大神开发arXiv全新H5版,一步告别公式排版错误,手机也能轻松看文献
  3. 自学python能赚钱吗-学习Python多久能找到工作?老男孩Python开发培训
  4. 补充 宝玉 之《URL欺骗之以假乱真!》之 POST 方法提交数据 之 处理!
  5. ModuleNotFoundError: No module named 'win32api'
  6. springcloud全局过滤_微服务技术SpringCloud 互联网网站架构演变过程
  7. 用paddleocr识别汉字_汉字设计中的度量标准(三)
  8. typedef 字符串_typedef在C中使用字符数组(定义别名来声明字符串)的示例
  9. HDU1312 Red and Black(dfs+连通性问题)
  10. 登录页面(通过数据库查询密码是否正确)
  11. python背包问题递归_想问下大神python的背包问题的源代码(最好玩也有伪代码,请用递归法实现),因为只学过递归法,所...
  12. linux常用命令和关闭防火墙
  13. Python tan函数图像绘制,不带有极值的线条
  14. 在职研究生论文如何查重?
  15. 弧度制和角度制的换算
  16. 安装思源笔记/siyuan插件pandoc
  17. run vue task的项目报错:Error while running task C:\IT\xxxxxx:serve with message‘spawn vue-cli-service
  18. 如何从WinXP镜像中提取超级终端程序?
  19. 海豚php增加后台页面,Ajax功能配置步骤 · 从DolphinPHP(海豚PHP)中把ZBuilder移植到oscshop2.0教程 · 看云...
  20. 超级账本HyperLedger的cello项目的部署和使用

热门文章

  1. redis通过key模糊搜索_redis key模糊查找
  2. GVIM技巧系列-如何在GVIM中跳来跳去
  3. PyCharm中文版(无需汉化包,一键设置)
  4. jump大乱斗维护服务器,Jump大乱斗常见问题解决方法_Jump大乱斗常见问题解决及按键设置方法_飞翔教程...
  5. java发送通知栏样式_Android 通知栏Notification详解
  6. python调研报告总结体会_调查报告的心得体会4篇
  7. Linux软件 绑定硬件ID 做加密 cryptopp RSA-encryption
  8. python语言是什么语言
  9. NVIDIA Tesla T4 GPU参数
  10. 凌云驭势 亚马逊云科技开启re:Invent中国行