怎样学习java

 我来答
糯糯是我的
2017-09-16
知道答主
回答量:18
采纳率:0%
帮助的人:4.6万
展开全部

我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。 

学习java其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编 
程思想。每一种语言的程序设计思想大同小异,只是一些由语言特性的而带来的细微差别 
,比如Java中的Interface,你几乎在以前的学习中没有碰到过。以下我仔细给你说几点 

1。我们必须明确一个大方向,也就是说现在面向对象的编程范畴。尽管人工智能曾经有 
所浪潮(看看Borland为什么有Turbo PRolog),但未来5-10年工业界广泛承认并接受的 
将是面向对象式的编程。 

2。工业界目前最流行的面向对象编程语言就是C++和Java。所以基本上锁定这两个方向就 
可以了。而且完全可以同时把握。 

3。把握Java的精华特性而且一定要知道为什么。比如,Interface和multi-thread。用 
interface是更好的多继续的模型,而多线程则是设计到语言一级的重要特性。要完全理 
解interface是为什么,用多线程又有几种常用的编程模型。 

4。理解了语言的特性是为什么了之后,就可以试着上升到设计这个层次,究竟学习语言 
是要用的。目前比较好的开发模式是采用自定向下的面向对象的设计,加上MVC的模式( 
你可以看一下我介绍的关于MVC的内容)。首先要找出最顶层的对象(这往往是最难的) 
,然后一层一层往下递归 
,记住每次应符合7+/-2的原则,因为我们人的短记忆就是这样。一般有图形用户界面的 
应从界面开始设计。

5。有了基本设计模型后,可以学一些设计模式(Design Pattern)。这是目前证实很有效 
的。比如体系结构模式(Layering分层,Pipe/Filter管道或过滤器),设计模式(有很 
多,比如对象池Object 
Pool、缓冲池Cache等),编程模式(比如Copy-on-Write)。懂了这些模式之后,就会对 
系统的整体结构有很好的把握,而学术上也有倾向一个系统完全可以由各种模式组合而成 
。前面提到的MT实际上就有好几种模式,把握后就不用自己花很多时间去试了。另外一个 
很重要的领域就是并行 
和分布式计算领域,大概有20种左右。 

6。接下来就不能纸上谈兵了,最好的方法其实是实践。一般教科书上的例子并不能算是 
实践,只能算是让你把握语言特性用的。而提倡做实际的Project也不是太好,因为你还 
没有熟练的能力去综合各种技术,这样只能是你自己越来越迷糊。我认为比较好的方法是 
找一些比较经典的例子, 
每个例子比较集中一种编程思想而设计的 

7。结合前面学到的设计模式你就可以很好的理解这些经典的例子。并且自己可以用他来 实现一些简单的系统。假如可以对他进行进一步的修改,找出你觉得可以提高性能的地方 加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。 

8。好象以上谈的跟Java没什么关系,其实我们早就应该从单纯的学习语言到真正的学习 好编程的领域。学习技术是没有止境的,你学习第一种语言可能要半年时间,以后每种语言都不应该超过两个月,否则你会觉得学习语言是包袱,是痛苦我们的学习,我们的学习最重要的是实战软件的开发,所以建议在刚刚开始学习的时候,多找一些项目来研究,很多学校都有免费的课程,一般都会有提供小项目实战的,如果你们没有找不到,可以加我建立的一个交流群先加上670另外还有025最后加上447 这样你就可以找到组织,在群里大家都会提供很多小项目帮助大家成长的,你不来我们没有损失,损失的是你。 

9。学习是为了用的,是为了让你的程序产生价值典

我爱冰淇淋cn
2014-01-04 · TA获得超过435个赞
知道小有建树答主
回答量:384
采纳率:0%
帮助的人:190万
展开全部
给你个详细的,可以按照这阶段学习。

第一阶段

技术名称

技术内容

J2SE (java基础部分)

java开发前奏

计算机基本原理,Java语言发展简史以及开发环境的搭建,体验Java程序的开发,环境变量的设置,程序的执行过程, 相关反编译工具介绍,java开发工具Eclipse的安装和使用,javadoc的说明。

