如何实现从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 ...
随机推荐
- CDN原理介绍(转)
内容分发网络(Content delivery network或Content distribution network,缩写:CDN)是指一种通过互联网互相连接的电脑网络系统,利用最靠近每位用户的服 ...
- Thread类线程结束会唤醒使用其对象做锁而睡眠的线程
首先回顾一下我们的基础知识. sleep: 线程睡眠,不会释放锁 wait: 线程等待.释放锁. notity: 唤醒随机一个当前对象等待的线程,并不会释放锁 notityAll: 唤醒所有当前对象等 ...
- Java 错误提示org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException
java 操作excel文件 发布后报错 org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException XSS ...
- 第九周学习笔记-ADO.Net中DataSet的应用
一.知识点描述 1.含义:DataSet是ADO.Net的断开式结构的核心组件,它可以用于多种不同的数据源,用于XML数据,或用于管理应用程序本地的数据.DataSet包含一个或多个DataTable ...
- 使用IdentityServer4,在一个ASPNetCore项目中,配置oidc和api的AccessToken两种认证授权
1.配置两种认证方式 JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear(); services.AddAuthentication(op ...
- Python机器学习(基础篇---监督学习(k近邻))
K近邻 假设我们有一些携带分类标记的训练样本,分布于特征空间中,对于一个待分类的测试样本点,未知其类别,按照‘近朱者赤近墨者黑’,我们需要寻找与这个待分类的样本在特征空间中距离最近的k个已标记样本作为 ...
- asp.net core 实战项目(一)——ef core的使用
数据库设计 数据结构图如下: 此次实例比较简单,暂时只设计到上述3张表 SMUser:用于存储用户信息. Role:用于存储角色信息. SMUser_Role:用建立用户和角色关系的一直关联表. ...
- input搜索框:根据历史记录自动填充后,去除默认黄色背景
如果是纯色背景,直接通过box-shadow覆盖即可: input:-webkit-autofill { color: #333!important; -webkit-text-fill-color: ...
- String、StringBuffer和StringBuilder的区别及应用场景
1. 运行速度:StringBulider>StringBuffer>String String为什么运行行慢呢? String:字符串常量 StringBuffer.StringBuli ...
- python基础—列表的使用[]
names = ['zhangyang','guyun','xiangpeng','xuliangchen']print(names[0])print(names[1:3])#切片print(name ...