Java的基础知识就像我们居住的房子的地基。如果地基不稳,再宏伟的建筑也没人敢住进去。同样的,Java基础不扎实,以后很难成为真正的高手或者独立的工程师。
从Java语言本身来看,主要的学习难点集中在基础部分,所以Java基础部分的学习通常是整个Java语言学习的重点。
Maven也需要提前安装配置,因为如果后期进阶的话,需要一些训练项目,而且一般都需要Maven加载第三方类库。
用集成开发环境IntelliJIDEA敲Java代码,比Eclipse流行。千万不要用记事本写源代码。对小白来说,时间是宝贵的。记事本不适合小白编程(入门)。
有了IDEA,以后学习源代码,包括反编译字节码,会方便很多。
如果你英语不好,建议安装这两个IDEA插件:中文和翻译。如果关注编码规范,建议安装这两个IDEA插件:阿里巴巴和SonarLint。为什么还需要GitHub仓库或者码云仓库呢?他们可以用来同步在线云中的源代码,以防止版本丢失。学习结束,还可以形成自己的工具库,轮子就在那里了。上班的时候工作效率会高很多,可以直接用的代码永远不用重写。
书的话,我推荐两本,一本 《Java核心技术卷》 ,一本 《HeadFirstJava》 。0103 010分为上下两卷,第一卷难度较小,可以在最短的时间内完成,尤其是C语言的编程基础之后,可以说再刷一遍这本书很容易。下册涉及的内容有streams and files(),XML,network(),数据库编程,国际化,Swing,AWT,JavaBean,security(),脚本编译和注释处理,分布式对象,本地方法(),没有星号的内容我觉得可以跳过。《Java核心技术卷》比较有意思,小游戏很多,书也很活泼。这两本书在风格上有很大的不同。之前有读者给我反馈,说《HeadFirstJava》有点失控,选《HeadFirstJava》吧。
视频的话,推荐看这个动力节点的Java零基础,适合Java小白入门,基础+进阶都有。www.bilibili.com/video/BV1Rx411876f
八种基本数据类型(boolean、char、byte、short、int、long、float、double)的整形中byte、short、int、long的取值范围为什么不能用& quot==& quot要比较浮点数的基本类型和封装类型的区别?2)操作符,自动解包和装箱整数的缓存机制。
算术运算符逻辑运算符比较运算符3)流程控制语句
条件分支(if/else/elseif、三元运算符、switch)循环或遍历(for、while、do-while)中断并继续4)包.
创建包导入包全名5)main方法详解
Public关键字static关键字void关键字main方法字符串数组参数(string[]args)6)数组
什么是数组?访问数组遍历数组打印数组可变参数数组排序数组变成流数组变成列表数组搜索java.util.Arrays数组遍历7)注释.
单行批注多行批注文档批注批注真的不会执行吗?优秀的程序员真的不写注释吗,8)字符串?
为什么双引号字符串和new string对象字符串是不可变的?字符串、StringBuilder和StringBuffer的区别字符串拼接的几种方式字符串常量池关于intern字符串比较(==and equals)字符串拆分字符串操作技巧字符串变换生成的UUID字符串可以通过引用传递吗?关于子串
面向对象和面向过程的封装继承了多态接口、抽象类重写和重载构造方法、局部变量、成员变量、静态变量、常量值传递或引用传递fi。
nal关键字this关键字super关键字不可变对象equals()和hashCode()打印Java对象NullPointerException2)常用工具类
字符串相关的工具类日期时间相关的工具类枚举随机数正则表达式Apache-commons工具库Guava工具库3)集合框架
ArrayListLinkedListArrayList和LinkedList之间的区别不可变ListCopyOnWriteArrayListHashMapLinkedHashMapTreeMapConcurrentHashMapfail-fast4)反射机制
什么是反射?反射有什么用?Class类5)异常处理
为什么需要异常处理机制?Error和Exceptiontry-catch-finallytry-with-resource自定义异常尽量捕获原始异常不要打印堆栈后再抛出异常不要用异常处理机制代替判断不要过早捕获异常6)注解
注解是什么?注解的生命周期注解装饰的目标自定义注解使用注解7)IO流
字符流、字节流输入流、输出流同步、异步阻塞、非阻塞BIO、NIO和AIONIO2.08)序列化
什么是序列化和反序列化Java如何实现序列化和反序列化Serializbale和ExternalizableserialVersionUID9)泛型
什么是泛型?类型擦除泛型带来的问题泛型中KTVE这些特殊字幕的含义通配符上下界限定符extends和super不要在集合中使用Java原始类型10)单元测试
JunitTestNG11)编码方式
ASCIIUnicodeUTF-8GBK、GB2312如何解决乱码问题12)并发编程
什么是并发什么是并行什么是线程什么是进程线程的状态线程的优先级创建线程创建线程池什么是线程安全多级缓存和一致性问题CPU时间片和原子性问题指令重排和有序性问题线程安全和内存模型happens-before可重入锁阻塞锁乐观锁悲观锁分布式锁CASABA偏向锁轻量级锁重量级锁自旋锁什么是死锁如果避免死锁synchronizedvolatileThreadLocalExecutorsCountDownLatchThreadRunnableCallableReentrantLockReentrantReadWriteLockAtomic相关类13)Java8新特性
Lambda表达式Stream流Optional14)源码阅读
StringIntegerArrayListLinkedListCopyOnWriteArrayListHashMapTreeMapLinkedHashMapConcurrentHashMapCopyOnWriteArrayList技术是没有终点的,也是学不完的。
最重要的是在自学的过程中,一定不要眼高手低,要实战,把学到的技术投入到项目当中,解决问题,之后进一步锤炼自己的技术。
自学最怕的就是缺乏自驱力,一定要自律,杜绝“三天打鱼两天晒网”,到最后白忙活一场。
高度自律的同时,要保持耐心,不抛弃不放弃,切勿自怨自艾,每天给自己一点点鼓励,学习的劲头就会很足。
上一篇:疣长什么样(把跖疣当鸡眼)
下一篇:吃什么减肥瘦身快(大吸油者)