自学java难不难,对不同的人来说可能不一样,有着编程基础的来说,相对容易。如果是完全小白,就会稍微困难点,下面总结了十三步来自学java的步骤。

第1步:自学JAVA的开发环境配置、开发首个Java程序。也推荐大家刚开始使用eclipse等IDE,无需纠结是不是必须要从记事本刚开始。

第2步:自学数据类型、运算符、变量。这也是编程的基本,是程序的“砖块”。这类内容大部分编程语言都有,并且非常类似。

第3步:自学控制语句。这也是编程的基本,是程序的“混凝土”。有了控制语句+变量,理论上你也就可以写任意的程序了。因此,这也是进入程序的门坎,必须大量的练习。

第4步:自学面向对象基本。根据类、对象、包等基本概念解读。自学的情况下,必须要在这里介入内存分析,如此一来可以对于对象等知识有非常深入的了解。

第5步:持续面向对象,关键包括三大特征:集成、封装,以及接口、抽象类、内部类等定义。这类定义必须掌握,可是对于初学者来讲,先熟悉语法,根据后面的自学再深入。无需期待初学情况下就能深刻领会这类定义。

第6步:异常机制。Java程序的安全必须异常机制,这也是必学内容。当然,也非常简单。自学过程中,先无需揪着什么自定义异常不放,学好基本用法就可以。

第7步:数组和算法。自学数组时,重视融合循环管理数组。还要从底层内存了解数组,这不单单是学数组同样是复习面向对象;再融合一些算法,例如排序和搜索算法,既练习数组的用法,也学了算法知识,为面对企业笔试和面试做好充分的准备。

第8步:常用类和JDK源码阅读。自学常用类的用法:包装类、字符串相关类、实践类、Math类、File类等。自学过程中,只学如何使用这类API就及格了。要优秀,要培养出来高手逻辑思维,必须要融合JDK源码,一开始就培养出来阅读源码的习惯(虽然,可能大部分搞不懂)。

第9步:容器和数据结构。容器有:List、Set、Map。自学这三种容器用法只必须一两个小时。但,此时你要融合数据结构,再融合JDK源码解读。这便是“高手习惯”,让大家既自学容器,也学了数据结构,打好了内功,面对企业面试再好不过。

第10步:IO流技术。学好各种常用流就可以,掌握一些工具类的用法,例如:ApacheIOUtil如此一来会使你在以后使用时效率暴增。

第11步:多线程技术。这同样是笔试和面试中普遍的内容。我们要自学多线程基本使用、生命周期、状态转化。如果学有余力,自学一下下生产者消费者模式,给你一开始就具备架构的逻辑思维;既然学,就根据“高标准”要求自己。

第12步:网络编程。工作上直接用到的不多,并且socket编程范式差不多,了解即可。毕竟直接让你编写基于socket底层代码的情况比较少见。

第13步:做个项目吧。学了这么多,不做个东西怎么对得起自己?不管是小游戏项目也好,还是基于swing的项目,还是其他控制台项目。

