Java Web开发学习之路2012版
2011年自己根据当时实习的经验和大学学习Java的感受,写了一篇《Java Web学习之路》,地址是:http://blog.renren.com/blog/233130702/714982734。实习了一年,工作了一年,应该说从7月1日开始是自己工作的第三年了。最近有同学刚加入公司,然后是做Java开发的。当然目前Java企业开发大多数也是B/S开发模式,所以也可以说是Java Web开发。正好今天坐地铁看到公司5楼出来一个小mm拿着一本《Java Web开发案例》的书。然后我的同学也让我写一个学习计划给他,所以便有了本篇blog。
Java开发其实主要分三个部分:Java EE,Java SE和Java ME。对应的中文是Java企业开发,Java标准开发和Java移动开发。随着Android手机的市场份额逐步加大,使用Java开发Android应用的需求也会越来越大。
0.版本控制和Bug管理系统
真实的软件开发和学习做的课程设计当然是两样,所以在企业开发中,特别注重团队协作,也就是team文化。很多工作都是以Team为团队的。所以版本控制显的尤为重要,开源的有TortoiseSVN。当然大家自己也可以在自己的机器安装Subversion服务器端,然后安装一个TortoiseSVN客户端学习版本控制。之前在文思南京实习使用的Bugzilla。当然也是开源的,大家感兴趣可以自己搭建环境,然后配置一下。
当然时代在变了,很多技术也发生了改变。就是工资涨的很少!现在很多人尝试使用Git。这个也是一个优秀的代码管理平台。具体大家可以参照,其实我也没有怎么弄过这个,只是在上面建了几个repository。
作为学习的新手总想买一本书看看,所以可以买
1.Java Web开发的之前端部分
其实我每天的大多数工作是在做前端,后台XML+XSLT也写,当然偶尔也写一些C#,SQL语句基本不写。Web前端就四剑客:HTML(5),CSS(3),JavaScript和一个类库jQuery(大多数公司基本都是用jQuery)。最近jQuery官方发表声明说jQuery2.0不支持IE6/7/8。很多开发人员也跟着叫好,其实前端开发工程师就是一个悲剧,客户需要你们支持IE6/7/8,你敢和客户说,我们现在使用的jQuery2.0,不支持。CSS+DIV布局主要掌握盒子模型,浮动,然后四种定位方式,然后注意一下跨浏览器兼容性问题。也要注意界面的美观和一致性,我之前就被PM批评说,我没有美感。Javascript其实是一个大块,学习起来时间要很长,并且真正掌握要多学多练,然后在实际项目中提高,同时也要关注自己写的Javascript的性能相关问题。
2.Java Web开发后台技术部分
当然是JSP,Servlet和JavaBean,以及当前很火热的MVC了。推荐的书籍和上一篇blog的里面差不多。
1.Java语法和面向对象知识
Java编程思想(传说的Think In Java,C++编程思想也是此前辈写的) 、Java夜未眠 程序员的心声(中国台湾作家写的,总感觉中国台湾作家写的书就是比内地的作家要好一些。) 、Java读书笔记,蓝色封皮(中国台湾作家)。这本书就是用类似Editplus写的,然后在DOS下编译程序,没有用任何IDE。实在是佩服。http://www.amazon.cn/s/ref=nb_sb_noss?__mk_zh_CN=%E4%BA%9A%E9%A9%AC%E9%80%8A%E7%BD%91%E7%AB%99&url=search-alias%3Daps&field-keywords=java+%E7%AC%94%E8%AE%B0
2.Java Swing和AWT技术
2本Sun公司自己出的,Java核心技术(卷一和卷二)
3.Java Web
当然工作几年你也可以尝试看一下java虚拟机之类的书籍,提高自己。
3.数据库和SQL编程
SQL语句是目前所有关系数据库的基础,当然Java开发中使用的数据库大多是MySQL和Oracle。金融和银行,证券以及航空公司估计会使用IBM的DB2。当时你对SQL语句的掌握,不限于哪种数据库。
我们不是专业的DBA,所有更多关注的SQL的开发,关于配置和性能调优应该交给DBA
http://www.amazon.cn/Oracle-PL-SQL程序设计-弗伊尔斯坦/dp/B005C83GQA/ref=sr_1_17?ie=UTF8&qid=1341494770&sr=8-
4.SSH框架学习
好像很大公司都有自己的框架,当然基本是从这三种里面改进过来的。当然有空也可以学习一下,汲取别人设计和架构的精华。然后国内做Java和web前端水平强的数淘宝,所以可以多关注taobao的一些技术博客和网站。
5.Linux+Apache
我没有具体做过Java企业开发,但是真实的企业项目很多都部署在Linux或者Unix上,所以了解或学习一些Linux知识对自己有好处的。《鸟哥的Linux私房菜》系列的2本书都很不错。Apache是一个优秀的Web服务器,我现在学习PHP也是装的Apache。
6.大学的四门基础课
还有吗?要学习这么多已经很累了。估计这些书学习起来估计要1-3年,3年以后要看什么书,你就不用问我了啥,你自己应该知道了哦。
- ios 继承UITableViewController,更改tableview样式
- demo1 动态显示view或弹框 动态隐藏view或弹框
- 从零开始的Spring Security Oauth2(一)
- 细说Android事件传递
- swift基础_ set get方法 理解
- 高仿今日头条(2)
- ios tableview 上加 textfiled
- Spring Cloud实战小贴士:Feign的继承特性(伪RPC模式)
- 仿淘宝购买详情页购买缩小动画
- 高仿今日头条(1)
- android Native堆
- Spring Boot中Web应用的统一异常处理
- android bitmap的内存分配和优化
- Gitflow工作流程
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- [OHIF-Viewers]医疗数字阅片-医学影像-Redux中的reducer到底是什么,以及它为什么叫reducer?
- 【从零开始用Swift开发一个iOS应用(仿微博)】开篇-1. demo上手体验
- 数据结构与算法-二维数组中的查找
- 卷积神经网络之 - GoogLeNet / Inception-v1
- 卷积神经网络之 - Alexnet
- Linux系列之学会使用Top命令进行系统监控
- 一简单线程同步笔试题分享,欢迎纠错分享更多思路
- 卷积神经网络之-NiN 网络(Network In Network)
- 【注意力机制】空间注意力机制之Spatial Transformer Network
- 【小技巧】用Python给你的视频添加字幕
- 震惊!我三步就搞定了 Tomcat 源码环境搭建!
- 【小技巧】深度学习中的那些效率提升利器(附资源)
- 多个线程为了同个资源打起架来了,操作系统是如何让他们安分的?
- 学习链表,这些题你值得一刷!
- Gophish钓鱼测试