如何学习java?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何学习java?相关的知识,希望对你有一定的参考价值。

java Netty实战课程java高性能分布式RPC教程课程  免费下载

链接:https://pan.baidu.com/s/1MpUM62h4nvHnUGMan-R6YA

提取码:kvvv

Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程

             

参考技术A

想要学好java,对java的特性需要掌握,具体介绍如下:

1、简单性

Java看起来设计得很像C++,但是为了使语言小和容易熟悉,Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼,能更多的时间和精力花在研发上。

2、面向对象

Java是一个面向对象的语言。对程序员来说,这意味着要注意应中的数据和操纵数据的方法(method),而不是严格地用过程来思考。在一个面向对象的系统中,类(class)是数据和操作数据的方法的集合。数据和方法一起描述对象(object)的状态和行为。

3、分布性

Java设计成支持在网络上应用,它是分布式语言。Java既支持各种层次的网络连接,又以Socket类支持可靠的流(stream)网络连接,所以用户可以产生分布式的客户机和服务器。

4、编译和解释性

Java编译程序生成字节码(byte-code),而不是通常的机器码。Java字节码提供对体系结构中性的目标文件格式,代码设计成可有效地传送程序到多个平台。Java程序可以在任何实现了Java解释程序和运行系统(run-time system)的系统上运行。

5、稳健性

Java是一个强类型语言,允许扩展编译时检查潜在类型不匹配问题的功能。Java要求显式的方法声明,不支持C风格的隐式声明,这些严格的要求保证编译程序能捕捉调用错误,这就导致更可靠的程序。

参考技术B 零基础学习java可按照这份大纲来进行学习
第一阶段:Java专业基础课程
----------
阶段目标:
1. 熟练掌握Java的开发环境与编程核心知识
2. 熟练运用Java面向对象知识进行程序开发
3. 对Java的核心对象和组件有深入理解
4. 熟练应用JavaAPI相关知识
5. 熟练应用JAVA多线程技术
6. 能综合运用所学知识完成一个项目
知识点:
1、基本数据类型,运算符,数组,掌握基本数据类型转换,运算符,流程控制。
2、数组,排序算法,Java常用API,类和对象,了解类与对象,熟悉常用API。
3、面向对象特性,集合框架,熟悉面向对象三大特性,熟练使用集合框架。
4、IO流,多线程。
5、网络协议,线程运用。
---------
第二阶段:JavaWEB核心课程
阶段目标:
1. 熟练掌握数据库和mysql核心技术
2. 深入理解JDBC与DAO数据库操作
3. 熟练运用JSP及Servlet技术完成网站后台开发
4. 深入理解缓存,连接池,注解,反射,泛型等知识
5. 能够运用所学知识完成自定义框架
知识点:
1、数据库知识,范式,MySQL配置,命令,建库建表,数据的增删改查,约束,视图,存储过程,函数,触发器,事务,游标,建模工具。
2、深入理解数据库管理系统通用知识及MySQL数据库的使用与管理。为Java后台开发打下坚实基础。Web页面元素,布局,CSS样式,盒模型,javascript,jQuery。
3、掌握前端开发技术,掌握jQuery。
4、Servlet,EL表达式,会话跟踪技术,过滤器,FreeMarker。
5、掌握Servlet相关技术,利用Servlet,JSP相关应用技术和DAO完成B/S架构下的应用开发。
6、泛型,反射,注解。
7、掌握JAVA高级应用,利用泛型,注解,枚举完成自己的CRUD框架开发为后续框架学习做铺垫。
8、单点登录,支付功能,项目整合,分页封装熟练运用JSP及Servlet核心知识完成项目实战。
---------
第三阶段:JavaEE框架课程
阶段目标:
1. 熟练运用Linux操作系统常见命令及完成环境部署和nginx服务器的配置
2. 熟练运用JavaEE三大核心框架:Spring,SpringMVC,MyBatis
3. 熟练运用Maven,并使用SpringBoot进行快速框架搭建
4. 深入理解框架的实现原理,Java底层技术,企业级应用等
5. 使用Shiro,Ztree和Spring,SpringMVC,Mybaits完成企业项目
知识点:
1、Linux安装配置,文件目录操作,VI命令,管理,用户与权限,环境部署,Struts2概述,hiberante概述。
2、Linux作为一个主流的服务器操作系统,是每一个开发工程师必须掌握的重点技术,并且能够熟练运用。
3、SSH的整合,MyBatis,SpringMVC,Maven的使用。
4、了解AOP原理,了解中央控制器原理,掌握MyBatis框架,掌握SSM框架的整合。
5、Shiro,Ztree,项目文档,项目规范,需求分析,原型图设计,数据库设计,工程构建,需求评审,配置管理,BUG修复,项目管理等。
6、独立自主完成一个中小型的企业级综合项目的设计和整体架构的原型和建模。独立自主完成一个大型的企业级综合项目,并具备商业价值
参考技术C JAVA编程的学习分为:入门、初级、中级、高级、架构几个阶段。