自学java难不难 搞定这十三步就够了的更多相关文章

  1. java 调用 C# 类库搞定,三步即可,可以调用任何类及方法,很简单,非常爽啊

    java 调用 C# 类库搞定,三步即可,可以调用任何类及方法,很简单,非常爽啊 java 调用 C# 类库搞定,可以调用任何类及方法,很简单,非常爽啊 总体分三步走: 一.准备一个 C# 类库 (d ...

  2. Java三行代码搞定MD5加密

    Java三行代码搞定MD5加密 https://www.dexcoder.com/selfly/article/4026 public class MD5Test { public static vo ...

  3. 自学java难吗?一个JAVA学习者应该具备的素质

    无论是在校的学生也好,还是转行的也好,如今学JAVA开发的人越来越多,造成了如今新手越来越多,有人说前端饱和了,JAVA饱和了,JAVA才刚开始以一种好的势头发展就饱和了.我也是无语,一般说饱和的人, ...

  4. Java三行代码搞定MD5加密,测试5c短信网关的demo

    看到之前项目中,关于MD5加密的足足写了一个辅助类. 其实在Java中大部分都帮你实现好了,完成MD5加密,主要就三行代码: /** * 对字符串md5加密 * * @param str * @ret ...

  5. Elasticsearch JAVA api轻松搞定groupBy聚合

    本文给出如何使用Elasticsearch的Java API做类似SQL的group by聚合. 为了简单起见,只给出一级groupby即group by field1(而不涉及到多级,例如group ...

  6. Java并发:搞定线程池(中)

    向线程池提交任务 1.1 execute()     用于提交不需要返回值的任务,所以无法判断任务是否被线程池执行成功.输入的是一个Runnable实例. public void execute(Ru ...

  7. Java并发:搞定线程池(上)

    原文地址:https://www.nowcoder.com/discuss/152050?type=0&order=0&pos=6&page=0 本文是在原文的基础+理解,想要 ...

  8. 搞定thrift双向消息

    thrift作为脱胎于facebook的rpc框架,各方面都非常优秀.清晰的分层设计,多语言的支持,以及不输protocolbuffer的效率(compact下优于protocolbuffer),都让 ...

  9. 春节过后就是金三银四求职季,分享几个Java面试妙招,轻松搞定HR!

    春节过后就是金三银四,分享几个Java面试妙招,轻松搞定HR! 2020年了,先祝大家新年快乐! 今年IT职位依然相当热门,特别是Java开发岗位.软件开发人才在今年将有大量的就业机会.春节过后,金三 ...

随机推荐

  1. 80端口被system占用

    # 开始 今天配置wampserver 3.0.6的时候 发现右下角的图标一直是红色的 经验告诉我两个服务都没有运行 # 解决思路 wampserver有两个服务 一个是 Apache 服务 一个是 ...

  2. 介绍Mobility Group

    Mobility或Roaming是无线客户端能够安全地从一个AP无缝关联到另一个AP的能力,并且延迟尽可能的短. 当无线客户端和AP关联并通过AP进行身份验证时,注册AP的WLC会将客户端条目放在自己 ...

  3. 《TCP/IP网络编程》读书笔记

    1.Windows 下的 socket 程序和 Linux 思路相同,但细节有所差别(1) Windows 下的 socket 程序依赖 Winsock.dll 或 ws2_32.dll,必须提前加载 ...

  4. java中LinkedList源码分析

    ArrayList是动态数组,其实本质就是对数组的操作.那么LinkedList实现原理和ArrayList是完全不一样的.现在就来分析一下ArrayList和LinkeList的优劣吧LinkedL ...

  5. 洛谷 P3956 棋盘(记忆化搜索)

    嗯... 题目链接:https://www.luogu.org/problem/P3956 这是一道比较好搜的题,注意一些剪枝.预处理和魔法的处理问题(回溯). AC代码: #include<c ...

  6. scrapy import CrawlSpider 报错

    from scrapy.spider import CrawlSpider 报错 import module CrawlSpider error 看了下以前一直用的scrapy0.14.1 使用的是B ...

  7. border-1px的实现(stylus)如何在移动端设置1px的border

    在这里我只介绍下边框的实现: 当样式像素一定时,因手机有320px,640px等.各自的缩放比差异,所以设备显示像素就会有1Npx,2Npx.为保设计稿还原度,解决就是用media + scale. ...

  8. Ext里dialog弹窗关闭与父窗口刷新问题总结

    1.弹出弹窗的js代码 var dlg = new J.dialog({ id: 'unDelTel', title:'缴费', page:encodeURI('<%=basePath%> ...

  9. lc 0219

    目录 ✅ 463. 岛屿的周长 描述 解答 cpp py ✅ 1122. 数组的相对排序 描述 解答 cpp py ✅ 876. 链表的中间结点 描述 解答 cpp ✅ 1160. 拼写单词 描述 解 ...

  10. component:(resolve) => require

    resolve => require(['../pages/home.vue'], resolve)这种写法是异步模块获取,打包的时候每次访问这个路由的时候会单调单个文件,按需加载,不过这种写法 ...