如何实现从Java入门到服务端项目开发的进阶?
对于打算入门或者刚刚入门学习Java的人来说,刚开始接触这门学科,往往会觉得不知所措,也会觉得很迷茫。结合前人经验,就从入门到进阶对于Java的学习而言,应该对于学习时间、目标和内容规划有一个清晰的定位。
在入门阶段,除了学习必备的Java专业知识以外,在学习到一定程度之后还应该做到可以进行简单地项目开发。下边请看小编的讲解。
入门阶段的学习,除了要阅读相关入门书籍之外,还应掌握Java代码规范、Java开发流程、Java开发工具等事项。Java入门书籍推荐《Java编程思想》、《Java核心技术:卷I基础知识》这两本。关于Java代码规范的问题,在编写代码之前一定要先熟悉,熟悉Oracle的Java语言编码规范,因为这就是Java服务端遵循的规范。
关于Java开发流程的问题,是比较严谨的,必须要有内在的逻辑性,环环相扣,缺一不可。开发流程大致是:功能开发→单元测试→功能测试→Code Review→集成测试→发布。对于Java入门的人来说,学习Java开发工具,首先建议安装JDK+文本编辑器的开发工具包,并下载和JDK版本一致的API帮助。此外,最好掌握常用类库和工具包,如goole guava等,因为JDK原生API在很多场景下并不方便。在选择Java IDE时,推荐Intellij IDEA,因为Intellij IDEA在调试、自动完成和重构方面的表现都比Eclipse更优秀。
对于Java的学习在打好基础之后,便要思考如何实现进阶的问题了。而实现Java学习进阶的目标便是可以进行服务端项目的开发。进阶阶段需要掌握的技术主要包括:Web架构设计、Web安全知识、Web开发最佳实践、Http、Thrift协议、关系型数据库、非关系型数据库以及服务容量规划和性能调优。
关于Web架构设计,要掌握Web架构设计,包括Web架构生命周期、数据缓存、数据存储方式、负载均衡、水平和垂直扩展等。而Web安全知识方面,学习内容要包括加密、解密、防伪造、防重放攻击等在内的Web前段安全问题,设计安全Web服务。
在学习Web开发最佳实践方面,建议阅读《J2EE核心模式》和《Spring揭秘》这两本书,能够帮助掌握项目分层、子模块划分、RestfulAPI设计,理解Spring原理。
在学习Http、Thrift协议相关知识的时候,建议阅读《图解HTTP》、《HTTP权威指南》这两本书。Http协议属于应用层面的面向对象的协议,Http允许传输任一类型的数据对象。Thrift是一个软件框架(远程过程调用框架),用来进行可扩展且跨语言的服务的开发。学习数据库相关知识的时候,要分清楚关系型数据库和非关系型数据库,关系型数据库主要学习MySQL;非关系型数据库主要学习NoSQL,Hadoop、HBase、Hive这些常用的工具除此之外,性能调优知识、可靠性保障、故障处理、监控报警系统,这些也都要掌握。
对Java的学习达到一定程度之后,你所缺乏的就是项目经验和实际操作经验,另外,学习完成之后还需要你对所学知识能够构建自己地知识体系以方便随时调用。想要更加深化自己的Java开发技能,就必须及时的参与项目,在丰富经验的同时对自己所学的知识进行查漏补缺,强化提升。
如何实现从Java入门到服务端项目开发的进阶?的更多相关文章
- java服务端项目开发规范
更新内容 2015-03-13 (请先更新svn的mybatis.xml.BaseMapper.java.Pager.java文件) 加入测试类规范 加入事物控制规范 加入mapper接口规则 ...
- java客户端与服务端交互通用处理 框架解析
一.综述 java 客户端与服务端交互过程中,采用NIO通讯是异步的,客户端基本采用同一处理范式,来进行同异步的调用处理. 处理模型有以下几个要素: 1. NIO发送消息后返回的Future 2. 每 ...
- Java实现:服务端登录系统并跳转到系统内的指定页面(不调用浏览器)
Java实现:服务端登录系统并跳转到系统内的指定页面(不调用浏览器) 1,思路:根据爬虫思想: 2,代码: /** * ClassName:AuthFr * Function: TODO * Reas ...
- 前端学习 node 快速入门 系列 —— 服务端渲染
其他章节请看: 前端学习 node 快速入门 系列 服务端渲染 在简易版 Apache一文中,我们用 node 做了一个简单的服务器,能提供静态资源访问的能力. 对于真正的网站,页面中的数据应该来自服 ...
- iOS推送小结(证书的生成、客户端的开发、服务端的开发)
1.推送过程简介 1.1.App启动过程中,使用UIApplication::registerForRemoteNotificationTypes函数与苹果的APNS服务器通信,发出注册远程推送的申请 ...
- 7、Web Service-IDEA-jaxws规范下的 服务端/客户端 开发
前提简介:这里之后即使基于IDEA进行开发的,风格与之前有些不同之处! 1.服务端的开发 1.创建新的项目 2.pom.xml 添加开发时所需要的依赖 <?xml version="1 ...
- 03-案例——多任务版TCP服务端程序开发
案例——多任务版TCP服务端程序开发 1. 需求 目前我们开发的TCP服务端程序只能服务于一个客户端,如何开发一个多任务版的TCP服务端程序能够服务于多个客户端呢?完成多任务,可以使用线程 ...
- [Asp.net core 3.1] 通过一个小组件熟悉Blazor服务端组件开发
通过一个小组件,熟悉 Blazor 服务端组件开发.github 一.环境搭建 vs2019 16.4, asp.net core 3.1 新建 Blazor 应用,选择 asp.net core 3 ...
- Hibernate入门2.简单的项目开发实例
Hibernate入门2.简单的项目开发实例 这一节通过一个简单的项目学习Hibernate项目的配置 代码下载 : 链接: http://pan.baidu.com/s/1zlgjl 密码: p34 ...
随机推荐
- Python 3 基本操作列举
1.字符串 2,列表 3.random库 计算机产生的随机数都是有一个种子开始的伪随机序列,相同的随机种子产生相同的伪随机数序列. >>> random.seed(10) >& ...
- 使用Xshell配置外网访问端口
- Asp.Net Core通过HttpStatusCode状态处理响应结果
在我的一个Asp.Net Core 2.1 的项目中,我们需要通过获得服务器返回的状态,去实现不用的操作,经过多方资料查询和实践,个人总结一种方法 一.修改控制器 在要返回值的控制器Action中,R ...
- python中的lambda表达式
lambda是python中匿名函数的写法 我们可以在不定义函数名的情况下一边定义并调用这个函数 例子: 普通方法定义函数:def plus(a,b): return a+b lambda方法 ...
- 用Webstrom搭建Vue项目
一.首先要有Node.js Webpack环境 1.Node.js:是一个能够在服务器端运行JavaScript的开放源代码,跨平台JavaScript运行环境.Node采用Google开发的V8 ...
- Python成长之路【第二篇】Python基础之数据类型
阅读目录 简介 1 什么是数据? x=10,10是我们要存储的数据 2 为何数据要分不同的类型 数据是用来表示状态的,不同的状态就应该用不同的类型的数据去表示 3 数据类型 数字(整形,长整形,浮点型 ...
- [C# 基础知识系列]专题二:委托的本质论 (转载)
引言: 上一个专题已经和大家分享了我理解的——C#中为什么需要委托,专题中简单介绍了下委托是什么以及委托简单的应用的,在这个专题中将对委托做进一步的介绍的,本专题主要对委本质和委托链进行讨论. 一.委 ...
- D1 java概述
首先扯点别的.在学习知识的过程中非常重要的一点是沟通交流,拿自学java来说绝不是抱着一本Head First Java闷头看.感觉自学入门这一阶段相当于启蒙,绝不能向无头苍蝇一样到处乱撞.java的 ...
- redux源码图解:createStore 和 applyMiddleware
在研究 redux-saga时,发现自己对 redux middleware 不是太了解,因此,便决定先深入解读一下 redux 源码.跟大多数人一样,发现 redux源码 真的很精简,目录结构如下: ...
- tensorflow 调参过程
1. optimizer = tf.train.GradientDescentOptimizer(0.1) 参数小,loss减少的慢:参数大,出现Nan问题 2. optimizer = tf.tra ...