Java基础语法

Java语法格式,常量和变量,变量的作用域,方法和方法的重载,运算符,程序流程控制,数组和操作数组的类, 对数组循环遍历以及针对数组的常用查找、排序算法原理,最后使用Java程序进行功能实现。

面向对象编程

理解对象的本质,以及面向对象,类与对象之间的关系,如何用面向对象的思想分析和解决显示生活中的问题, 并java程序的手段编写出来。 如何设计类,设计类的基本原则,类的实例化过程,类元素:构造函数、this关键字、方法和方法的参数传递过程、 static关键字、内部类,Java的垃圾对象回收机制。 对象的三大特性:封装、继承和多态。子类对象的实例化过程、方法的重写和重载、final关键字、抽象类、接口、 继承的优点和缺点。 对象的多态性:子类和父类之间的转换、父类纸箱子类的引用、抽象类和接口在多态中的应 用、多态优点。常用设计模式如单利、模版等模式。 什么是异常异常的捕捉和抛出异常捕捉的原则 finally的使用,package的应用 import关键字。

多线程应用

多线程的概念,如何在程序中创建多线程(Thread、Runnable),线程安全问题,线程的同步,线程之间的通讯、 死锁问题的剖析。

javaAPI详解

JavaAPI介绍、String和StringBuffer、各种基本数据类型包装类,System和Runtime类,Date和DateFomat类等。 常用的集合类使用如下:Java Collections Framework:Collection、Set、List、ArrayList、Vector、LinkedList、Hashset、TreeSet、Map、HashMap、 TreeMap、Iterator、Enumeration等常用集合类API。

IO技术

什么是IO,File及相关类,字节流InputStream和OutputStream,字符流Reader和Writer,以及相应缓冲流和管道流,字节和字符的转化流,包装流,以及常用包装类使用,分析java的IO性能。

网络编程

Java网络编程,网络通信底层协议TCP/UDP/IP,Socket编程。网络通信常用应用层协议简介:HTTP、FTP等,以及WEB服务器的工作原理。

java高级特性

递归程序,Java的高级特性:反射、代理和泛型、枚举、Java正则表达式API详解及其应用。

第二阶段

技术名称

技术内容

数据库技术

Oracle 基础管理

Oracle背景简介,数据库的安装,数据库的用户名和密码,客户端登录数据库服务SQLPLUS,数据库基本概。

SQL语句

数据库的创建,表的创建,修改,删除,查询,索引的创建,主从表的建立,数据控制授权和回收,事务控制,查询语句以及运算符的详解,sql中的函数使用。

多表连接和子查询

等值和非等值连接,外连接,自连接;交叉连接,自然连接,using子句连接,完全外连接和左右外连接,子查询使用以及注意事项。

触发器、存储过程

触发器和存储过程使用场合,通过实例进行详解。

数据库设计优化

WHERE子句中的连接顺序,选择最有效率的表名顺序,SELECT子句中避免使用 ‘ * ‘ 计算记录条数等等。

数据备份与移植

移植技巧,备份方案;导入导出等。

第三阶段

技术名称

技术内容

jdbc技术

JDBC基础

JDBC Connection、Statement、PreparedStatement、CallableStatement、ResultSet等不同类的使用。

连接池技术

了解连接池的概念,掌握连接池的建立、治理、关闭和配置。

ORM与DAO封装

对象关系映射思想,jdbc的dao封装,实现自己的jdbc。

第四阶段

技术名称

技术内容

web基础技术 (项目实战)

Xml技术

使用jdom和dom4j来对xml文档的解析和生成操作,xml 的作用和使用场合。

html/css

Java掌握基本的html标签的格式和使用,css层叠样式表对div的定义,实现对网站布局的基本实现。

Javascript

了解javascript的基本语法以及相关函数的使用,并结合html页面实现流程控制和页面效果展示。 什么是异常异常的捕捉和抛出异常捕捉的原则 finally的使用,package的应用 import关键字。

jsp/servlet

