对于打算入门或者刚刚入门学习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. python学习笔记第一节

    一.HelloWorld #!/usr/bin/env python #-*- coding:utf-8 -*- print("HelloWorld!") 二.用户交互 #!/us ...

  2. 通过Mybatis原始Dao来实现curd操作

    环境的配置见我上一篇博客. 首先,在上一篇博客中,我们知道,SqlSession中封装了对数据库的curd操作,通过sqlSessionFactory可以创建SqlSession,而SqlSessio ...

  3. 【转】Android-Input input&按键布局文件

    https://source.android.com/devices/input 输入 Android 输入子系统名义上是由遍历系统多个层的事件管道组成. 输入管道 在最低层,物理输入设备会生成描述状 ...

  4. golang中的mutex锁

    mutex锁中一种互斥锁,如果有多个goroutine需要对同一变量进行修改则需要对该变量施加mutex锁以实现安全读写.

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

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

  6. mysql_pconnect 问题

    不同于mysql_connect的短连接,mysql_pconnect持久连接的时候,将先尝试寻找一个在同一个主机上用同样的用户名和密码已经打开的(持久)连接,如果找到,则返回此连接标识而不打开新连接 ...

  7. 巧用string中的contains巧解一道题目

    题目:求0—7所能组成的奇数个数.假设最高八位数字. package edu.yuliang.lianxiti50; /* 题目:求0—7所能组成的奇数个数. *程序分析:最少也是1位数,最多能组成8 ...

  8. dubbo could not get local host ip address will use 127.0.0.1 instead 异常处理

    dubbo could not get local host ip address will use 127.0.0.1 instead 查看hostname localhost:spring wls ...

  9. Android 底部导航栏的xml

    <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=&q ...

  10. 关于centos7无法上网的问题

    应该是本机电脑禁用了VMware Nat Service,右击计算机管理点击--服务-- 然后就可以上网了