初学者JAVA程序员怎样快速提升自己技术?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初学者JAVA程序员怎样快速提升自己技术?相关的知识,希望对你有一定的参考价值。

刚入培训机构学习java编程,有哪位大神赐教如何快速提升技术水平?

  一、提升对java技术的思考
  很多人口里嚷着要提升java技术,行动也有,但就是不奏效,是怎么回事呢?因为行动前没有好好的思考,比如老是盯着已经掌握熟练的java技术练习,你为什么不考虑多练练你不熟习的java技术呢?那么应该思考些什么关于java技术的问题呢?
  1、这个技术能解决什么问题(why)
  2、比较适合在哪些场景应用(where+when)
  3、这个技术跟我已经掌握的哪个知识或技能类似,有什么差别、有什么特点、有什么优点和缺点(what)
  4、了解前面的问题后,你在开始考虑提升java技术那么效果会比较好。
  二、善于模仿,把他人的变成你的
  你的代码刚开始是怎么学会的呢?不外乎模仿,但是模仿也有诀窍,有的人模仿的快,有的人模仿的慢。时常强调,多去看看其他人的代码是怎么编写的,你可以从其他人的代码中模仿出很多的东西,甚至你可以尝试去修改其他人的代码,让它跟你的想法更加接近,看看你下次是不是可以这样做,看看学习效率有没有提高或者变得简单,长此以往,你的java技术一定会有质的提升。
参考技术A 很简单一个问题,多做一些项目,熟悉代码的使用,和解决程序问题的能力。单单看书学习是没用的,主要还是实际操作。比较可以自己尝试写一些简单的应用系统,如学生管理系统,学籍管理系统,商店收银系统,邮件系统,都可以来练练手。 参考技术B 提高JAVA技术首先要打好基础,基础很重要,这是编程的前提,另外要多看看书籍,推荐effective java,是脱离低级程序员时候的最佳读物,此外多看一些论坛,最重要的是多实践总结,多写代码,当写的代码达到3万行的时候,技术一定会有所突破。
代码能力是基本功,对内存使用对理解,对Java运维的理解等等,语言本身外,常用的框架是否可以十分清晰的了解,包括spring,包括他实现的ioc,aop,orm,web机制是否有清楚的认识,有丰富的经验等等。

程序java早就不是对数据库的增删改查了,分布式、微服务、性能优化都要会,还要了解其他基于jvm的语言,因为它们会给你的编程思想带来很大帮助。

普通工程师可能一直都在用别人架构好的东西,很难接触到核心开发,尝试自己独立从头开始完成一些项目,会发现编程其实远不仅仅只是CRUD,Getter/Setter多写代码,在写代码的过程中多看看用到的SDK/Framework的源码。
参考技术C

像这样的问题,我已经回答了很多次,现在很多新手,特别是刚刚进入学习的学生,不知道该从哪里入手,我整理了一些java的知识点,一共分为六个阶段,273个技能点,第一阶段、第二阶段、第三阶段、第四阶段是必须要掌握的,很多机构忽悠人,就只学到第四阶段*(比如某内,某公,某马等),第五阶段和第六阶段就是高薪、高职的保障(第五和第六阶段我晓得课工场做的还不错),就说说想高薪必须得把后面两个阶段的给掌握了,老铁看了点个赞。

第一阶段:java基本功修炼

1. 认识计算机硬件

2. 计算机组成原理

3. 计算机软件知识

4. 计算机网络知识

5. 常用网络应用操作

6. 认识计算机病毒

7. 逻辑训练

8. 初识Java

9. 变量和数据类型

10. 选择结构

11. 循环结构for

12. 循环结构do-while

13. 循环结构while

14. 多重循环及程序调试

15. 循环进阶

16. 一维数组及经典应用

17. 二维数组

18. 认识类与对象

19. 方法及方法重载

20. 封装与继承

21. 方法重写与多态

22. 项目实战-汽车租赁系统

