当前位置: 首页 > news >正文

一个Java程序员应该掌握的10项技能

1、语法:必须比较熟悉,在写代码的时候IDE的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误并且知道任何修正。

2、命令:必须熟悉JDK带的一些常用命令及其常用选项,命令至少需要熟悉:appletviewer、HtmlConverter、jar、java、javac、javadoc、javap、javaw、native2ascii、serialver,如果这些命令你没有全部使用过,那么你对java实际上还很不了解。

3、工具:必须至少熟练使用一种IDE的开发工具,例如Eclipse、Netbeans、JBuilder、Jdeveloper、IDEA、JCreator或者Workshop,包括进行工程管理、常用选项的设置、插件的安装配置以及进行调试。

4、API:Java的核心API是非常庞大的,但是有一些内容笔者认为是必须熟悉的,否则不可能熟练的运用Java,包括:

◆java.lang包下的80%以上的类的功能的灵活运用。

◆java.util包下的80%以上的类的灵活运用,特别是集合类体系、正则表达式、zip、以及时间、随机数、属性、资源和Timer.

◆java.io包下的60%以上的类的使用,理解IO体系的基于管道模型的设计思路以及常用IO类的特性和使用场合。

◆java.math包下的100%的内容。

◆java.net包下的60%以上的内容,对各个类的功能比较熟悉。

◆java.text包下的60%以上的内容,特别是各种格式化类。

◆熟练运用JDBC、java.security包下40%以上的内容,如果对于安全没有接触的话根本就不可能掌握java.

◆AWT的基本内容,包括各种组件事件、监听器、布局管理器、常用组件、打印。

◆Swing的基本内容,和AWT的要求类似。

◆XML处理,熟悉SAX、DOM以及JDOM的优缺点并且能够使用其中的一种完成XML的解析及内容处理。

5、测试:必须熟悉使用junit编写测试用例完成代码的自动测试。

6、管理:必须熟悉使用ant完成工程管理的常用任务,例如工程编译、生成javadoc、生成jar、版本控制、自动测试。

7、排错:应该可以根据异常信息比较快速的定位问题的原因和大致位置。

8、思想:必须掌握OOP的主要要求,这样使用Java开发的系统才能是真正的Java系统。

9、规范:编写的代码必须符合流行的编码规范,例如类名首字母大写,成员和方法名首字母小写,方法名的第一个单词一般是动词,包名全部小写等,这样程序的可读性才比较好。

10、博学:掌握J2EE 、Oracle 、WebLogic、Jboss、Spring、Struts、Hibernate 等流行技术,掌握软件架构设计思想、搜索引擎优化、缓存系统设计、网站负载均衡、系统性能调优等实用技术。

子曰:见贤思齐焉,见不贤而内自省也! 不清楚自己的位置可以看看

相关文章:

  • 自己写Lucene分词器示例篇——写一个简单点额分析器
  • java中的接口和抽象类是什么?
  • 并查集专题【完结】
  • Apache配置优化
  • hdu1010 Tempter of the Bone 成长---纠错
  • lucene 4.x中如何只存储不做索引
  • Win32_8有意思的程序——抓取屏幕
  • php调试和日志记录函数
  • Android实战技术:IPC方式简介教程
  • SICP 习题(1.1,1.2,1.3,1.4)解题总结。
  • linux终端开发环境的配置
  • ADO.NET理论+实践
  • Android实战技术:深入理解Android的RPC方式与AIDL
  • Linux调试器工作原理——基础篇
  • Linux调试器工作原理之二——实现断点
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • [译] 怎样写一个基础的编译器
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • pdf文件如何在线转换为jpg图片
  • SQL 难点解决:记录的引用
  • Vue2.0 实现互斥
  • 高程读书笔记 第六章 面向对象程序设计
  • 缓存与缓冲
  • 记录一下第一次使用npm
  • 蓝海存储开关机注意事项总结
  • 聊聊redis的数据结构的应用
  • 算法之不定期更新(一)(2018-04-12)
  • 跳前端坑前,先看看这个!!
  • 我建了一个叫Hello World的项目
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • 以太坊客户端Geth命令参数详解
  • # Panda3d 碰撞检测系统介绍
  • #图像处理
  • #微信小程序:微信小程序常见的配置传旨
  • (07)Hive——窗口函数详解
  • (3)(3.5) 遥测无线电区域条例
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (十八)三元表达式和列表解析
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .Net 垃圾回收机制原理(二)
  • .w文件怎么转成html文件,使用pandoc进行Word与Markdown文件转化
  • /etc/fstab 只读无法修改的解决办法
  • @PreAuthorize注解
  • [ 渗透工具篇 ] 一篇文章让你掌握神奇的shuize -- 信息收集自动化工具
  • [ 转载 ] SharePoint 资料
  • [bzoj1901]: Zju2112 Dynamic Rankings
  • [C/C++] C/C++中数字与字符串之间的转换
  • [Contiki系列论文之2]WSN的自适应通信架构
  • [corCTF 2022] CoRJail: From Null Byte Overflow To Docker Escape
  • [leetcode]114. Flatten Binary Tree to Linked List由二叉树构建链表