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

1、基本的数据结构和算法真的非常重要:不管你做过多少项目或者是熟悉多少框架和工具,面试和考察一个人还是大部分停留在基本功上。所以,在每天工作开发之余,应保证一定的时间段不断去打磨自己的基本功:保证每天一俩道算法题,尝试去探索java每一个数据结构的实现原理,最后通过技术博客记录自己的成长与收获。

2、用框架的同时尽量去探索底层的源码实现,比如Spring,每次看源码都会有不一样的收获。从而使得自己在使用框架开发时不至于太被动。即使是在面试的时候,面试官也不会希望你对框架的理解仅仅停留在使用上。


作为一个提供分布式服务接口的java工程师,需要熟练具备以下技能点:

1、java基本语法:最好能偶尔使用java8 lambda简化代码逻辑,google的guava库等等

2、docker基本使用:如今越来越多的公司选择将服务部署在docker上,构成独立的服务云平台,而且docker操作和资源调度分配很爽的。

3、消息队列:kafka、rabbitmq、notify、metamq等等,消息队列作为处理高吞吐量,不计较及时结果的应用场景的工具非常受欢迎。所采用的实际应用手法就是消息队列+补偿机制。

4、zookeeper或Etcd:这俩种都是分布式服务提供服务的注册中心,通过它们可以实现多服务多机器部署且实现负载均衡。

5、RPC:远程调用的场景使用越来越广泛,特别在分布式服务中更加离不开它。它能使多个服务间的调用如同调用本地方法一样简便。针对RPC的实现使用较为广泛的有Thrift、protobuffer等。

6、Netty:是一个高性能、异步事件驱动的NIO框架。能为RPC提供高性能的调用

7、git和maven等项目管理及依赖包管理的工具,这是协作开发的基础。

8、Redis:差点忘了这个必知必会的技能...Redis作为高性能的内存数据库,基本覆盖了访问量大的服务缓存。当然memcached前几年用的也居多,不过功能可被Redis替代。除了缓存也可以提供分布式锁机制。

9、Spring系列:我不说Spring MVC 还是Spring Boot等具体名词,因为spring真的是个庞大的生态圈额(Cloud、NoSql、Redis等等)。虽然Spring Mvc比较火,但是对于微服务的开发我建议使用Spring Boot,而且Spring Boot势头确实猛啊...能够把开发效率之少提升一个档次...

10、Jersey:Spring Boot +Jersey 这俩个构成完美的服务接口Resultful开发组合。Jersey是Resultful开发框架,这个也是微服务开发的基础,使用也很简单方便,尤其是可以在其上自己封装请求的过滤层

11、zuul: 应用层上的网关实现,通过Spring Boot组合使用,构成微服务体系的基本架构,原理图如下:

12、掌握一款开源的分析和搜索引擎 Elasticsearch or Solr。业务相关,为了将基础数据整理给数据做分析,最近在学ES,所以比较推荐,是一款分布式的开源搜索引擎。关键是spring boot还集成了这俩个了有木有。 这些都是目前在用的算是比较时髦的技术吧...不过啊,用轮子的感觉是永远跟在别人屁股后面走,所以在使用的同时,多看看技术的实现原理,深入源代码,然后自己尝试在其上封装自己想要的功能或者干脆单独造个轮子。以上只是说熟练使用事实上每一项都要熟练掌握原理太难,但是现在的发展速度...谁能快速且熟练地使用好工具,在某种程度上其实也是走在了前面。

13、数据库也忘了,mysql作为java工程师的高频面试考点居然也忘了...嗯,mysql在java中还是王道,所以对mysql的理解也不能仅仅停留在简单的使用上。InnoDB作为使用率最高的存储引擎,应该对其进行深入的探索。推荐书籍:《Mysql技术内幕 InnoDB存储引擎》

 感谢大家阅读,本人见识有限,写的博客难免有错误或者疏忽的地方,还望各位大佬指点,在此表示感激不尽。文章持续更新中…....

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值