23. 抽象类和接口

24. 异常

25. 项目实战-QuickHit

26. Java 中的集合类型

27. List 集合

28. Set 集合

29. HashMap 集合

30. Iterator

31. Collections 算法类及常用方法

32. enum

33. 包装类及装箱拆箱

34. String、StringBuffer 类常用方法操作字符串

35. Date、Calendar

36. Math 类常用方法

37. IO/NIO

38. 字节输入流(InputStream、FileInputStream、BufferedInputStream)

39. 字节输出流(OutputStream、FileOutputStream、BufferedOutputStream)

40. 字符输入流(Reader、InputStreamReader、FileReader BufferedReader)

41. 字节输出流(Writer、OutputStreamWriter、FileWriter、BufferedWriter)

42. 文件复制

43. Serialize、Deserialize

44. 职场晋升力:四象限时间管理与精力管理

45. 多线程(Thread、Runnable)

46. Thread LifeCycle

47. 线程的调度

48. 线程的同步和死锁

49. Thread Pool

50. 职场晋升力:团队合作

51. Socket(TCP、UDP)

52. XML 概念、优势、规范

53. XML 中特殊字符的处理

54. 使用DOM 读取、添加、删除、解析 XML 数据

第二阶段:javaweb开发

55. 搭建和配置mysql 数据库

56. 数据库增、删、查、改语句

57. 事务

58. 视图

59. 数据库备份与恢复

60. 数据库用户管理

61. 数据库设计

62. 项目实战-银行ATM 存取款机系统

63. 走进 html 和CSS

64. 列表表格及表单美化

65. CSS 高级操作

66. Bootstrap

67. CSS 组件

68. javascript 面向对象

69. JavaScript 判断、循环

70. JavaScript 闭包

71. JavaScript 语法

72. Bootstrap 综合案例

73. HTML5、CSS3

74. jQuery 基础

75. jQuery 基本操作

76. jQuery 事件与特效

77. jQuery Ajax

78. jQuery 插件

79. 搭建Web 环境初识JSP

80. JSP 九大内置对象

81. JSP 实现数据传递和保存

82. JDBC

83. 单例模式、工厂模式

84. MVC、三层模式

85. Commons-fileupload、CKEditor

86. 分页查询

87. EL 与 JSTL

88. Servlet 与Filter

89. Listener 与MVC

90. Ajax 与 jQuery

91. jQuery 的Ajax 交互扩展

92. 项目实战—使用Ajax 技术改进新闻发布系统

93. 反射

94. Linux 系统的安装

95. 在Linux 中管理目录和文件

96. 在Linux 中管理用户和权限

97. 在Linux 服务器环境下安装软件和部署项目

98. 职场晋升力:职场沟通

第三阶段: 企业级框架开发

99. MyBatis 环境搭建

100. SQL 映射文件

101. 动态SQL

102. MyBatis 框架原理

103. Spring IOC

104. 构造注入、依赖注入、注解

105. Spring 整合MyBatis(SqlSessionTemplate、MapperFactoryBean、事务  

处理)

106. Spring 数据源(属性文件、JNDI)、Bean 作用域

107. Spring 框架的运行原理

108. SpringMVC 体系概念

109. SpringMVC 之数据绑定、数据效验、

110. SpringMVC 之视图及视图解析

111. SpringMVC 之文件上传、本地化解析

112. SpringMVC 之静态资源处理、请求拦截器、异常处理

113. Oracle 数据库环境搭建、安装

114. Oracle 数据库 SQL、分页、备份、还原

115. Hibernate 概念、依赖

116. HQL 查询语言

117. Hibernate 中配置关联映射

118. HQL 连接查询与 Hibernate 注解

119. Struts 2 概念、依赖

120. Struts 2 配置

121. OGNL 表达式

122. Struts 2 拦截器

123. SSH 框架整合

124. 使用Maven 构建项目