入门
入门所需要的时间较短,几小时、几天即可。重在形成良好的编程习惯、引发足够的兴趣。大学编程课最失败的地方就是一开始就打消了很多人编程的兴趣。 编程是最容易引发成就感的事情,完全可以和游戏一样有意思。

入门大家需要掌握的JAVA知识有:JDK的安装和配置、eclipse开发环境的使用、变量、控制语句等基本知识的掌握。

初级
JAVA的初级我们需要学习JAVASE基本知识,这是我们以后工作的基础。在这个阶段,学会使用API、理解面向对象将是初学者首要面对的问题。
JAVASE中需要熟练掌握的有:面向对象、异常、常用类、数组、容器、IO流、多线程、网络编程。 这些都需要大家熟练掌握,都是以后工作必须用到的内容。
JAVASE中唯一不会在工作中使用的就是GUI编程,具体就是:AWT/SWING。桌面软件开发是JAVA语言的短腿,很少有企业使用。当然,如果时间充裕,学习一下也无妨,毕竟可以通过SWING做出漂亮的界面。而且,技术都是相通的(天下文章一大抄,呵呵),对于学习其他GUI技术也有帮助。
如果需要学习资料,推荐大家学习高淇出的《JAVA300集视频教程》。对于大家来说,学习前200集足矣。后100集的内容涉及较深,可以作为参考。

中级
中级面临的学习任务比较庞杂,不只学习JAVA, 还需要学习其他技术。通常,中级学完就可以参与企业项目的开发了,可以自己做出漂漂亮亮的项目。
我们需要学习三块知识:
1. SQL查询和1-2种数据库(通常是:oracle、mysql)
2. 网页技术:html5、CSS、JavaScript、Jquery
3. 服务器编程JAVAEE:Servlet、JSP、数据库操作技术:JDBC、Tomcat服务器
中级是非常重要的阶段,跨过这个门槛,理论上你就具备了开发项目的能力啦!中级阶段的学习,经常成为很多初学者的拦路虎,毕竟内容太多,一个问题就可能让你郁闷一天。 最终,检验你中级是否过关的标准就是“能不能独立完成一个企业项目的模块开发”。
记住:“实战是检验实力的唯一标准”,“没有实战的学习,是假学习;没有实战检验的能力,是假能力”。

高级
高级阶段是大量框架的学习和使用,毕竟这是在企业中实际使用的。目前需要掌握的有:Spring、Spring MVC、Mybatis、Struts2、Hibernate、Maven、shiro、lucene等技术。
这些技术的学习一定要结合具体的项目,不然你的学习会有种无力感。结合时下流行的SSM架构,做几个项目,自然就能把Spring、Spring MVC、Mybatis框架使用熟悉。不做项目的学习是“低效的学习”。

高级阶段表面看来是一些框架技术的学习和使用。对于“有潜力的高手来说”,实际上你会发现这只是“JAVA基础的升华”而已。只是JAVA+算法+设计模式的组合而已,我们深入这些框架底层架构就会发现这一点。 当你的学习能意识到这一点的时候,已经达到了非常高的高度。这就是武侠小说里面说的“从无招到有招,再从有招到无招”。

架构
作为JAVA程序员学到高级课程已经完全具备初中级程序员的基本素质,和真正有3年开发经验比的人,你缺的就是经验,技术的广度已经足够。
如果想从程序员更进一步,那就是架构师和总监。这个时候,你必须要有深厚的技术功底、丰富的项目经验、丰富的行业经验。
从技术上来说,你需要深入学习如下技术:
并发编程、ActiveMQ技术、ZooKeeper、Netty通信框架、JVM虚拟机底层优化、Redis、Nosql、数据库底层优化、RocketMQ、Dubbo分布式服务、Storm、Kafka、Nginx、FastDFS等。
(如果看花眼了,就收藏一下,这是你几年需要学的内容,不是几天。本文只负责指路)
从项目经验来说,一般需要3个大型项目经验。这种经验的累积不是一天两天的,罗马不是一天建成的。保持足够的耐心,坚持就能达成。

