对于打算入门或者刚刚入门学习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入门到服务端项目开发的进阶?的更多相关文章

  1. java服务端项目开发规范

    更新内容 2015-03-13 (请先更新svn的mybatis.xml.BaseMapper.java.Pager.java文件) 加入测试类规范 加入事物控制规范 加入mapper接口规则 ...

  2. java客户端与服务端交互通用处理 框架解析

    一.综述 java 客户端与服务端交互过程中,采用NIO通讯是异步的,客户端基本采用同一处理范式,来进行同异步的调用处理. 处理模型有以下几个要素: 1. NIO发送消息后返回的Future 2. 每 ...

  3. Java实现:服务端登录系统并跳转到系统内的指定页面(不调用浏览器)

    Java实现:服务端登录系统并跳转到系统内的指定页面(不调用浏览器) 1,思路:根据爬虫思想: 2,代码: /** * ClassName:AuthFr * Function: TODO * Reas ...

  4. 前端学习 node 快速入门 系列 —— 服务端渲染

    其他章节请看: 前端学习 node 快速入门 系列 服务端渲染 在简易版 Apache一文中,我们用 node 做了一个简单的服务器,能提供静态资源访问的能力. 对于真正的网站,页面中的数据应该来自服 ...

  5. iOS推送小结(证书的生成、客户端的开发、服务端的开发)

    1.推送过程简介 1.1.App启动过程中,使用UIApplication::registerForRemoteNotificationTypes函数与苹果的APNS服务器通信,发出注册远程推送的申请 ...

  6. 7、Web Service-IDEA-jaxws规范下的 服务端/客户端 开发

    前提简介:这里之后即使基于IDEA进行开发的,风格与之前有些不同之处! 1.服务端的开发 1.创建新的项目 2.pom.xml 添加开发时所需要的依赖 <?xml version="1 ...

  7. 03-案例——多任务版TCP服务端程序开发

    案例——多任务版TCP服务端程序开发   1. 需求     目前我们开发的TCP服务端程序只能服务于一个客户端,如何开发一个多任务版的TCP服务端程序能够服务于多个客户端呢?完成多任务,可以使用线程 ...

  8. [Asp.net core 3.1] 通过一个小组件熟悉Blazor服务端组件开发

    通过一个小组件,熟悉 Blazor 服务端组件开发.github 一.环境搭建 vs2019 16.4, asp.net core 3.1 新建 Blazor 应用,选择 asp.net core 3 ...

  9. Hibernate入门2.简单的项目开发实例

    Hibernate入门2.简单的项目开发实例 这一节通过一个简单的项目学习Hibernate项目的配置 代码下载 : 链接: http://pan.baidu.com/s/1zlgjl 密码: p34 ...

随机推荐

  1. 如何使用VMware安装rhel6.4操作系统(详细步骤)

    第一步,打开VMwareWorkStation11创建新的虚拟机.如下图所示. 第二步,点击文件,然后选新建虚拟机.,新建虚拟机向导,选择自定义. 第三步,选择虚拟机硬件兼容性.选择WorkStati ...

  2. Devexpress GridControl 多选

    以前dev的多选要自己处理,一般的处理方式就是在单元格中添加checkbox控件.后来的版本中dev增加了多选的支持,只需要设置一下属性就可以了,属性如下图: 然后效果设计页面就是这个样子: 运行以后 ...

  3. 干货 | SSMS客户端连接京东云RDS SQL Server配置方法

    干货 | SSMS客户端连接京东云RDS SQL Server配置方法 原创: 于振江 京东云开发者社区  微软SQL Server, Oracle数据库以及MySQL系列占据了关系型数据库市场的绝对 ...

  4. 二、Memcached缓存穿透、缓存雪崩

    二.Memcached缓存穿透.缓存雪崩 1. 缓存雪崩 可能是数据魏加载到缓存中,或者缓存同一时间大面积失效,导致大量请求去数据库查询的过程,数据库过载,崩溃. 解决方法: 1 采用加锁计数,使用合 ...

  5. effective java——32用EnumSet代替位域

    什么是位域?为什么用到它?先来看一个例子: public class Test { public static final byte STYLE_BOLD = 1<<0; // 1 pub ...

  6. redis 脑裂等极端情况分析

    脑裂真的是一个很头疼的问题(ps: 脑袋都裂开了,能不疼吗?),看下面的图: 一.哨兵(sentinel)模式下的脑裂 如上图,1个master与3个slave组成的哨兵模式(哨兵独立部署于其它机器) ...

  7. php优秀框架codeigniter学习系列——CI_Loader类分析

    这是一个加载视图和文件的类. __construct() 设置视图文件的路径,和获取输出缓冲级别. initialize() 该方法只会被CI_Controller调用一次,会调用 $this-> ...

  8. zsh 缺省输入设置

    zsh 默认缺省方式和bash不兼容,终端输入指令带有* 并不能对所有以已经输入的部分作为开头的文件作处理,解决这个问题的方式是在.zshrc文件中加入 setopt no_match 即可

  9. C++编程入门

    学习一门新的程序设计语言的最好方法就是练习编写程序. 每个C++程序都包含一个或多个函数,其中一个必须命名为main.操作系统通过调用main来运行C++程序. 一个函数定义包含四个部分:返回类型:函 ...

  10. oracle导入导出功能

    1.普通版:oracle导入导出功能:导出exp 用户名/密码@SID file=f:\xx.dmp owner=用户名 导入imp 用户名/密码@SID full=y file=f:\xx.dmp ...