125. 使用Struts 2 实现Ajax

126. Jsoup 网络爬虫

127. 多线程网络爬虫

128. 反爬及反反爬策略

129. 通用爬虫设计

130. Echart 图表分析

131. IKAnalyzer 分词

132. 企业框架项目实战-代理商管理系统

133. 企业框架项目实战-SL 会员商城

134. 企业框架项目实战-会员管理系统

135.企业框架项目实战-互联网招聘信息采集分析平台

第四阶段: 前后端分离开发

136. GitHub

137. Git 基础(checkout、pull、commit、push、merge 等)

138. Git 进阶(多分支协作)

139. GitLab

140. IDEA 的使用

141. Maven 介绍(概念、仓库、构建、命令)

142. 使用Maven 构建WEB 项目

143. 使用Maven 构建多模块项目

144. 使用Maven 搭建私服仓库

145. Scrum 框架介绍(三个角色、三个工件、四个会议)

146. Scrum Team 组建团队

147. 产品需求和用户故事

148. 每日立会

149. 使用敏捷-Scrum 方式开发管理实战

150. 前后端分离、分布式集群架构、垂直架构

151. SSM(SpringMVC+Spring+MyBatis)整合实战

152. Git、Maven 私服Nexus

153. 第三方接入技术(微信、阿里)

154. MySQL 电商实战

155. Redis(缓存服务)

156. 搜索引擎-Solr

157. 集成API Doc 工具-Swagger

158. 图片自动化处理:Tengine+LUA+GraphicsMagic

159. 手机、邮箱注册

160. 单点登录 Token

161. OAuth2.0 认证

162. Jsoup 网络爬虫(多线程爬虫/代理 IP 爬虫)

163. ExecutorService 线程池

164. IK 中文分词

165. Postman

166. ReactJS

167. webpack

168. 职场晋升力:简历撰写

169. 程序猿面试宝典之项目面试

170.大型互联网旅游电商项目实战-爱旅行

第五阶段: 分布式微服架构开发

171. Spring Boot 环境搭建

172. Spring Boot 常用技能

173. Spring Boot 整合Redis

174. Spring Boot 整合Mybatis

175. 微服务架构及架构设计

176. 消息队列

ActiveMQ\\RabbitMQ

177. 分布式事务

178. 分布式锁 Redis-setnx

179. Zookeeper 注册中心

180. 基于 ActiveMQ 实现高并发

181. Docker 环境搭建

182. Docker 镜像加速

183. Docker 容器管理

184. Docker 镜像管理

185. Docker 容器文件备份

186. Dockerfile

187. Docker 私服仓库

188. 真实互联网高并发电商项目实战-双十一抢购

189. 可视化监控 Portainer

190. Docker Compose 容器编排

191. Docker Compose 扩容、缩容

192. Docker Swarm 集群编排

193. Jenkins 安装、插件配置

194. Jenkins 配置普通任务

195. Jenkins 配置管道任务

196. Jenkins 自动发布服务

197. Spring Cloud Eureka

198. Spring Cloud Feign

199. Spring Cloud Ribbon

200. Spring Cloud Zuul

201. Spring Cloud Config

202. Spring Cloud Hystrix

203. Spring Cloud Sleuth

204. Spring Boot Admin

205.Eureka 注册原理探秘

206. Spring Cloud 大坑解读

207. Zipkin

208. Zipkin 整合RabbitMQ

209. Zipkin 整合MySQL

210. ELK 日志收集

211.Kafka

212. Elasticsearch 映射管理

213. Elasticsearch 查询/复合查询

214. Elasticsearch 集群/集群规划

215. Elasticsearch 聚合

216. Elasticsearch 集群监控

217. Elasticsearch 插件

(Head/BigDesk)

218. Mycat 读写分离

219. Mycat 一主多从

220. Mycat 多主多从

221. Mycat 数据分片

222. Redis

223. Redis-Redlock

224. Elasticsearch 环境搭建

