【分享】熟练的Java程序员应该掌握哪些技术?

2024-05-27 04:18

本文主要是介绍【分享】熟练的Java程序员应该掌握哪些技术?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Java程序员应该掌握哪些能力才能算是脱离菜鸟达到熟练的程度?

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

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

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

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


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

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

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

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

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

  10、博学:Java程序员除了精通Java意外,还要掌握J2EE 、Oracle 、WebLogic、Jboss、Spring、Struts、Hibernate 等流行技术,掌握软件架构设计思想、搜索 引擎优化、缓存系统设计、网站负载均衡、系统性能调优等。

       11、学习能力:现在技术升级更新很快,新技术不断的出现,作为一个合格的Java程序员,需要不断的学习这些技术,这叫要求我们程序员有一个好的学习能力。

        12、待定...

       还有其他的吗?欢迎提供...

引用:
原帖由 breakyang2011 于 2013-9-25 10:45 发表 
我的经验不多,但是希望我的回答能够帮助你。
首先楼主的问题 ---熟练的java程序员应该掌握哪些技术。对于这个问题本身,我想说明一下,JAVA语言已经有十多年的历史,现在已经发展出自己的一套开发平台,包括JAVA开发语言,虚拟机平台,开发框架,公共程序库等一系列复杂的体系。从大的方面分:第一个方向是java开发的桌面程序(这类软件相当于C++开发的桌面软件如QQ等。)第二个方向是java 企业级开发,这个也是java最重要的发展方向,无论是业绩的支持,还是程序员的选择,都是三个方向中的热门。企业级开发简单的说就为企业客户定制符合公司业务的软件系统,帮助企业实现信息化管理。第三个方向java的嵌入式方向,前几年是J2ME,现在java 的嵌入式方向基本代表着Android手机开发,现在移动开发是一个热门,如果楼主是学生的话可以选择从事这个方向。介绍了这么多,说一下我的观点:对于java语言的掌握,java基础的语法,集合框架,IO系统,线程操作自然要知道,或者会写简单的程序。但是下一步,就要根据你要从事的技术方向,如上面提到的三个方向。对于任何一个方向,需要的java语言的内容都是整个java语言的子集。比如我从事的企业级开发,很少用到线程的代码(我的经验也不多)。其他的方向也是一样,都有各自的子集。
下面对你写的每一点做回答:
1 语法:基础语法自然不用说,必须掌握。对于程序报错信息,可以通过搜索引擎(建议Google)去搜索,慢慢就会总结出规律。
2 命令:我的经验不多,在工作过程中,很少用到命令,因为都是在IDE下工作,但是如果你是在学习,当然知道越多越好。这个都是逐步丰富的去学,建议楼主不要想着一下子学到低,编程语言的学习是渐进式的,在学习一段时间后,运用,慢慢理解了,再去学更多的东西。不可能一下子把某一个方向学通,比如你想把所有命令都能记住,熟练掌握,虽然好,但是有的命令不常用,反而浪费精力。
3 工具:在学习时候,可以自己用命令编译些小程序,但是要是想做点成规模的东西,IDE还是一个必要的选择。IDE选择一种,一直用下去,不要总是图新鲜总换,推荐Eclipse,因为是免费的,毕竟咱们是程序员,用盗版开发工具也是对同行的辛苦的不体谅,Eclipse同时也是一个很好的开发工具,可以满足需求。
4 API:API的却很多,还是根据你选择防线去学习对应的API,基础的API,java se中包涵的都是基本的api,你可以学习那些。但时间上并不用那么多。学习一些常用类,然后慢慢在实践中丰富。切记不要像学书本一样,一定要学习一些用一些。
5 测试:Junit 需要掌握一下,但是在团队开发时候才会大量用,学习时候不会那么用。
6 管理:ant用过一点,的确不错。但是在学习过程中不用太重视这个,这个都是用于开发团队的管理才用到。而且如果你的团队采用ant,你现学都是没有问题的。普通的代码,打包Eclipse都可以完成。
7 排错:排错完全靠积累,错多了,自然就知道。排错也是学习的好方法。
8 思想:这么说吧,思想是不能直接学来的,你只有在用的过程中,去慢慢体会,直接去学OOP思想,不如去打一局LOL
9 规范:代码规范选择自己喜欢的,都行。团队开发,就看你老大定什么规范了,大公司都有代码规范,不要在这个上浪费时间。
10博学:其实你说的博学,就是我说的方向,你选定方向,去学对应的技术,你列举的都是企业级开发的框架,如果你选择这个方向,自然要学习,如果不是,是浪费时间。人的精力有限,你不可能学会所有。
11 学习能力:说一个我的观点,我天天看技术新闻,今天来个新语言,明天来个新版本,但是其实在实际工作中,这种更新是很慢的,起码在企业级开发领域。起码是已年为单位的。因为架构不是说换就换的,技术风险等等,软件工程更多的是编程之外的事情。所以不要着急,像我以前一样。另外升级都是根据之前的基础,所以你打好基础,自然不会是坏事。