如果,你能走到架构阶段。基本上算进入JAVA程序员的高端行列。此时的收入应该在50万-100万之间(注意:这是北上广深杭一线城市标准,二线乘以系数0.6,三线乘以系数0.5)。 当然,对于我等普通屌丝来说,也算是完成了逆袭了,过个有房有车的小康生活应该是绰绰有余。

如果,你的情商、市场能力、管理能力到位,此时可以尝试创业当老板了(如果不到位,千万不要尝试,不然会死的很难看)。扎实的技术实力、丰富的行业经验,应能让你实现腾飞。我的很多学生创业成功,年如数百万的N多,时代总是年轻人的时代!
参考技术D 零基础的话还是可以先在网上找视频了解一下Java是什么,在招聘网站上看看自己想去的公司岗位所需要的技能都有什么!之后再去学习就有方向和目标了。
根据以下学习线路,学到最后便可以去面试找工作啦!

第一部分:JavaSE:Java语言最基本的一套库
学习JavaEE或JavaME之前,JavaSE是必学的。
* Java开发环境搭建
* Java基础语法
* 面向对象
* 数组
* 异常
* 集合
* 线程
* IO流
* 反射机制
* 注解Annotation
* 网络编程
第二部分:数据库 【MySQL + JDBC】
* 只要学习编程,数据库是一定要学习的,是一门公共的学科。
* java、C、python、C#等程序员都需要学习数据库。
* 数据库产品很多: MySQL、Oracle、SqlServer、DB2......
* 我们动力节点数据库课程包括:MySQL + Oracle
* Oracle:银行、政府使用oracle的较多。
* MySQL:互联网公司、一般企业使用MySQL较多。
* Oracle我们是提供视频的。课堂上不讲。
* 我们课堂上讲MySQL。
* Java语言连接数据库:JDBC
第三部分:WEB前端
* 系统结构:B/S【Browser/Server】 C/S【Client/Server】
* WEB是网站的意思。WEB前端是:网站当中的页面。
* WEB前端程序是运行在浏览器当中的。
* HTML5 + CSS3 + JavaScript(JS)
* WEB前端也有很多框架:
- jQuery
- Bootstrap
- Vue
- NodeJS
- AugularJS
- RectJS
- LayUI
- EasyUI
.....
第四部分:JavaWEB
* Servlet
* JSP
* AJAX(是JavaScript的一部分语法,专门做页面局部刷新)
第五部分:JavaWEB项目
* 做一个B/S结构的项目,将WEB前端和JavaWEB内容做一个整合练习。
* 其实到这里为止,所有的系统都可以做了。但是用的技术很Low。没有用框架。

如何学习Java基础

Java是用于软件开发的最流行的编程语言,无论做自动化测试或者测试开发,Java依然是最重要的选项之一。

为什么要学习Java?

Java很容易学习

Java是通用的,面向对象的,高性能,解释型,安全性和多线程语言。基本上,Java简化了建立网络连接所需的过程。它的安全模型可以防御很多攻击。许多繁琐的过程会在框架中自动运行,从而节省的时间。Java是静态类型的,因此在编译器中代码查找错误更加容易。Java是绝对初学者的绝佳第一语言。

Java很流行

Java是世界上最常用的编程语言之一。实际上,它在拥有开发人员,这意味着有一个庞大而成熟的社区,为Java程序员和学习者提供支持。如果遇到困难,可以确定有人在网上解决了你的问题。

Java处理现实问题

Java以“write once, run anywhere”功能而闻名。这意味着用Java编译的代码可以在任何平台上运行,而无需重新编译。这就是Java在各种分布式环境中使用的原因。就软件测试来讲,几乎所有的流行框架UiAutomator、Selenium、appium、airtest、robotframework等等都提供了Java语言的支持。

Java将促进您的职业发展

由于Java语言的流行,Java项目的应用,因此Java程序员有很多工作机会。对于各种规模和规模的公司来说,这都是一种需求的语言。Java仍然是企业最受追捧的编程语言之一。根据行业估计,大约90%的500强公司以某种能力使用Java。