225. Elasticsearch 客户端

226. Elasticsearch 索引管理

227. Elasticsearch 文档管理

228. Mycat 集群

229. Jmeter 并发测试

230. Jmeter 生成测试报告

231. 微信登录

232. 微信支付

233. 支付宝支付

234. 百度地图

235. Sonar 本地检测

236. Sonar +Jenkins 线上检测

237. CI/CD

238. Spring Boot 改造爱旅行项目实战

239. 大型互联网票务类电商项目实战-大觅网

240. ES6 概念(les、const)

241. ES6 对象和数组

242. ES6 函数扩展

243. VUE 环境搭建

244. VUE.JS 指令

245.VUE 交互

246. VUE 实例生命周期

247. VUE 组件

248. VUE 项目环境配置及单文件组件

249.VUE 路由

第六阶段:cc服务

250. Spring Cloud Gateway

251. Consul

252. Nacos

253. Eureka、Consu、lNacos、Zookeeper 对比分析

254. Prometheus + Grafana

255. ES 分布式存储原理

256. NoSQL 数据库解决方案(Redis、MongoDB)

257. OAuth2.0 认证( authorization code 模式)

258. OAuth2.0 认证( implicit 模式)

259. OAuth2.0 认证( resource owner password credentials 模式)

260. OAuth2.0 认证( client credentials 模式)

261. NAS/FastDFS 分布式文件存储

262. Python 基础

263. Python 爬虫

264. 大数据及 Hadoop 概述

265. 分布式文件系统 HDFS 

266. 分布式计算框架MapReduce

267. 分布式列式数据库 HBase

268. Hadoop 综合应用

269. 面试大局观

270. 职业规划  

271. 项目面试

272. 具体业务场景化解决方案

273. 更多技术专题持续增加中

参考技术D

    跟着进步努力学习

    每天不少于12小时码代码

    遇见问题及时找老师解决

如何快速的学好java?

好的学习方法对于你的学习至关重要,对于每一个刚开始学习Java的程序员新人来说,都希望有一种快速学习的方法,漫无目的和长时间的学习很容易消耗你的信息,最后学的混乱,也没有实质性的收获,以至于学习到最后越来越焦虑。


初学者想要快速学习Java技术的心情大家都可以理解,但是有一句话:欲速则不达。盲目的追求快并不能达到理想的学习效果,问题来了,那么作为Java新人如何快速的学习Java编程呢?

新人学习进步非常缓慢,是因为很多的Java难题自己都没有办法解决,身边没有懂技术的人,所以只能一直在网上苦苦查找答案,就算你找到了解答,但是也不一定能够保证是对的。

初学者如何快速学Java?


方法1:Java初学者可以加入一个比较好的Java学习交流群,或者论坛,群不需要加的太多,在群中提出问题,有时候其他人的只言片语也可以帮助你走出困境。多与技术好的人交流沟通,你的技术才能变得更好。比如我的这个技术交流群



我创建的Java自学交流裙,前面输入是:926中间是:452最后连起来:303,需要java最新录制视频教程及学习路线,开发工具,jar包。源码等都可以找我,有遇见任何问题都可以随时来交流,只有不断的碰撞和交流,我们才能发现解决自己的问题,以此取长补短。

方法2:对于初学者来说快速学Java,还有一个有效的办法就是收集有用代码和工具,一些代码是可以重复使用的,随着你Java代码的练习越来越多,你对Java代码编写越来越得心应手,你就会发现你之前搜集的有用的代码和工具,大大节省了你敲代码的时间,比如工具类的:StringUtils(字符串工具),DBUtils(数据库工具)等等。


方法3:养成良好的记录笔记的习惯,因为在快速学习Java的过程中,记录显得尤为重要,比如在Java学习中,把你碰到的问题,或者突然间的奇思妙想记录下来,不时翻翻,你会很清楚你一路以来的学习历程是怎样的。