最后 编程这条路挺艰辛,如果热爱,希望能坚持。

这篇关于【分享】熟练的Java程序员应该掌握哪些技术?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1006484

相关文章

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

SpringBoot中使用 ThreadLocal 进行多线程上下文管理及注意事项小结

《SpringBoot中使用ThreadLocal进行多线程上下文管理及注意事项小结》本文详细介绍了ThreadLocal的原理、使用场景和示例代码,并在SpringBoot中使用ThreadLo... 目录前言技术积累1.什么是 ThreadLocal2. ThreadLocal 的原理2.1 线程隔离2

springboot将lib和jar分离的操作方法

《springboot将lib和jar分离的操作方法》本文介绍了如何通过优化pom.xml配置来减小SpringBoot项目的jar包大小,主要通过使用spring-boot-maven-plugin... 遇到一个问题,就是每次maven package或者maven install后target中的ja

Java中八大包装类举例详解(通俗易懂)

《Java中八大包装类举例详解(通俗易懂)》:本文主要介绍Java中的包装类,包括它们的作用、特点、用途以及如何进行装箱和拆箱,包装类还提供了许多实用方法,如转换、获取基本类型值、比较和类型检测,... 目录一、包装类(Wrapper Class)1、简要介绍2、包装类特点3、包装类用途二、装箱和拆箱1、装

如何利用Java获取当天的开始和结束时间

《如何利用Java获取当天的开始和结束时间》:本文主要介绍如何使用Java8的LocalDate和LocalDateTime类获取指定日期的开始和结束时间,展示了如何通过这些类进行日期和时间的处... 目录前言1. Java日期时间API概述2. 获取当天的开始和结束时间代码解析运行结果3. 总结前言在J

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

Java多线程父线程向子线程传值问题及解决

《Java多线程父线程向子线程传值问题及解决》文章总结了5种解决父子之间数据传递困扰的解决方案,包括ThreadLocal+TaskDecorator、UserUtils、CustomTaskDeco... 目录1 背景2 ThreadLocal+TaskDecorator3 RequestContextH

关于Spring @Bean 相同加载顺序不同结果不同的问题记录

《关于Spring@Bean相同加载顺序不同结果不同的问题记录》本文主要探讨了在Spring5.1.3.RELEASE版本下,当有两个全注解类定义相同类型的Bean时,由于加载顺序不同,最终生成的... 目录问题说明测试输出1测试输出2@Bean注解的BeanDefiChina编程nition加入时机总结问题说明

java父子线程之间实现共享传递数据

《java父子线程之间实现共享传递数据》本文介绍了Java中父子线程间共享传递数据的几种方法,包括ThreadLocal变量、并发集合和内存队列或消息队列,并提醒注意并发安全问题... 目录通过 ThreadLocal 变量共享数据通过并发集合共享数据通过内存队列或消息队列共享数据注意并发安全问题总结在 J