像追女神一样学好java~
写在前面的话
● 本文适合食用的观众大老爷和小建议:
----本文内容主要是围绕java这门语言展开~
适合的食用的大老爷们:
★ 第一类:完全没学过其他编程语言入门java的小白
★ 第二类:已经学过一门语言有了编程思维的小伙伴
★ 第三类:想找到java的学习路线的小伙伴
★ 第四类:希望找到学习java的小技巧、方法的小伙伴
小建议:
★ 第一类:时间充裕的话,或者已经尝试过从零开始学java并在开始的旅途中感到吃力。建议:可以选一门同系的语言先入手做打底,例如C语言,在有了编程思维再继续杨帆启航。
★ 第二类,可能你的入门语言是常见的C或者其他,但是都不要紧,有了编程思维,起步阶段的你,就像跑酷的小人被加速磁铁吸引快速往前,但是当你来到新的知识高度时,你会觉得java比你的入门语言还难。建议:建议先快后慢,先过一遍就当复习之前的知识,在最基础的编程知识方面,这些最基础都是通用的,比如变量命名、运算符、作用域、循环结构等,简单过即可;学到面向对象,才是你入门开始,在这一阶段你除了要拥抱对象外,还需要对抽象、封装、继承、多态有一定的了解,这对你后续的学习非常重要,建议你可以多做几个有关继承、多态的小demo来帮助自己理解继承和多态。
★ 第三类:对于学习路线,我觉得小伙伴不用强迫症,知道基本路线即可,细节可以跟着学习材料(书籍或者学习视频)走,坚持沿着正确的道路走,过程不必苛求过于精细,随着阅历上去了,实力上去了,咱再回来啃硬骨头,攻克深水区。在菜鸟时期,咱的重点是学好基础,源码底层等比较有难度的知识,可以等我们成长了,再回来学习。废话不多说,咱的路线也够基本,路线细节跟着材料走即可。java基本路线: java语言 → 前端三件套html+css+js → mysql数据库 → javaweb → vue/react框架 → ssm框架 mybatis+ spring+springMVC → SSM框架整合 → Spring boot → 准备刷题,找实习,与外面的真实项目接轨
□ 建议也学一下一下内容:
♢ jQuery也可以在学习前端三件套的时候学习一下
♢ Ajax或 Axios 也可以在学习vue之后在深入,了解什么是跨域访问
★ 第四类:对于想找到学习java的小技巧、方法的小伙伴,同时,也希望小伙伴,“取其精华去其糟粕”,吸收对你有帮助的部分,因为我个人分享的方法不一定适合你,也希望小伙伴在评论区分享你认为很不错的学习技巧、方法、心得等等。对于技巧和方法,我把这部分放到文章最后了,因为一栋房子建得好,技巧只是让它更加精美,但是房主人的舒服是最重要的,基础的地基打好,住进去才有安全感。
一、初学java,就像追一个单纯的小女生,她很好懂
提起java,很多同学都知道对象是new出来的,要是单身了,是因为对象被GC了哈哈哈……开个玩笑。
■ 初学java,你只需学会:
☆ 安装一把利器eclipse或idea以及配置好jdk环境变量
☆ 了解java跨平台的原理
☆ 敲出属于你的helloWorld
☆ java基本语法、变量和数据类型
☆ 运算符、选择结构和循环结构
☆ 数组
☆ 方法
☆ 类和对象
★ 重点是数组、方法、类和对象
☆ 数组:操作数组元素、数组元素拷贝
☆ 方法:参数的值传递机制、可变参数、方法重载
☆ 类和对象:牢记“万物皆对象”思想、构造器、this指向、继承、方法覆盖、抽象方法、抽象类、Object类、接口和实现类、多态
刚入门学java的时候,我们只需牢记思想“万物皆对象”,在自己写代码的时候,思想转化成了一个个又一个的对象,是的,我们凭借对象,入了java的门,很快就会非常麻溜利索地new 对象了,然后开开心心地在自己小小的demo的世界里,做一个合格的调包侠。但是,随着学习的深入,我们的java女神也长大了些,思想不在单纯地停留在全世界皆是对象的层面,这时候我们的兴趣,我们的热情即使压力增加了,女神魅力值增加了,追求者变得更多些,但是我们对女神的爱依然是蜜月期,爱她,更想了解她……
二、再学java,就像追一个刚刚毕业的女生,她开始变得现实难搞些……
■ 再学java,你需要学会:
☆ 异常处理、线程、io流、集合框架和泛型编程、网络编程
☆ 了解一下swing
★ 重点是线程、集合框架、io流
☆ 线程:理解线程和进程、线程同步、线程安全、线程通信(生产者和消费者案例)
☆ 集合框架:泛型、Collection、List、Set、Map、Properties、Queue
☆ io流:文件类、文件拷贝、字符解码和编码、缓存流、序列化、Properties类、随机访问文件
在起步阶段,知识少而简单,java女神就像一个天真的小女生,很好懂,非常好接触。但是java女神也会毕业,她开始变得现实。不过这时候的女生也很年轻,现实些也能理解,毕竟经济基础决定上层建筑,想要长久发展,咱学,学学学,学好集合、io流、线程,让我们继续跟女神一起毕业……
三、深入java,就像追一个刚踏入遭受过社会毒打的女生,撩拨她需要用对套路……
■ 深入java,你需要学会:
☆ 反射机制、内省机制、代理模式、注解
☆ 了解java特性-lambda表达式、接口默认方法等
☆ 开始扩充自己知识,往前端三件套和数据库走了
★ 重点是反射、内省、代理、注解
☆ 反射学习:什么是反射、反射操作构造器、方法、字段、反射加载资源
☆ 内省机制:操作javaBean的信息(重点是操作属性)
☆ 代理模式:代理原理、静态代理和动态代理区分、动态代理jdk和cglib的使用和区别、了解动态代理的运用
☆ 注解:注解三要素、自定义注解的使用、在反射中使用注解
学到此,我们的java基础已经有了,我们已经熟悉java女神的一颦一笑,懂得java女神的各种小心机,但是负责任、有担当的我们是想给女神一个更好的未来,即使有所留恋,但是我们需要往外走,往外扩展新世界,去了解前端女神,mysql女神,mybatis女神……未来还没来,但是我们看到更多的女神已经在前方向我们挥手,兄弟,穿上你的战服,拿上你的剑,走你……
四、分享撩拨java女神的高级套路
■ 这里咱以反射为例,讲清学习的三部曲:
第一步:先了解反射是什么、有什么作用
★ 先了解反射是什么?[简单理解和比较官方的了解]
- 简单理解:反射,就是得到类(这种对象的)类 [ java.lang.Class],得到类的元数据的过程。
- 在运行时期,动态地区获取某个类中的成员的信息(构造器、方法、字段、内部类、接口、父类等等)。
★ 了解反射有什么用?
- 得到类(这种对象的)类【lang.Class】,即得到类的信息(构造器、方法、字段、内部类、接口、父类等等)。
第二步:抓住核心类,作为学习突破口,方便顺藤摸瓜
♢ 细节:先关注核心类所在的包
反射的核心类Class是在lang包
在这一步,牢记作用+见名知意
- 反射的核心类----Class,拥有类有关的一切信息(构造器、方法、字段、内部类、接口、父类等等)。
牢记反射的作用是得到类的信息(构造器、方法、字段、内部类、接口、父类等等),则反射的核心类作用就是反射的作用,所以我们可以在反射的接口文档中找到所有有关类信息的接口方法,结合见名知意,例如,我们可以找到获取构造器的方法是:getConstructor,找到方法的方法是:getMethod……
第三步:关心怎么使用反射
● 举例:使用反射来获取一个类的构造器,并通过构造器创建对象的步骤:
1)找到构造器所在类的字节码对象
2)获取构造器对象
3)使用反射创建对象(调用构造器的方法创建对象)
♢ 在使用反射创建对象的过程,学到的细节:
- 获取构造器的有两个方法getConstructor 和 getDeclaredConstructor 的使用场景。
- 当一个类中的构造器可以被外界访问同时没有参数,可以直接使用Class类的newInstance方法创建对象
五、分享撩拨java女神的小心机
学习材料的选择,看书or 看视频?
我觉得并不矛盾,看个人喜好,视频和书籍可以一起结合麻,没必要区分个孰优孰坏的,重点是理解和动手实践。
说说我的学习方式:我是以看视频为主,看书为辅,作为课外知识充电。因为我这个看书,看那种不正经的书可是非常兴致勃勃的哈哈哈,正经书,我也看,看得不多哈哈哈。
分享两个看视频的小技巧
看视频比较多的我,有两个小技巧要跟小伙伴分享:一个是看视频的倍数,可以选择1.5或者2倍速,一开始,我不习惯是加速,选择了1.5倍速,后边看番剧多了,习惯2倍速,学习视频也变2倍速了哈哈哈。在学习过程中遇到一个知识点,听起来感觉懵懵懂懂的时候,我会选择降速重新听该知识点,减到1.25倍速,然后再听一遍,实在还是听不懂该知识点,我就正常速度听两遍。还是听不懂,我选择放弃(做人需要学会放弃,才有机会重来),后边再来。
另外一个小技巧是一个知识点学完,就模仿敲出一个知识点的代码,不是全听完视频,也不是跟着视频的老师同时敲,我选择等他这个知识点完全讲完,代码也敲完,我暂定一下视频,然后记记笔记,立马模仿敲出该知识点的代码。
写在后面的话
如果你觉得一乐的文章给您带来了一些收获,可以给个三连,一乐会一如既往地更新有价值的博客。如果文章存在错误,也欢迎大家指出。还有,如果大家有什么好的学习技巧、学习感悟,也非常欢迎大家在评论区一起交流~
最后感谢大家的支持,谢谢~
像追女神一样学好java~的更多相关文章
- Java小白如何一步步学好Java,听听企业Java培训师的实践经验吧
今天我准备给小主展示一篇Java培训老师的文章,希望能给Java小白一个学好Java的路径或者提示.以下就是原文: 从大学到现在,我使用Java已经将近20年,日常也带实习生,还在公司内部做train ...
- 怎样才能自学好Java?
经常有初学Java的同学问:怎么样才能学好Java?自学Java难吗? 我认为自学Java并不难.相对于其他语言来说,因为Java95年才出来,所以相对比较新,旧的语言中一些不合适的东西在Java里面 ...
- 如何学好JAVA编程
我的思路: 1.我觉得先学学JSP,用纯JSP做个日记本简单的小系统,纯粹从语言层面上了解一些基 础知识,把tomcat玩熟了,就用记事本编就行,主要是熟悉,能够理解jsp运行机制.然 ...
- 我们如何学好java
转载:http://www.zhihu.com/question/19945685 马士兵有一篇文章,我觉得写得很好,原文转载如下,希望题主可以好好读读. ---------------------- ...
- 零基础6个月学好java月薪1w+看看他是怎么学好java的
21世纪进入信息时代,信息科技给人类的生产和生活方式带来了深刻的变革,信息产业已成为推动国家经济发展的主导产业之一,Java作为含金量极高的一门IT技术,很多人希望从事这个行业,那么想学好Java,要 ...
- 要学好JAVA要注意些什么?
从自学开始到参加系统的学习JAVA已经差不多有1个月了的时间了,在这段时间以前我也和很多人一样在网上盲目的搜罗一些视频来自己啃,随着时间的积累,对JAVA的认识也有了一定的提升,之前可能因为在IT咨询 ...
- 如何学好Java大数据并快速提升
Java作为一种最流行的,最热门的编程语言,可以说它无处不在,目前全球有着数十亿的设备正在运行着Java,很多服务器程序都是用Java编写,用以处理每天超过数以千万的数据.无论是手机软件.手机Java ...
- 0基础小白怎么学好Java?
自身零基础,我们应该先学好Java,小编给大家介绍一下Java的特性: Java语言是简单的 Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java.Java丢弃了C+ ...
- Java教程到处都是,究竟怎样能学好Java?
学习Java如何入门?学习教程要点是什么?如何精通?做好以下这些点,入门更快,掌握Java更轻松. Java必备基础知识 1.你需要精通面向对象分析与设计(OOA/OOD).涉及模式(GOF,J2EE ...
随机推荐
- golang中通过bufio和os包读取终端中输入的一行带空格的数据
1. 如果读取不带空格的数据可以使用fmt.Scan或fmt.Scanln读取一个或多个值,但是不能读取带空格的数据,可以使用bufio和os两个包结合 package main import ( & ...
- IoC容器-Bean管理XML方式(创建对象和set注入属性,有参构造注入属性)
Ioc操作Bean管理 1,什么是Bean管理 (0)Bean管理指的是两个操作 (1)Spring创建对象 (2)Spring注入属性 2,Bean管理操作有两种方式 (1)基于xml配置文件方式实 ...
- 负载均衡后端状态(proxy_next_upstream 后端错误标识)
目录 一:负载均衡后端状态 二:down(无论什么情况不会分配流量) 三:backup(备用只有当所有的机器宕机(关闭)才能启动备份服务器) 四:max_fails.fail_timeout(结合使用 ...
- 人口信息普查系统-JavaWeb-四
今天给大家分享前端人口登记页面,人口查询页面 人口登记 <%@ page language="java" contentType="text/html; chars ...
- X000101
P3879 [TJOI2010]阅读理解 考虑用 Trie 解决 #include<stdio.h> #include<bitset> #include<string.h ...
- 「JOI 2014 Final」裁剪线
做法一 首先将边界也视作四条裁剪线,整个平面作为一张纸,视存在 \(y = -\infty, y = +\infty, x = -\infty, x = +\infty\) 四条直线. 按照纵坐标依次 ...
- buid-helper-maven-plugin简单使用
简介 官方文档 https://www.mojohaus.org/build-helper-maven-plugin/index.html 常用的Goals 名称 说明 build-helper:ad ...
- rabbitmq-direct(直接交换模式)
生产者和消费者,具有相同的交换机名称(Exchange).交换机类型和相同的密匙(routingKey),那么消费者即可成功获取到消息.(PS:相对比只要交换机名称即可接收到消息的广播模式(fanou ...
- 如何使用C++开发PHP扩展(下)
更多的情况是业务中已经有独立的 api 库,形式为 libxxx.a / libxxx.so,PHP程序中需要调用这些 api,所以这时就要编写PHP扩展来实现.这时是使用静态库 libxxx.a , ...
- 增删改查简单的sql语句
insert INSERT INTO t_stu (name,age) VALUES ('wang',12) INSERT INTO t_stu VALUES(NULL,' ...