它不仅是你Java学习的成长日记,更是鼓励支持你坚持学Java的好法宝,还可以成为你Java学习的动力源泉。


好的学习方法再加上良好的习惯,你会发现学习Java也不是一件多么困难的事情。当然,以上这些方法适用于那些有足够时间学习,或者是有较强自控力的人,如果你面临的就业,面临着经济问题,很难有一颗平常心去好好学习。


总之,学好Java技术才你才能享受生活带来的乐趣,为了你的梦想,努力学习吧。

    有哪些适合java初学者的项目?

    20个当时初学时的Java 练手项目,结尾提供项目源码。

    需要可以群文件自行下载

    请点击输入图片描述

参考技术A

随着社会信息的发展,Java技术已经无处不在,无论是手机软件、手机Java游戏还是电脑软件等,只要你使用到电子产品就会碰到和Java有关的东西,更多的企业正采用Java语言开发网站,而在所有程序员中,Java开发工程师就占据20%的比例,不可否认,Java语言有着广泛的行业发展前景,它在行业中的影响力已是不可避免的。

如何快速的学好java?学java无非就是自学和报班这两种方式,至于java自学还是报班好,这个还是需要根据您自身的条件来判断的。如果您自控能力、自学能力且有基础那自学好。反之报班好。下面跟您说一下java自学与报java培训班学的不同之处,供您参考。

Java自学:好的地方是省钱,不太好的就是学习时间不确定,学习周期很容易拉长,学习不够系统,对于没有基础的或者自控力不强的人来说,也容易导致半途而废。遇到不懂的问题没有人解答,难以往下进行学习,而且容易学的半知半解。

Java培训:学习时间相对较短,整体学习比较全面,学习内容也比较集中。专业老师按照大纲进行系统授课,在学习中遇到技术问题能够快速得到解决,同时还有专项的练习相对于自学,学习气氛更加浓厚,跟同期学员对问题的探讨,对拓展思路有很大的帮助。并且像一些专业的培训机构,培训完后有相应的就业课程和就业指导,比起自学来说求职胜算更大。

如果您学Java是因为单纯的兴趣爱好,自学是一个很不错的选择。但如果您想通过学Java技术转行的话,那么最好是选择参加Java培训班。当然,可能现在的您感觉参加Java培训班学费很贵,但是对于可以通过学习找到工作,还是比较值得的。

总之,零基础小白学习JAVA要懂得一个道理,学习和掌握java相关技术也非一朝一夕之事,不可能一蹴而就,除了知识理论的学习,还需要后续更深入的学习和大量的实践,所以需要你一个良好的学习规划。

另外,所有语言的知识体系分为三大块:

    数据存储 (内存,文件,数据库,分布式,集群, 关系型 ,非关系型 。。)

    业务逻辑 (业务需求,语言语法,算法,类库框架,性能优化等)

    信息交互(展示)(多端,app,小程序,公众号,移动端,pc端,web开发等。。)

    这三块知识作为学习来说,可以有侧重,但是不能有某一块完全不懂。

参考技术B java学习路线
先学习j2se
要学习j2ee就要先学习j2se,刚开始学习j2se先建议不要使用IDE,然后渐渐的过渡到使用IDE开发,毕竟用它方便嘛。学习j2se推荐两本书,《java2核心技术一二卷》,《java编程思想》,《java模式》。其中《java编程思想》要研读,精读。这一段时间是基本功学习,时间会很长,也可能很短,这要看学习者自身水平而定。

不要被IDE纠缠
在学习java和j2ee过程中,你会遇到五花八门的IDE,不要被他们迷惑,学JAVA的时候,要学语言本身的东西,不要太在意IDE的附加功能,JAVA编程在不同IDE之间的转换是很容易的,过于的在意IDE的功能反而容易耽误对语言本身的理解。目前流行的IDE有jbuilder,eclipse和eclipse的加强版WSAD。用好其中一个就可以了,推荐从eclipse入手j2ee。因为Jbuilder更适合于写j2se程序。

