关于Java 软件工程师应该知道或掌握的技术栈

鄙人星云,今天突然想写这么一篇需要持续更新的文章,主要目的用于总结当前最流行的技术和工具,方便自己也方便他人。

更新时间:2018-10-23 09:26:19


码农职业路径图

码农入门职业路径图

关于Java 软件工程师应该知道或掌握的技术栈

Java后端开发优势图

关于Java 软件工程师应该知道或掌握的技术栈

Java 软件工程师技术栈

JDK: 1.8+

Java 基础:I/O(NIO),  集合,多线程,网络编程,并发,JVM内存模型, 设计模式

Java Web 基础:Spring

Java Web框架: Spring Boot 2.0Spring MVC ,Spring WebFlux, Hibernate ,MyBatis3

SQL: MySQLSQL Server  , Oracle

NoSQL: Redis

嵌入式数据库: Oracle Berkeley DataBase Java Editor

数据库连接池:HikariCP

关于Java 软件工程师应该知道或掌握的技术栈

其他框架: 高效敏捷开发 Ruby on Rails

微服务和分布式: Spring Boot +   Spring Cloud

消息中间件:RabbitMQ, Kafka

项目构建工具:Maven, Gradle

项目版本控制:SVN, Git

部署容器:Apache HTTP Server ,  Tomcat, Jetty, Docker,  WebPhere (IBM 的Java应用服务器软件,用来部署运行Web应用,号称WAS)

反向代理服务器+ 负载均衡: Nginx

JSON处理: Gson

HTML处理:jsoup解析HTML(将HTML解析成对象的API)

增强型Java语言:RXJava ,  Kotlin


Java Android 工程师技术栈

作为Java 安卓开发工程师,面对各种不同的开发需求,我们要用各种不同的框架类库来帮助我们快速实现,因此鄙人持续更新项目地址如下:

https://github.com/geekxingyun/Android-Open-Source-Project

前端工程师技术栈

HTML5 + CSS3+ jQuery + Bootstrap 4+React JS + ajax +Pjax

Angular 6.x + Vue2 + React Native+ Nodejs

CSS预编译语言(Less+Sass)+Webpack(模块化打包工具) + Grunt/Gulp(自动化构建工具 )

TypeScript(游戏开发) +Cocos2d-JS

Google V8 浏览器引擎

EasyMock

在前后端分离的概念中,前端脱离与后端工作,在对好接口之后,以及后端没有假数据的情况下,可以先采用折衷的办法来请求假数据,这就有了Mock.js,可以随机生成数据,拦截ajax请求。

Easy Mock 是一个可视化,并且能快速生成 模拟数据 的持久化服务


学习资源与开发工具

关于IDE的选择:

学习研究推荐 Spring Tool Suite

快速开发单个应用推荐 Intellij Idea 旗舰版

对比  Intellij Idea 旗舰版  Spring Tool Suite
成本  付费(个人可用破解版)   免费
群体       个人  企业
优点  插件丰富,功能强大  稳定,适合维护
缺点  不支持多项目同窗口预览和管理  很好地支持多项目同窗口预览和管理
场景  高效快速开发单个应用  学习研究和项目维护管理

推荐阅读书籍:

Java 基础提高 《Java编程思想》(Think in java 第四版)

Android 必看书籍——《第一行代码 第二版》

Web 安全常识: 《白帽子谈网络安全》

Spring 学习:《Spring 揭秘》

Java 基础揭秘篇  《码农翻身》刘欣

其他:

浏览器导航:极客导航

Bug异常处理:*   Issue JIRA

代码质量检测分析:

findbugs是sonar的子集,在sonar平台中可以直接导入findbugs的规则集。sonar比findbugs高了一个层级,多出了sonar不仅关注了常规静态bug,还关注到了如代码质量、包与包,类与类之间的依赖情况、代码耦合情况、类,方法。文件的复杂度、代码中是否包含大量复制粘贴的代码是质量低下的,关注到了项目代码整体的健康情况。不过个人在使用过程中findbugs本身的规则比sonar的官方规则更加实用,high级别的bug都是较为实用的bug,且能覆盖到一些性能方面的问题,sonar的规则,50%bug都是主要级别,其实危害不大。前期轻量级的静态bugs扫描可以选用findbugs,当项目持续稳定后可以选用sonar进行更深层次的代码质量控制