Java技能通用性高

Java是一种面向对象的编程(OOP)语言,其语法是从C派生的。这些概念在许多其他编程语言中也很普遍,因此,在学习和掌握Java的同时,您也在准备应对其他语言。在将来学习Python、JavaScript、C#和C ++变得非常容易。

开始学习Java

让我们分解学习Java的六个步骤:

1.明确学习目标

Java可能更容易学习其他语言,但这并不意味着它不会具有挑战性。为了掌握Java,必须要每天学习和不断练习。如果整个学习过程中没有明确的目标,这将更加困难。

拥有明确的目标将推动克服挑战,并使你专注于学习。在过程中中尽早设定这些目标将使你的注意力在减弱时重新集中。

2.制定学习计划

自律是好朋友。为了学习制定计划将使你成为新的Java学习者。有了计划,将知道何时以及要学习什么。

从基础开始设置每周课程。许多人问到掌握Java需要花费多长时间,当然,没有确定的答案。但是,一个有明确目标,有条理的学习者肯定会比没有计划学习的人更快,更有效率地学习。如果你认真学习Java,我建议抛开诸如:每工作日2小时、周末每天4小时这样的学习。以Java基础知识模块为单元的学习计划是效果最好的

这是学习的主题的一般进度:

  • Java语法 (编写程序的规则)
  • 面向对象的编程概念
  • 核心Java (如何开发Java应用程序)
  • Java集合 (用于存储对象组的体系结构)
  • 库和框架 (大量的预写代码)
  • API (用于构建应用程序的协议和工具)
  • Git (广泛使用的控制系统)

制定贯穿这些主题的学习计划。你的学习时间将取决于您对其他编程语言的了解以及您的个人学习风格。

3.下载Java开发工具包(JDK)

Java Development Kit是一个开发环境,您可以在其中编写和编译Java应用程序。它包括编写和开发Java所需的所有基本工具。该软件包包括Java运行时环境(JRE)和Java虚拟机(JVM)。JRE提供库和组件来实际执行您的代码和应用程序。JVM是运行Java字节码并在任何平台上实现代码的工具。您可以从Oracle官网下载JDK 。

4.从基础开始

即使您熟悉其他编程语言,对Java的基础的学习也至关重要。一旦了解了如何编译代码并修复错误,便可以进入下一阶段的学习。因此,让我们先从些关键术语和概念来开始。

什么是Java语法?

像任何一种语言一样,编程语言也具有一组术语和规则来表达含义和顺序。Java具有自己的语法,您将需要学习编写代码。Java区分大小写,因此大写字母很重要。例如:endLoop并且Endloop具有不同的用途和含义。声明数据类型,声明变量以及使用运算符的所有内容都将使用语法。

什么是标识符?

标识是我们用来创建所有Java元素的名称。您可以在以后的程序中使用标识符来引用项目。以下是所有标识符的语法规则:

  • 标识符区分大小写
  • 标识符以字母(A到Z或a到z),下划线(_)或货币字符($)开头
  • 标识符不能是关键字

例如:age, _number,_1_value

什么是运算符?

运算符是执行特定操作或功能的符号。可以将它们视为句子的标点符号或代数公式的符号。Java中有几种类型的运算符。

  • 算术运算符:这些在数学表达式中使用。它们的功能与代数相同。示例包括:+,-,*,/。
  • 关系运算符:有六个关系运算符,用于比较两个数字并返回布尔值。六个运算符为:<,>,<=,> =,!=,==。
  • 逻辑运算符:这些运算符基于其他表达式的布尔结果返回布尔结果。示例包括:&&,||,!。
  • 位运算符:这些执行数的个别位的操作,并且可以被应用到整数类型 long, int, short, char,和 byte。
  • 赋值运算符:这些将其右侧的值分配给其左侧的变量。例如, age = 5 将值定义 5 为变量 age。
  • 杂类运算符:这些不属于任何这些类别,例如条件运算符和instanceof运算符。

什么是关键字?

关键字是保留用于预定义含义或功能的单词。有一个已建立的关键字列表,您需要学习。例如,关键字 new 创建一个新对象。看看下面的Java关键字。

技术图片

 

 其他修饰符关键词:native , strictfp, transient , volatile , assert .

什么是数据类型?

