技术文章

Java程序员最常用的技术有哪些?

Java程序员最常用的技术,从中可以看出Java基础是先决条件,而要从事完整的Java开发,数据库知识,框架开发能力是不可或缺的,而要升职加薪,与之匹配的JVM调优,常见框架和中间件的源码阅读拓展是一大加分项。

首先说Java基础,最简单的语法、语句、使用场景等不必说,常用的类和方法、集合数据结构(如set,list,map)使用常用方法字符串查找、正则匹配等等问题,还有异常处理、文件读写与解析,更高级的的多线程并发处理等,都需要去实践并有一定经验。

接着说数据库,没有数据库的Java开发是无源之水,枯燥而乏味。这里的数据库指数据的载体,常见的mysql、orcale等关系型数据库,用作缓存的redis、memcached等key-value型数据库,用作文档类型存储的hbase,用作搜索引擎的elasticsearch,这些从广义上来说都可以作为数据库,要学会根据不同的业务场景灵活选用。与之相对应的安装、启动、可视化工具等都需要了解,其个别的实现原理和集群同步机制也需要有一定的认识。

Java程序员

再来说说用于Java Web开发的框架,就我所用的、也是被广泛使用的轻量级的开源的Java开发框架,不可不学,不可不会,强大的spring生态圈具备强大的生产力,从Spring MVC到Spring Cloud时不时有令人惊艳的产品,其完备的企业级解决方案受到各个公司的追捧,几乎不约而同的选择spring作为基础框架。在Spring的基础上,Spring Boot+Spring Cloud和Spring MVC+Dubbo,这两条主流的技术栈用到的相关技术也都是常用的内容。

再来说说JVM调优,用到的次数不多,但是面试过程中总会被问到,是一个定薪资水平的重要参考。JVM就是Java虚拟机,与底层架构、操作系统联系紧密。JVM相关知识就与虚拟机、底层相关了,这部分知识包括:JVM内存模型和JVM内存管理,感兴趣的同学可以深入了解。

最后说说常见框架和中间件的源码阅读拓展,这部分的层次比较高,需要你对JDK源码有所了解,在此基础上看框架和中间件的源码,如Spring源码、Zookeeper的源码等,在读源码的同时,深入了解其实现原理和架构思想,读一些简单的spring-boot-starter,能够写自己常用的starter,这样就说明你读了,并且有所收获。

Java程序员

上面的很多内容都是泛泛而谈,除了这些内容,还有很多没有讲到,比如大数据处理组件Hadoop生态圈、Storm流处理组件、高性能消息服务Kafka等也或多或少需要了解,并具备相应的开发能力。