Servlet和SP 技术、上传下载、 Tomcat 服务器技术、servlet 过滤器和监听器。

jstl和EL

JSTL核心标签库、函数标签库、格式化标签库、自定义标签技术、EL表达式在jsp页面的使用。

ajax及框架技术

了解和属性原生态的ajax的使用,ajax使用的场合,使用ajax的好处,ajax框架jquery渲染页面效果和相关的强大的第三方类库,dwr如何和后台服务进行数据传输,以及页面逻辑控制等。

JSON高级应用

Java使用json支持的方式对字符串进行封装和解析,实现页面和java后台服务的数据通信。

Fckeditor编辑器

FCKEditor在线编辑器技术、配置、处理图片和文件上传。

javaMail技术

了解域名解析与MX记录、电子邮件工作原理、邮件传输协议:SMTP、POP3、IMAP、邮件组织结构:RFC822邮件格式、MIME协议、邮件编码、复合邮件结构分析、JavaMail API及其体系结构、编程创建邮件内容:简单邮件内容、包含内嵌图片的复杂邮件、包含内嵌图片和附件的复杂邮件。

JfreeChart报表

统计报表;图表处理。

BBS项目实战

采用Jquery+dwr+jsp+servlet+Fckeditor+JfreeChart+tomcat+jdbc(oracle) 完成BBS项目的实战。

实战价值

学完此课程你至少已经是拥有近1年开发经验的程序员了,但是你不应该满足现状,下面的课程会更加吸引你!

第五经典阶段

技术名称

技术内容

web主流框架技术 (项目实战)

struts2.x

struts2框架的工作原理和架构分析,struts-default.xml与default.properties文件的作用,struts。Xml中引入多个配置文件。OGNL表达式、Struts2 UI和非UI标签、输入校验、使用通配符定义action、动态方法调用、多文件上传、自定义类型转换器、为Action的属性注入值、自定义拦截器、异常处理、使用struts2实现的CRUD操作的案例。

hibernate3.x

Hibernate应用开发基础; ORM基础理论; 关系映射技术; 性能调优技术; 性能优化 一级缓存 二级缓存 查询缓存 事务与并发 悲观锁、乐观锁。

spring3.x

Spring IoC技术; Spring AOP技术; Spring 声明事务管理; Spring 常用功能说明,spring3.0的新特性, Spring整合struts2和hibernate3的运用。

Log4j和Junit

Logging API; JUnit单元测试技术; 压力测试技术:badboy 进行测试计划跟踪获取以及JMeter压力测试。

在线支付技术

完成支付宝的支付接口的在线支付功能。

电子商务网实战

采用spring3+hibernate3+struts2+jquery+dwr+FckEditor+tomcat 完成电子商务网站实战开发。

实战价值

项目实战价值完全高标准的高要求的迎合企业的需求,学完此课程,全部消化了,你已经就是一个地地道道的高级程序员,已经为你的职业生涯铺平了道路,你还等什么,向着高薪冲刺吧!

第六进阶阶段

技术名称

技术内容

web高级进阶 (项目实战)

openJpa技术

JPA介绍及开发环境搭建、单表实体映射、一对多/多对一、一对一、多对多关联、实体继承、复合主键、JPQL语句、EntityManager API、事务管理,了解一下jpa2.0的新特性以及应用。

lucene搜索引擎

了解全文搜索原理、全文搜索引擎、什么是OSEM、OSEM框架Compass、基于使用Lucene使用Compass实现全文增量型索引创建和搜索、探索Lucene 3.0以及API。

电子商务网重构

此项目采用了Lucene+compass+openJpa+上一版电子商务网站的技术进行重构。

实战价值

此项目的实战价值是前所未有的超值,已经超越了企业的实际要求,你已经是企业的抢手人才,一旦进入企业,便让你立于不败之地,轻松成为公司的技术骨干和精英,技术已经改变了你一生!

Excel/PDF文档处理技术

java对excel和pdf文档分别利用poi和itext来进行解析和生成。此技术在企业级系统的报表中经常使用。

OA工作流技术JBPM