在编程语言中,数据类型指定变量的值,以及可以将什么类型的操作应用于变量。Java编程语言中有两种数据分类:

  • 原始数据:这些数据类型内置于Java语言中,并保留有关键字。有 8种原始数据类型:布尔值,字节,字符,短型,整数,长型,浮点型,双精度型。
    int myNum = 5;               // Integer
    float myFloatNum = 5.99f;    // Float
    char myLetter = ‘D‘;         // Character
    boolean myBool = true;       // Boolean
    String myText = "Hello";     // String
    

      

    • 对象数据:这些数据类型内置于Java语言中,但是程序员可以创建自己的类。这些包括类,接口和数组。

    什么是对象?

    对象是具有状态(属性)和行为(方法)的数据的组合。使用标识符为对象命名。Java非常面向对象,因此程序围绕对象而不是函数或逻辑进行组织。一旦组织了对象,就可以对其进行操作。

    • 状态:对象的数据
    • 行为:对象的行为或动作
    • 身份:对象的唯一名称

    例如,如果我们的对象是猫,则可以这样定义:

    • 状态:年龄,颜色,大小
    • 行为:睡觉,喵喵吃
    • 身份:猫的名字

    我们可以使用new关键字创建该对象 。

    Fun object = new Fun(cat);

  • 什么是类?

    类是我们用来创建对象并描述其行为的蓝图。它们由字段和方法的集合组成。按照我们的猫示例,我们可以将猫分类为将多只猫归为一组。

    一个类包括三个部分:

    • 可见性修改器(例如公共)
    • 关键词 class
    • 类名称

    什么是方法?

    方法在您的代码中执行操作并显示对象的行为。它们由语句的集合组成,必须被调用以返回值或不返回任何内容。

    方法在类中声明。您使用方法名称声明方法,后跟()。

    该main()方法对于每个Java程序都是必需的。将此方法视为应用程序的入口点。它是这样写的:public static void main(String args[])。看一下下面的代码,看看它的作用。

    public class Fun {
    
        public static void main(String[] args) throws IOException {
            System.out.println("Hello World");
    
        }
    
    
    }
    

      

    什么是变量?

    变量就像一个存储数据的容器。Java是静态类型的,因此我们必须先声明一个变量,然后才能使用它。Java中有三种类型的变量。

    • 局部变量是在方法主体中定义的,其范围仅限于该变量。
    • 实例变量在类中定义,并且在任何方法或块之外。实例变量是在对象中创建的。
    • 静态变量(也称为类变量)的定义方式与实例变量相同,但其关键字是静态的。这些是在程序开始时创建的。

    5.平衡理论和实践

    一旦掌握了基础知识,学习Java的最佳方法就是开始实践。仅学习理论不会走得太远。如果实际进行动手项目练习,将更快地掌握该语言,练习对学习很有帮助,并有助于树立信心。编写自己的代码。设计自己的项目。从错误中学习。掌握Java的最聪明方法是实际使用它。

    理论与实践是相互联系的,因此需要一个良好的平衡。不能仅仅完全放弃理论,否则将无法为实际的编码技能奠定良好的基础。因此,建议您将20%的时间花在理论上,而将80%的时间花在实际动手实践上。

    6.与他人一起学习

    不要以为学习必须是孤立的才是正确的。网络上有一个真正协作和活跃的社区。除了论坛和文章外,还 为各个级别的开发人员举办了数百次聚会活动。

    很多高级开发人员希望分享他们的知识和经验。当别人的知识经验随时可用且免费时,同样可以避免别人的错误!当熟悉该语言时,甚至可以尝试结伴编程。这使你有机会向他人学习,并在他们提出问题时学习解决问题。

  • 立即上手

    如果你身边有同样的Java学习者或者使用者,请多和他们多交流,相互分享学习经验。如果没有,可以在各个学习峮1080621881或者论坛寻找一位学伴,共同进步!如果有兴趣的可以留言中写下你们的社交账号,不限于微信、QQ,遇到有缘的就加个好友,做个学友。

以上是关于如何学习java?的主要内容,如果未能解决你的问题,请参考以下文章

零基础如何学习java

如何学习Java?学习Java顺序?

如何学习Java? 在学习Java的过程中需要掌握哪些技能?

如何快速的学好java?

零基础如何学习JAVA编程开发,JAVA基础教程之入门学习方法

Java如何学习,学习什么?