本文目录一览:
Java学习路线
首先给自己定位是为了什么而学?比如说是为了高薪,买车,买房子,要几年之内月薪达到多少多少。或者说本身就是非常喜欢程序,觉得写软件有成就感。反正要知道自己为了什么而学,而不是为了学而学,不然为什么那么人中途放弃了? 其次能不能坚持下去?因为JAVA本身学起来没有融入,是很枯燥,没人喜欢枯燥。
- 了解java的所有要学习的东西,学好基本语法,了解java的特点。
- 选择合适的书籍,比如《Thingking in Java》、《Java核心技术》、《Java从入门到精通》
- 选择合适的教学视频辅助书籍进行学习比如:网页链接
- 或者参加培训班,进行专业辅导,能更好的解决你学习中所遇到的问题 无论你在学习JavaSE,数据库,JavaWeb,还有框架的知识,你都要切记一点,在学习编程的过程中,聪明人的唯一体现只有是对于知识点的理解上而已,其他的都是一样,你花多少时间去动手实践,就决定了你能走多远,学习这事,任何行业都是题海战术,编程更是如此,你除了多写代码,没有其他捷径可走。整理不易!!! 另附上我们的学习路线图,希望对你能有所帮助!
如何正确掌握Java的学习方法?
作为掌握了JAVA技术,将来准备成为Java软件工程师的人来说,要想成为JAVA工程师肯定要学习JAVA。一般的程序员或许只需知道一些JAVA的语法结构就可以应付了。但要成为高级JAVA工程师,我们需要对JAVA做比较深入的研究。为大家总结了以下三个方面的学习方法: 一、软件开发学习路线。两千多年的儒家思想孔孟之道,中庸的思想透入骨髓,既不冒进也不保守并非中庸之道,而是找寻学习软件开发的正确路线与规律。从软件开发人员的生涯规划来讲,我们可以大致分为三个阶段,软件工程师→软件设计师→架构设计师或项目管理师。不想当元帅的士兵不是好士兵,不想当架构设计师或项目管理师的程序员也不是好的程序员。我们应该努力往上走。让我们先整理一下开发应用软件需要学习的主要技术。 A. 基础理论知识,如操作系统、编译原理、数据结构与算法、计算机原理等,它们并非不重要。如不想成为计算机科学家的话,可以采取“用到的时候再来学”的原则。 B. 一门编程语言,现在基本上都是面向对象的语言,JAVA/C++/C#等等。如果做WEB开发的话还要学习HTML/Jav**ript等等。 C. 一种方法学或者说思想,现在基本都是面向对象思想(OOA/OOD/设计模式)。由此而衍生的基于组件开发CBD/面向方面编程AOP等等。 D. 一种关系型数据库,ORACLE/SqlServer/DB2/MySQL等等。 E. 一种提高生产率的IDE集成开发环境JBuilder/Eclipse/VS.NET等。 F. 一种UML建模工具,用ROSE/VISIO/钢笔进行建模。 G. 一种软件过程,RUP/XP/CMM等等,通过软件过程来组织软件开发的众多活动,使开发流程专业化规范化。当然还有其他的一些软件工程知识。 H. 项目管理、体系结构、框架知识。 正确的路线应该是:B→C→E→F→G→H。 还需要补充几点:
- 对于A与C要补充的是,我们应该在实践中逐步领悟编程理论与编程思想。新技术虽然不断涌现,更新速度令人眼花燎乱雾里看花;但万变不离其宗,编程理论与编程思想的变化却很慢。掌握了编程理论与编程思想你就会有拨云见日之感。面向对象的思想在目前来讲是相当关键的,是强势技术之一,在上面需要多投入时间,给你的回报也会让你惊喜。
- 对于数据库来说是独立学习的,这个时机就由你来决定吧。
- 编程语言作为学习软件开发的主线,而其余的作为辅线。
- 软件工程师着重于B、C、E、D;软件设计师着重于B、C、E、D、F;架构设计师着重于C、F、H。 二、JAVA学习路线。
- 基础语法及JAVA原理。基础语法和JAVA原理是地基,地基不牢靠,犹如沙地上建摩天大厦,是相当危险的。学习JAVA也是如此,必须要有扎实的基础,你才能在J2EE、J2ME领域游刃有余。参加SCJP(SUN公司认证的JAVA程序员)考试不失为一个好方法,原因之一是为了对得起你交的1200大洋考试费,你会更努力学习,原因之二是SCJP考试能够让你把基础打得很牢靠,它要求你跟JDK一样熟悉JAVA基础知识;但是你千万不要认为考过了SCJP就有多了不起,就能够获得软件公司的青睐,就能够获取高薪,这样的想法也是很危险的。获得“真正”的SCJP只能证明你的基础还过得去,但离实际开发还有很长的一段路要走。
- 特定API的学习。JAVA介入的领域很广泛,不同的领域有不同的API,没有人熟悉所有的API,对一般人而言只是熟悉工作中要用到的API。如果你做界面开发,那么你需要学习Swing/AWT/SWT等API;如果你进行网络游戏开发,你需要深入了解网络API/多媒体API/2D3D等;如果你做WEB开发,就需要熟悉Servlet等API啦。总之,需要根据工作的需要或你的兴趣发展方向去选择学习特定的API。
- 开发工具的用法。在学习基础语法与基本的面向对象概念时,从锻炼语言熟练程度的角度考虑,我们推荐使用的工具是Editplus/JCreator+JDK,这时候不要急于上手JBuilder/Eclipse等集成开发环境,以免过于关注IDE的强大功能而分散对JAVA技术本身的注意力。过了这一阶段你就可以开始熟悉IDE了。
- OO思想的领悟。掌握了基础语法和JAVA程序运行原理后,我们就可以用JAVA语言实现面向对象的思想了。面向对象,是一种方法学;是独立于语言之外的编程思想;是CBD基于组件开发的基础;属于强势技术之一。当以后因工作需要转到别的面向对象语言的时候,你会感到特别的熟悉亲切,学起来像喝凉水这么简单。 使用面向对象的思想进行开发的基本过程是:
- 调查收集需求。
- 建立用例模型。
- 从用例模型中识别分析类及类与类之间的静态动态关系,从而建立分析模型。
- 细化分析模型到设计模型。
- 用具体的技术去实现。
- 测试、部署、总结。
- 学习软件工程。对小型项目而言,你可能认为软件工程没太大的必要。随着项目的复杂性越来越高,软件工程的必要性才会体现出来。
- 基本API的学习。进行软件开发的时候,并不是什么功能都需要我们去实现,也就是经典名言所说的“不需要重新发明轮子”。我们可以利用现成的类、组件、框架来搭建我们的应用,如SUN公司编写好了众多类实现一些底层功能,以及我们下载过来的JAR文件中包含的类,我们可以调用类中的方法来完成某些功能或继承它。那么这些类中究竟提供了哪些方法给我们使用?方法的参数个数及类型是?类的构造器需不需要参数?总不可能SUN公司的工程师打国际长途甚至飘洋过海来告诉你他编写的类该如何使用吧。他们只能提供文档给我们查看,JAVADOC文档(参考文献4.4)就是这样的文档,它可以说是程序员与程序员交流的文档。 基本API指的是实现了一些底层功能的类,通用性较强的API,如字符串处理/输入输出等等。我们又把它成为类库。熟悉API的方法一是多查JAVADOC文档,二是使用JBuilder/Eclipse等IDE的代码提示功能。 程序员日常工作包括很多活动,编辑、编译及构建、调试、单元测试、版本控制、维持模型与代码同步、文档的更新等等,几乎每一项活动都有专门的工具,如果独立使用这些工具的话,你将会很痛苦,你需要在堆满工具的任务栏上不断的切换,效率很低下,也很容易出错。在JBuilder、Eclipse等IDE中已经自动集成编辑器、编译器、调试器、单元测试工具JUnit、自动构建工具ANT、版本控制工具CVS、DOC文档生成与更新等等,甚至可以把UML建模工具也集成进去,又提供了丰富的向导帮助生成框架代码,让我们的开发变得更轻松。应该说IDE发展的趋势就是集成软件开发中要用到的几乎所有工具。从开发效率的角度考虑,使用IDE是必经之路,也是从一个学生到一个职业程序员转变的里程碑。 JAVA开发使用的IDE主要有Eclipse、JBuilder、JDeveloper、NetBeans等几种;而Eclipse、JBuilder占有的市场份额是最大的。JBuilder在近几年来一直是JAVA集成开发环境中的霸主,它是由备受程序员尊敬的Borland公司开发,在硝烟弥漫的JAVAIDE大战中,以其快速的版本更新击败IBM的VisualAgeforJAVA等而成就一番伟业。IBM在VisualAgeforJAVA上已经无利可图之下,干脆将之贡献给开源社区,成为Eclipse的前身,真所谓“柳暗花明又一村”。浴火重生的Eclipse以其开放式的插件扩展机制、免费开源获得广大程序员(包括几乎所有的骨灰级程序员)的青睐,极具发展潜力。 最后一点,成为一名优秀的JAVA工程师,我们需要掌握的专业知识和技能包括:熟悉java语言,理解面向对象的思想与设计模式,至少熟悉j2ee、j2me、j2se等开发体系中的一种;熟练使用Eclipse或Jbuilder等开发工具,理解MVC模式及实际应用;至少熟悉一种数据库的开发和设计;具有一定的程序测试和设计分析能力。除此之外,良好的学习能力、团队合作精神、强烈的责任心以及沟通能力也是必不可少的。 如果以上几点你都能很好的做到了,那么你就是一位优秀的JAVA工程师了
新手学JAVA都要学哪些知识啊
这样的问题,我已经回答了很多次,现在很多新手,特别是刚刚进入学生的学生,不知道该从哪里入手,我整理了一些java的知识点,一共分为一个阶段,273个技能点,第一阶段、第二阶段、第三阶段、第四阶段是必须要掌握的,第五阶段和第六阶段就是高薪、高职的保障,就说说想高薪必须得把后面两个阶段的给掌握了, 第一阶段:java基本功修炼
- 认识计算机硬件
- 计算机组成原理
- 计算机软件知识
- 计算机网络知识
- 常用网络应用操作
- 认识计算机病毒
- 逻辑训练
- 初识Java
- 变量和数据类型
- 选择结构
- 循环结构for
- 循环结构do-while
- 循环结构while
- 多重循环及程序调试
- 循环进阶
- 一维数组及经典应用
- 二维数组
- 认识类与对象
- 方法及方法重载
- 封装与继承
- 方法重写与多态
- 项目实战-汽车租赁系统
- 抽象类和接口
- 异常
- 项目实战-QuickHit
- Java 中的集合类型
- List 集合
- Set 集合
- HashMap 集合
- Iterator
- Collections 算法类及常用方法
- enum
- 包装类及装箱拆箱
- String、StringBuffer 类常用方法操作字符串
- Date、Calendar
- Math 类常用方法
- IO/NIO
- 字节输入流(InputStream、FileInputStream、BufferedInputStream)
- 字节输出流(OutputStream、FileOutputStream、BufferedOutputStream)
- 字符输入流(Reader、InputStreamReader、FileReader BufferedReader)
- 字节输出流(Writer、OutputStreamWriter、FileWriter、BufferedWriter)
- 文件复制
- Serialize、Deserialize
- 职场晋升力:四象限时间管理与精力管理
- 多线程(Thread、Runnable)
- Thread LifeCycle
- 线程的调度
- 线程的同步和死锁
- Thread Pool
- 职场晋升力:团队合作
- Socket(TCP、UDP)
- XML 概念、优势、规范
- XML 中特殊字符的处理
- 使用DOM 读取、添加、删除、解析 XML 数据 第二阶段:javaweb开发
- 搭建和配置MySQL 数据库
- 数据库增、删、查、改语句
- 事务
- 视图
- 数据库备份与恢复
- 数据库用户管理
- 数据库设计
- 项目实战-银行ATM 存取款机系统
- 走进 HTML 和CSS
- 列表表格及表单美化
- CSS 高级操作
- Bootstrap
- CSS 组件
- JavaScript 面向对象
- JavaScript 判断、循环
- JavaScript 闭包
- JavaScript 语法
- Bootstrap 综合案例
- HTML5、CSS3
- jQuery 基础
- jQuery 基本操作
- jQuery 事件与特效
- jQuery Ajax
- jQuery 插件
- 搭建Web 环境初识JSP
- JSP 九大内置对象
- JSP 实现数据传递和保存
- JDBC
- 单例模式、工厂模式
- MVC、三层模式
- Commons-fileupload、CKEditor
- 分页查询
- EL 与 JSTL
- Servlet 与Filter
- Listener 与MVC
- Ajax 与 jQuery
- jQuery 的Ajax 交互扩展
- 项目实战—使用Ajax 技术改进新闻发布系统
- 反射
- Linux 系统的安装
- 在Linux 中管理目录和文件
- 在Linux 中管理用户和权限
- 在Linux 服务器环境下安装软件和部署项目
- 职场晋升力:职场沟通 第三阶段: 企业级框架开发
- MyBatis 环境搭建
- SQL 映射文件
- 动态SQL
- MyBatis 框架原理
- Spring IOC
- 构造注入、依赖注入、注解
- Spring 整合MyBatis(SqlSessionTemplate、MapperFactoryBean、事务处理)
- Spring 数据源(属性文件、JNDI)、Bean 作用域
- Spring 框架的运行原理
- SpringMVC 体系概念
- SpringMVC 之数据绑定、数据效验、
- SpringMVC 之视图及视图解析
- SpringMVC 之文件上传、本地化解析
- SpringMVC 之静态资源处理、请求拦截器、异常处理
- Oracle 数据库环境搭建、安装
- Oracle 数据库 SQL、分页、备份、还原
- Hibernate 概念、依赖
- HQL 查询语言
- Hibernate 中配置关联映射
- HQL 连接查询与 Hibernate 注解
- Struts 2 概念、依赖
- Struts 2 配置
- OGNL 表达式
- Struts 2 拦截器
- SSH 框架整合
- 使用Maven 构建项目
- 使用Struts 2 实现Ajax
- Jsoup 网络爬虫
- 多线程网络爬虫
- 反爬及反反爬策略
- 通用爬虫设计
- Echart 图表分析
- IKAnalyzer 分词
- 企业框架项目实战-代理商管理系统
- 企业框架项目实战-SL 会员商城
- 企业框架项目实战-会员管理系统
- 企业框架项目实战-互联网招聘信息采集分析平台 第四阶段: 前后端分离开发
- GitHub
- Git 基础(checkout、pull、commit、push、merge 等)
- Git 进阶(多分支协作)
- GitLab
- IDEA 的使用
- Maven 介绍(概念、仓库、构建、命令)
- 使用Maven 构建WEB 项目
- 使用Maven 构建多模块项目
- 使用Maven 搭建私服仓库
- Scrum 框架介绍(三个角色、三个工件、四个会议)
- Scrum Team 组建团队
- 产品需求和用户故事
- 每日立会
- 使用敏捷-Scrum 方式开发管理实战
- 前后端分离、分布式集群架构、垂直架构
- SSM(SpringMVC+Spring+MyBatis)整合实战
- Git、Maven 私服Nexus
- 第三方接入技术(微信、阿里)
- MySQL 电商实战
- Redis(缓存服务)
- 搜索引擎-Solr
- 集成API Doc 工具-Swagger
- 图片自动化处理:Tengine+LUA+GraphicsMagic
- 手机、邮箱注册
- 单点登录 Token
- OAuth2.0 认证
- Jsoup 网络爬虫(多线程爬虫/代理 IP 爬虫)
- ExecutorService 线程池
- IK 中文分词
- Postman
- ReactJS
- webpack
- 职场晋升力:简历撰写
- 程序猿面试宝典之项目面试
- 大型互联网旅游电商项目实战-爱旅行 第五阶段: 分布式微服架构开发
- Spring Boot 环境搭建
- Spring Boot 常用技能
- Spring Boot 整合Redis
- Spring Boot 整合Mybatis
- 微服务架构及架构设计
- 消息队列 ActiveMQ\RabbitMQ
- 分布式事务
- 分布式锁 Redis-setnx
- Zookeeper 注册中心
- 基于 ActiveMQ 实现高并发
- Docker 环境搭建
- Docker 镜像加速
- Docker 容器管理
- Docker 镜像管理
- Docker 容器文件备份
- Dockerfile
- Docker 私服仓库
- 真实互联网高并发电商项目实战-双十一抢购
- 可视化监控 Portainer
- Docker Compose 容器编排
- Docker Compose 扩容、缩容
- Docker Swarm 集群编排
- Jenkins 安装、插件配置
- Jenkins 配置普通任务
- Jenkins 配置管道任务
- Jenkins 自动发布服务
- Spring Cloud Eureka
- Spring Cloud Feign
- Spring Cloud Ribbon
- Spring Cloud Zuul
- Spring Cloud Config
- Spring Cloud Hystrix
- Spring Cloud Sleuth
- Spring Boot Admin
- Eureka 注册原理探秘
- Spring Cloud 大坑解读
- Zipkin
- Zipkin 整合RabbitMQ
- Zipkin 整合MySQL
- ELK 日志收集
- Kafka
- Elasticsearch 映射管理
- Elasticsearch 查询/复合查询
- Elasticsearch 集群/集群规划
- Elasticsearch 聚合
- Elasticsearch 集群监控
- Elasticsearch 插件 (Head/BigDesk)
- Mycat 读写分离
- Mycat 一主多从
- Mycat 多主多从
- Mycat 数据分片
- Redis
- Redis-Redlock
- Elasticsearch 环境搭建
- Elasticsearch 客户端
- Elasticsearch 索引管理
- Elasticsearch 文档管理
- Mycat 集群
- Jmeter 并发测试
- Jmeter 生成测试报告
- 微信登录
- 微信支付
- 支付宝支付
- 百度地图
- Sonar 本地检测
- Sonar +Jenkins 线上检测
- CI/CD
- Spring Boot 改造爱旅行项目实战
- 大型互联网票务类电商项目实战-大觅网
- ES6 概念(les、const)
- ES6 对象和数组
- ES6 函数扩展
- VUE 环境搭建
- VUE.JS 指令
- VUE 交互
- VUE 实例生命周期
- VUE 组件
- VUE 项目环境配置及单文件组件
- VUE 路由 第六阶段:cc服务
- Spring Cloud Gateway
- Consul
- Nacos
- Eureka、Consu、lNacos、Zookeeper 对比分析
- Prometheus + Grafana
- ES 分布式存储原理
- NoSQL 数据库解决方案(Redis、MongoDB)
- OAuth2.0 认证( authorization code 模式)
- OAuth2.0 认证( implicit 模式)
- OAuth2.0 认证( resource owner password credentials 模式)
- OAuth2.0 认证( client credentials 模式)
- NAS/FastDFS 分布式文件存储
- Python 基础
- Python 爬虫
- 大数据及 Hadoop 概述
- 分布式文件系统 HDFS
- 分布式计算框架MapReduce
- 分布式列式数据库 HBase
- Hadoop 综合应用
- 面试大局观
- 职业规划
- 项目面试
- 具体业务场景化解决方案
- 更多技术专题持续增加中
JAVA初学者看什么书好呢?
Java相关书籍知识点比较全面,对初学者系统掌握入门知识很有帮助,下面推荐一些适合相关Java书籍:
- 《Head First Java》java入门书籍 《Head First Java》是本完整的面向对象(object-oriented,OO)程序设计和Java的学习指导。此书是根据学习理论所设计的,让你可以从学习程序语言的基础开始一直到包括线程、网络与分布式程序等项目。最重要的,你会学会如何像个面向对象开发者一样去思考。但如果你真地想要好好地学习Java,你会需要《Head First Java》。这本书可是Amazon编辑推荐的十大好书之一!强烈推荐学习此书,非常适合初学者入门。
- 《Java从入门到精通》适合自学者 《Java从入门到精通》这本书主要针对java基础,对于没有学过java的人才说,是一个不错的选择。通过这本书,大家可以从零开始,慢慢来学习,而且实操很多,不会让你看到最后出现只会理论的情况。为什么说培训的人不用看呢?因为这本书上的内容和许多培训机构的书籍有很多重复的地方,所以参加培训的同学就可以不看了。
- 《Thinking in java》(中文名:《Java编程思想》)适合中级自学者和培训者 《Java编程思想》可以说是最经典的java著作,是所有java程序员必备教科书。这本书不管是正在学习还是已经工作许多年的程序员,都可以从这本书中得到你想要的东西。这本书具有教材和工具书的作用,就像一本字典,想知道什么都可以从中查询。虽然这本书很好,但并不建议初学者学习,对于初学者难度较大。
- 《疯狂Java讲义》适合自学者看 《疯狂的讲义》这本书比较适合自学者,内容比较项目化,实操方法很多,如果你想进行java的深入学习,不妨看看这本书。
- 《Java核心技术》最适合报培训班的看 这本书分为两个部分,第一个部分讲的是基础知识,第二个部分讲的是高级特性。由于内容非常有层次,所以非常适合自学和上培训机构的同学学习。尤其对参加培训的同学作用较大,因为一般培训机构讲的非常快,有很多东西没办法及时消化吸收,很多基础和核心的东西就会掌握的不牢固,那么这本书正好弥补了这个缺失。
- 《Java开发实战经典》适合自学者看 这本书比较适合自学者学习,里面有很多小案例,可以边学边练,巩固知识。
java学习要怎么学啊!都学什么
首先编程语言方面,要看你自己想要从事的相关开发! web开发,如果你只是想做网站这样子,PHP+MYSQL 是最好最简单的!高速开发 web开发,如果你是想做web系统,类似各大银行的网银,基本都是java,安全开发,跨平台! 应用程序开发,不基于网站的开发,首选 c# 操作简单易懂!楼主慎选! 回到主题,java学习,首先学习html+javascript+jsp html和javascript做简单了解就好,多写几个页面! jsp枯燥,学习核心的就好了,九大内置对象和各种标签! 其次,java语言, 第一,java基础开发,java面向对象思想! 第二,接下来就是 变量,循环,数组,集合... 第三,高级编程,反射,多线程,泛型... 第四,web编程,servlet 此时就可以自己写网站了 servlet+jsp 哦了! 第五,数据库学习,建议学习sqlservlet 2008 把你上面项目的数据统统进数据库 第六,三大框架技术! 第七,进阶技术,比较多不一一罗列了!这已经很清楚了! 手打,不谢
我想记录自己整理的java笔记,什么软件好
记录自己整理的Java笔记,使用敬业签就比较合适,因为它多端同步使用方便,安全可靠。敬业签是一款功能比较全面的桌面便签软件,分为个人便签和团队协作便签,主要功能包括:云储存、多端云同步、提醒待办事项、时间管理、标记已完成、月视图和时间轴等。它的的多端同步功能分别支持苹果手机端、安卓手机端、iPad端、Mac端、Windows系统PC端和web网页端。