工作流是什么、JBPM介绍、JBPM的主要用法、各类节点的用法、任务各种分派方式、JBPM的整体架构原理、工作流定义模型分析、运行期工作流实例模型分析、数据库表模型分析、流程定义管理、流程实例监控、对JBPM的相关接口进行封装,构建自己的工作流应用平台等。

WebService技术

WebService技术原理、WebService技术的应用、Soap服务的创建与管理、WSDL描述文档规范、UDDI 注册中心运行原理;使用Axis和Xfire创建WEB服务、Webservice客户端的编写、使用TCPMonitor监听SOAP协议、异构平台的整合。

Linux技术

Linux 系统安装,卸载、linux 使用的核心思想、linux下的用户管理,文件管理,系统管理、程序的安装,使用,卸载。linux下作为server的基本应用:web服务器,j2ee服务器,ftp服务器的安装和项目的部署。

CRM项目实战

此项目能了解和熟悉客户关系管理的基本流程以及功能的实现,采用上面几个阶段学到的主流框架实现,同时加入了JBPM的技术。

实战价值

学完这个系统会让你轻松进入企业级的大型项目的开发,倍感得心应手。完备的知识体系和最前沿的开发技术,带给你的将是在精神上不同目光的瞻望和物质上高薪资回报的喜悦,带你进入人生的新的转折点和起点!

第七架构阶段

技术名称

技术内容

大型高并发网站优化方案 (项目实战)

如何构建一个高性能网站详解

什么样的网站需要高性能,高性能的指标体系,构建高性能网站需要做哪些工作,注意哪些细节。

SSI技术

什么是SSI,使用他有什么好处,什么样的系统才使用SSI,SSI技术详解和使用,应用到项目中。

生成静态页技术

什么是静态页,为什么需要静态页以及带来的好处,生成静态页的模版技术Velocity和Freemark,生成静态页的访问规则等。

缓存技术

为什么使用缓存技术,oscache缓存技术的介绍和使用,memcached缓存技术的介绍和使用、两者缓存技术的比较和如何去使用。

经典web服务器

什么是web服务器,什么是javaweb服务器,他们存在什么关系,当前技术主流中常用的web服务器有哪些, web服务器apache和nginx的应用。

nginx架构实战

什么是反向代理,负载均衡以及集群,在nginx中如何实现这些高性能的系统架构。

实战价值

此课程已经将你领入了技术经理和主管以及架构师的门槛了,稍微用心学习加上实战你就是技术牛人了,薪水非常高,同时很快你就是公司的技术中层管理者,你的人生就此又一次的发生巨大的转折!

第八特色阶段

技术名称

技术内容
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
创作者oIPb8NgY97
2014-01-04 · 超过13用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:27.3万
展开全部
  1. 先学习java的语法基础,牢记并理解概念,边学边敲代码,即使他已经有代码给你了,你也要去敲一篇,加深印象,巩固知识。

  2. 理解java面向对象的核心思想

  3. 找一些题目自己练习,体会。

  4. 学得过程中可以找一些网上的视频看一下。听一下其他人的想法。

  5. 有些人学了一段时间后就会不断问自己:学java有什么用,好像想做什么都做不了?

    学习任何东西都要有一种初学者的心态,不要急,不要好高骛远。

就像小学生背乘法口诀一样,背的时候都不知道背了什么东西,就只知道是一些好玩的数字罢了,当然他们也不想知道,可渐渐地,他们发现以后的计算都少不了乘法口诀这一一得一、二二得四的东西,不是吗?。

        java基础就是这样,不要想着有什么用,就学,就敲,别想那么远,在你学的过程中,积极与人交流的过程中,你会慢慢深入的。


祝你学习进步!加油!

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿萌鼠币Ag
高粉答主

2020-06-01 · 每个回答都超有意思的
知道答主
回答量:4.8万
采纳率:6%
帮助的人:2347万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2019-11-12
知道答主
回答量:24
采纳率:0%
帮助的人:1.3万
展开全部

前言03:学习方法及课程概述,秦老师Java学习交流qun:664386224

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(9)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式