入门
今天周六, 在家闲来无事, 多写俩篇博客(本想说成写文章, 但想了想该文实在承担不起文章二字, 便罢) 把最近看到的和想到的记录一下(恰好也把俩三年前写博客的热情又拾了起来).
经常在知乎上看到, 有人发问, 新人如何入门Java, 新人应该读哪些Java相关的书籍, 今天来谈谈这个问题.
Java入门的话, 分析一下哪些行文算是入门
- 搭建Java开发环境
- 掌握Java基础语法(原生类型/包装类型, 变量声明, 循环控制, 方法声明/调用, 类定义, 实例化对象...)
私认为掌握上面这俩点就算Java入门了, 也不需要买什么书籍, 在网上找个教程, 或者去慕课网/B站/油管 上面找个教学教程, 利用3-5天的时间学一学就好了, 会用能记住就ok了, 不必深究语法.
上面第二点只是把当下想到的说了一下, 更多的还请参考(Java 教程).
入门之后干什么呢? 找一个自己喜欢的方向, 做个小项目练练手. 例如写一个web项目, 再学习一下下面的几个技术
- SpringBoot: 用于后台web服务器
- Mybatis: 替代原生的JDBC, 与mysql打交道的
- vue/element-ui: 写前台页面的
基本上用上面这三个技术就能写一个后台管理系统出来, 当然我也只是把我熟悉的技术写了一下, 如果你身边有其他技术栈的同学指导, 也可以采用其他的技术栈.
如果前台从0写起来比较费劲, 可以参考一个开源的前端工程vue-element-admin
随着功能的不断完善, 你对技术的理解也会不断的加深, 开发的兴趣也会不断加大. 只有对一件事情有兴趣了, 我们才想把它做好, 不是吗?
书单
我基本上没有买过/看过Java基础书, 类似于Java从入门到精通这一类的, 所以我给出的一些书单都具有一些方向性.
网络相关
- Java网络编程: 将Java中网络相关的包都讲解了一下, 写的不错
- Netty权威指南: 由于我是做游戏出身的, 工作上基本上netty就是标配了, netty对我在代码架构上有比较大的影响(各种继承, 抽象, 笑哭.jpg)
- Tomcat架构解析: 对Tomcat剖析的非常深入的一本书, Java程序员必读
- 图解TCP/IP: 同样的是一本好书, 在轻松氛围下对tcp/ip协议栈有一个比较清晰的认识, 算是tcp/ip协议栈的入门书籍吧.
- zeroc ice权威指南: 这本书其实没啥好说的, 如果公司在用ice而自己又不熟悉ice的话, 直接买来读就是了, 如果没有用, 暂时也不必入这个坑
并发相关
并发编程, 按照下面的顺序去读这三本书就好了.
- Java7 编发编程实战手册, 这本书新手读起来就不错了, 详细介绍了Java中各种并发API的使用.
- Java并发编程实战, 刚开始编程时不推荐这本书, 新人学习起来难度大一些, 概念颇多.
- 多处理器编程的艺术, 如果想要深入各种锁的实现, 并发原理的话, 这本书着实该读.
JVM相关
提到Java永远也绕不过去jvm
- Java虚拟机规范
- 深入理解Java虚拟机
- 实战Java虚拟机
- 垃圾回收的算法与实现
其他
- 算法(第四版)
- 大话数据结构
- Effective Java
目前能想到的书就这么多, 可以根据自己的兴趣和方向选择来读哈.