findbugs+jenkins CI 集成

代码质量检测工具:SonarQube (包含Findbugs)

代码托管:

国外平台 : Github  ,  Gitlab(支持无限的公有项目和私有项目,页面样式不喜欢)     Bitbucket (免费支持5个开发成员的团队创建无限私有代码托管库

国内平台:

阿里云Code  阿里出品的代码托管平台

码云(Gitee)    (开源中国和CSDN合作平台,总容量是5G,单项目最大1G,可创建 1000 个项目,不限私有或公有。最大问题是只能有5个成员)

关于Java 软件工程师应该知道或掌握的技术栈

Coding   全中文支持,腾讯云合作 能创建5个项目,最多可以有20个成员;当绑定腾讯云账号可升级为 512M 10个项目)

码市是 Coding 推出的互联网软件外包服务平台

关于Java 软件工程师应该知道或掌握的技术栈

技术社区:博客园CSDN开源中国  ,掘金InfoQ   ,  Segmentfault  ,Spring For ALL   优知学院

外包:码市

后台管理UI框架: H-ui.admin , H+ ,  Admui ( 据说用了最先进的技术【HTML5 + CSS3+Less+ jQuery + Bootstrap + Pjax+ Nodejs + Gulp】)

编程在线培训学习:慕课网   极客学院    咕泡学院   优达学城   潭州学院

网络安全在线培训学习:看雪论坛   i春秋   FreeBuf

Office 处理:Apache POI永中软件(QQ邮箱据说用的这个)

文字识别: 百度文字识别(OCR)服务  科大讯飞文字识别服务  腾讯云文字识别OCR   QR Code SDK PC端 .net   北京中安未来科技有限公司OCR服务

语音处理:科大讯飞

人脸识别:Face++

地图导航:高德地图

手册查询:手册网

截图软件: Snipaste

GiF录制:LiceCAP

招聘求职

关于Java 软件工程师应该知道或掌握的技术栈

牛人

Android 界

stormzhang 人人都喊他张哥,安卓开发入门指南文字的第一人,从开发转了产品

郭霖 《第一个行代码》 Android界最权威的入门书籍的作者

张鸿洋 开源了很多优秀安卓项目

Java 界

程序员小灰  风趣幽默的图片对话故事讲解知识点

码农翻身--刘欣    用故事的方式讲解软件编程的若干重要领域

纯洁的微笑  张强,各大技术社区的博客专家,同时运营着一个公众号:纯洁的微笑。目前一家第三方支付公司担任技术总监,负责微服务架构实践和大数据治理。

程序员DD 翟永超 Spring 中文社区创始人之一

阮一峰  经济学博士,技术文章写得最好的人

廖雪峰  著名讲师,JS, Git,Python 教程很出名

Linux 界

鸟哥   著名作品,鸟哥的Linux私房菜

羽翼  SQLMAP等渗透网络安全教程,渗透领域大亨


关于我

星云个人主页: http://www.520geek.cn/about/

星云CSDN博客:https://blog.csdn.net/hadues

星云博客园:http://www.cnblogs.com/xingyunblog

星云阿里云栖博客:https://yq.aliyun.com/u/xingyunsky

星云GitHub: https://github.com/geekxingyun

星云微博:https://weibo.com/xingyunsky

联系方式:fairy_xingyun@hotmail.com

有其他需要更新的或者分类有不对之处欢迎在评论区留言~

我的知识星球

公告:我的知识星球开通了

付费星球

星云视频教学

关于Java 软件工程师应该知道或掌握的技术栈

免费星球:

技术交流分享讨论~

交流即分享,分享才能进步~

低调,*,共享,免费是我们的宗旨~

如果你是一位爱代码如生命的的程序员,

如果你是一位网络安全渗透工程师,

如果你对计算机技术深感兴趣,

那么欢迎入圈交流学习~

极客技术宅因为有你更精彩~

关于Java 软件工程师应该知道或掌握的技术栈

上一篇:URL中文编码


下一篇:C#获取页面上的Html