选择和学习服务器使用配置
当你有了j2se和IDE的经验时,可以开始j2ee的学习了,web服务器:tomcat,勿庸置疑,tomcat为学习web服务首选。而应用服务器目前主要有三个:jboss、weblogic、websphere。有很多项目开始采用jboss,并且有大量的公司开始做websphere或weblogic向jboss应用服务器的移植(节省成本),这里要说的是,学习tomcat和jboss我认为是首选,也是最容易上手的。学习服务器使用配置最好去询问有经验的人(有条件的话),因为他们或许一句话就能解决问题,你自己上网摸索可能要一两天(我就干过这种傻事),我们应该把主要时间放在学习原理和理论上,一项特定技术的使用永远代替不了一个人的知识和学问。

学习web知识
如果你是在做电子商务网站等时,你可能要充当几个角色,这是你还要学习: .'l:8SxT?L
html,可能要用到dreamwave等IDE。 ZO(T u%xU
Javascript,学会简单的数据校验,数据联动显示等等

J2eeAPI学习
学习j2eeAPI和学习服务器应该是一个迭代的过程。
先学习jsp和servlet编程,这方面的书很多,我建立看oreilly公司的两本《jsp设计》和《java servlet编程》,oreilly出的书总是那本优秀,不得不佩服。
学习jdbc数据库编程,j2ee项目大多都是MIS系统,访问数据库是核心。这本应属于j2se学习中,这里拿出来强调一下。
学习jndi api,它和学习ejb可以结合起来。
学习ejb api,推荐书《精通ejb》
经过上面的这些的学习,大概可以对付一般的应用了。
有人说跟着sun公司的《j2ee tutorial》一路学下来,当然也可以。

学习ejb设计模式和看代码(最重要)
设计模式是练内功,其重要性可以这么说吧,如果你不会用设计模式的话,你将写出一堆使用了ejb的垃圾,有慢又是一堆bug,其结果不如不用ejb实现(ejb不等于j2ee)
无论学习什么语言,都应该看大量代码,你看的代码量不到一定数量,是学不好j2ee的
目前有很多开源的工程可以作为教材:
jive论坛
petstore sun公司
dune sun公司
等等,研读一个,并把它用到自己的工程中来。

J2ee其他学习
当你渐渐对j2ee了解到一定深度时,你要开始关注当前领域中的一些技术变化,J2ee是一块百家争鸣的领域,大家都在这里提出自己的解决方案,例如structs,hiberate,ofbiz等等,学习这些东西要你的项目和目标而定,预先补充一下未尝不可,但不用涉及太深,毕竟学习原理和理论是最最重要的事。

目前常见j2eeAPI
JavaServer Pages(JSP)技术1.2
Java Servlet技术2.3
JDBC API 2.0
Java XML处理API(JAXP)1.1
Enterprise JavaBeans技术2.0
Java消息服务(JMS)1.0
Java命名目录接口(JNDI)1.2
Java事务API(JTA) 1.0
JavaMail API 1.2
JavaBeans激活架构(JAF)1.0
J2EE连接器体系结构(JCA)1.0
Java认证和授权服务(JAAS)1.0
学习上面的某些API要以你的项目而定,了解所有他们总之是有好处的
上面印证了大家说的一句话,java语言本身不难学,但是技术太多,所以学java很费劲。回想一下,基本上每个初学者,在刚学习java的时候可能都会问别人这么一句话,你怎么知道的哪个方法(api)在哪个包里的?呵呵,无他,唯手熟尔。

======================================
J2EE总体的学习计划

第一部分:
JAVA语言基础知识。包括异常、IO流、多线程、集合类、数据库。(切记基础知识一定要时时刻刻巩固)
要求:对java的封装,生命周期等有一定的了解;
异常------掌握try-catch-finally的使用
IO流------掌握字节流、字符流和对象序列化的处理.。熟练使用各种输入、输出流类(InputStream、 OutputStream、FileInputStream、FileOutputStream、DataInputStream、 DataOutputStream、BufferedInputStream、BufferedOutputStream、Reader、Writer、 InputStreamReader、OutputStreamWriter、BufferReader、BufferedWriter、 ObjectInputStream、ObjectOutputStream)。
多线程-------掌握多线程实现的两种实现方法,分别是继承Thread类与实现Runnable接口。理解线程间的同步与互斥。
集合类-------掌握Set、Collection、Map、List、Iterator、Enumeration接口的使用,掌握HashSet、ArrayList、Vector、HashMap、HashTable类的使用。
数据库-------掌握JDBC API的使用,包括DriverManager类、Connection接口、Statement类和接口、PreparedStatement接口、ResultSet接口。
还有了解java反射机制,对Java1.5的新功能必须有了解与使用,泛型等。.
另外-------理解Unicode、GB2132、GBK、UTF-8、ISO8859编码方式。
参考:《Java编程思想》、张孝祥视频教学。

第二部分:
JAVA网络编程。包括Socket、RMI、HTML、XML、JSP、JavaBean、Servlet。
要求:Socket--------了解java.io包中的套接口类和服务器套接口类的使用。
RMI--------掌握RMI基本工作原理、掌握定义远程服务接口类、远程接口类、客户端调用类和部署、编译RMI应用程序。
HTML--------了解HTML语言的语法、各种标签。
JSP-------掌握JSP2.0语法、隐含对象、EL、JSTL1.1、JSP自定标签。
JavaBean-------理解JavaBean的特点和事件模型。
XML--------了解XML语言的语法、DTD、Schema。
Servlet---------掌握HTTP协议、Servlet工作过程、Servlet会话跟踪、Servlet过滤器、Serlvet事件侦听器、配置web.xml。
UML-------掌握用例图、类图、活动图、顺序图、状态图。
Aglet-------学会安装使用tahiti服务器,掌握Aglet API。[以后再学,在彭老师的项目才会用到]
开发工具------掌握Rational Rose 、ant 、cvs版本控制、myeclipse、dreamweave等开发工具使用。
另外-------学习过程中学会使用Tomcat、JBoss/Weblogic服务器
参考书:《JSP2.0技术手册》林上杰编著;
《深入体会Java Web开发内幕---核心基础》
在JSP上不要花太多时间,在时间放在servlet多一些.

第三部分:
流行MVC架构和Java对象持久化技术。包括webwork、Spring、Hibernate
要求:MVC-------理解MVC设计模式、处理过程。
webwork-------理解webwork实现MVC的机制、工作流程。掌握配置webwork应用、webwork控制器组 件、webwork应用的国际化、异常处理、webwork标签库。(其实很多遗留系统用的是Struts,但现在越来越少人用了,所以我鼓励你们学 webwork,但要必须要了解一下Struts)
Spring-------掌握控制反转(IoC)、面向方面编程(AOP)、事务服务(JTA)、邮件服务(JavaMail)、持久化服务(DAO、JDBC、ORM)、远程服务(RMI)。
Hibernate--------理解ORM,掌握映射对象标识符、映射关系(一对多、多对多、一对一)、映射类型、检索策略、检索方式、数据库事务与并发、管理Hibernate的缓存。
学习过程:先学习webwork2,再学习Hibernate,最后学Spring。

下面的东西有时间了解一下:
测试/敏捷开发-----关注测试,掌握Junit单元测试框架,以及现在两个流行的mock工具EasyMock/JMock,熟 悉其中一种。(提示:测试非常重要,有效的测试可以减少很多开发的时间,当然刚开始觉得不耐烦,好像没有必要写测试代码,一定要说服自己尝试写测试代码, 或多或少的)
UNIX系统------了解最主要的shell编程,及主要的相关的命令行操作.
AJAX-----了解基本的javascript,csss,以及ajax常用的用法,还有JSON框架.
(ajax的框架太多,但不要花太多时间去学,因为你不知道公司用不用ajax,而且用的那一框架你没有办法知道,所以懂最基础就可以了)

参考书:《webwork in action中文版》
《精通Struts》、《精通Hibernate》孙卫琴著,
《Spring技术手册》林信良著
《JUnit in action中文版》Vincent Massol著的
书籍只是用来入门的,其他的工具必须多上英文网址,尽量多看一些英文文档,提高自己的水平,同时有空的时候也可以下载的一些开源项目的文档。
最后一句话:无论什么技术,学了不要以为自己多牛,学技术只是为了更好提高自己做项目的能力以及提升自身的水平。你做的项目效果怎样才能最终看出你自身的水平。
参考技术C

Java前景是很不错的,像Java这样的专业还是一线城市比较好,师资力量跟得上、就业的薪资也是可观的,

0基础学习Java是没有问题的,关键是找到靠谱的Java培训机构,你可以深度了解机构的口碑情况,问问周围知道这家机构的人,除了口碑再了解机构的以下几方面:

1. 师资力量雄厚

要想有1+1>2的实际效果,很关键的一点是师资队伍,你接下来无论是找个工作还是工作中出任哪些的人物角色,都越来越爱你本身的技术专业java技术性,也许的技术专业java技术性则绝大多数来自你的技术专业java教师,一个好的java培训机构必须具备雄厚的师资力量。

2. 就业保障完善

实现1+1>2效果的关键在于能够为你提供良好的发展平台,即能够为你提供良好的就业保障,让学员能够学到实在实在的知识,并向java学员提供一对一的就业指导,确保学员找到自己的心理工作。

3. 学费性价比高

一个好的Java培训机构肯定能给你带来1+1>2的效果,如果你在一个由专业的Java教师领导并由Java培训机构自己提供的平台上工作,你将获得比以往更多的投资。

希望你早日学有所成。

参考技术D 首先我要给你说的是,任何一个东西从零到精通,都是需要一个过程的,都是需要我们慢慢的去渡过这个阶段,我们才能慢慢的掌握,其次,毕竟这是一门编程语言,你学精通就可以拿到一份不错的高薪工作,所以说,对于任何一个零基础的小白来说,都是比较难的。
所以零基础小白入门学习java,你一定要规划好自己的学习方法和学习方式。
选择机构重点要多试听,多比较,毕竟每个人接受信息的方式不一样,老师技术再好,如果不能有效的传达给学生,那对学生来说也是没用的。所以建议试听后找到适合自己的最重要。
学习Java的话,可以考虑尚学堂啊,尚学堂就是从Java起家的,已经创办14年。
因为尚学堂的口碑和学习效果都是可以保证的,我就是在朋友的推荐下去尚学堂学习的,已经学完找到工作。
尚学堂有领先的、实战化的课程体系。独立的项目开发部,承接国内很多企业的项目。
有超强的师资力量,老师都是业内大牛,8年以上的授课经验可以讲得更加容易理解,学习更有效率。
国内第一的每周5-20家上门企业招聘;双保险式的就业服务;免费提供猎头服务。
全国唯一”从零到百万年薪”的服务体系
有这么多的优势,学习编程肯定是去尚学堂学习呀,可以学习到技术,又有好的就业推荐。完全没有担心
还可以参加参加线上百战程序员,边工作边学习

以上是关于初学者JAVA程序员怎样快速提升自己技术?的主要内容,如果未能解决你的问题,请参考以下文章

没有基础的初学者学java怎样快速入门?超全的学习路线图

Java冠军程序员告诉你如何提升技术

Java冠军程序员告诉你如何提升技术

Java初学者如何学好Java编程?

Java程序员在工作之余如何提升自己?

工作一到五年的Java程序员遇到瓶颈应该如何提升