如何从零开始学习j**a?

Jin? 2024-05-18 16:41:03
最佳回答
我把我的学习j**a经验那出来。step 1:j**a 基础《j**a 核心技术卷 1/2》 和 《head first j**a》 这两本书在我看来都是入门 j**a 的很不错的书籍 (《j**a 核心技术卷 1/2》 知识点更全,我更推荐这本书),我倒是觉得《j**a 编程思想》有点属于新手劝退书的意思,慎看,建议有点基础后再看。你也可以边看视频边看书学习(黑马、尚硅谷、慕课网的视频都还行)。对于 j**a8 新特性的东西,我建议你基础学好之后可以看一下,暂时看不太明白也没关系,后面抽时间再回过头来看。看完之后,你可以用自己学的东西实现一个简单的 j**a 程序,也可以尝试用 j**a 解决一些编程问题,以此来将自己学到的东西付诸于实践。记得多总结!打好基础!把自己重要的东西都记录下来。 api 文档放在自己可以看到的地方,以备自己可以随时查阅。为了能让自己写出更优秀的代码,《effective j**a》、《重构》 这两本书没事也可以看看。学习完之后可以看一下关于 j**a 基础你不得不会的 34 个问题 ,检测一下自己的掌握情况,这 34 个问题都时 j**a 中比较重要的知识点,最重要的是在 j**a 后端面试中的出场率非常高。step 2:多线程的简单使用多线程这部分内容可能会比较难以理解和上手,前期可以先简单地了解一下基础,到了后面有精力和能力后再回来仔细看。推荐《j**a 并发编程之美》 或者 《实战 j**a 高并发程序设计》 这两本书。j**a 多线程知识基础:什么是线程和进程?请简要描述线程与进程的关系,区别及优缺点?说说并发与并行的区别?为什么要使用多线程呢?使用多线程可能带来什么问题?说说线程的生命周期和状态?什么是上下文切换?什么是线程死锁?如何避免死锁?说说 sleep() 方法和 wait() 方法区别和共同点?为什么我们调用 start() 方法时会执行 run() 方法,为什么我们不能直接调用 run() 方法?j**a 多线程知识进阶:synchronized **:①说一说自己对于 synchronized **的了解;②说说自己是怎么使用 synchronized **,在项目中用到了吗;③讲一下 synchronized **的底层原理;④说说 jdk1.6 之后的 synchronized **底层做了哪些优化,可以详细介绍一下这些优化吗;⑤谈谈 synchronized 和 reentrantlock 的区别。volatile **: ①讲一下 j**a 内存模型;②说说 synchronized **和 volatile **的区别。threadlocal:①简介;② 原理;③ 内存泄露问题。线程池:①为什么要用线程池?;②实现 runnable 接口和 callable 接口的区别;③ 执行 execute() 方法和 submit() 方法的区别是什么呢?;④ 如何创建线程池。**ic 原子类: ①介绍一下 **ic 原子类;② juc 包中的原子类是哪 4 类?;③ 讲讲 **icinteger 的使用;④ 能不能给我简单介绍一下 **icinteger 类的原理。aqs :①简介;②原理;③ aqs 常用组件。step 3(可选):操作系统与计算机网络操作系统这方面我觉得掌握操作系统的基础知识和 linux 的常用命令就行以及一些重要概念就行了。我没啥操作系统方面的书籍可以推荐,我推荐一个 github 上开源的哈工大《操作系统》课程给大家吧!地址:https://github.com/hoverwinter/hit-oslab 。对于 linux 我们要掌握基本的使用就需要对一些常用命令非常熟悉比如:目录切换命令、目录操作命令、文件的操作命令、压缩或者解压文件的命令等等。计算机网络方面的学习,我觉得掌握基本的知识就行了,不需要太深究,一般面试对这方面要求也不高,毕竟不是专门做网络的。推荐 《网络是怎样连接的》 、《图解 http》 这两本书来看,这两本书都属于比较有趣易懂的类型,也适合没有基础的人来看。step 4(可选):数据结构与算法如果你想进入大厂的话,我推荐你在学习完 j**a 基础或者多线程之后,就开始每天抽出一点时间来学习算法和数据结构。为了提高自己的编程能力,你也可以坚持刷 leetcode。就目前国内外的大厂面试来说,刷 leetcode 可以说已经成了不得不走的一条路。对于想要入门算法和数据结构的朋友,建议看这两本书 《算法图解》 和 《大话数据结构》,这两本书虽然算不上很经典的书籍,但是比较有趣,对于刚入门算法和数据结构的朋友非常友好。《算法导论》 非常经典,但是对于刚入门的就不那么友好了。另外,还有一本非常赞的算法书推荐给各位,这本书的名字就叫《算法》,书中的代码都是用 j**a 语言编写。这本书的优点太多太多比如它的讲解基础而全面、对阅读者比较友好等等。我觉得这本书唯一的缺点就是太厚了 (小声 bb,可能和作者讲解某些知识点的时候优点啰嗦有关)。除了这本书之外,《剑指 offer》 、《编程珠玑》 、《编程之美》 这三本书都被很多大佬推荐过了,对于算法面试非常有帮助。《算法之美》 这本书也非常不错,非常适合闲暇的时候看。其他算法资源,详情见从入门到修仙的算法之路step 5:前端知识这一步主要是学习前端基础 (html、css、j**ascript),当然 bootstrap、vue 等等前端框架你也可以了解一下。网上有很多这方面资源,我只推荐一个大部分初学这些知识都会看的网站:http://www.w3school.com.cn/ ,这个网站用来回顾知识也很不错 。推荐先把 html、css、js 的基础知识过一遍,然后通过一个实际的前端项目来巩固。step 5:mysql学习 mysql 的基本使用,基本的增删改查,sql 命令,索引、存储过程这些都学一下吧!推荐书籍 《sql 基础教程(第 2 版)》(入门级)、《高性能 mysql : 第 3 版》(进阶)、《mysql 必知必会》。mysql 学习资源推荐以及重要知识点总结: (修订)mysql优化/面试,看这一篇就够了step 6:m**en建议学习常用框架之前可以提前花半天时间学习一下m**en的使用。(到处找 jar 包,下载 jar 包是真的麻烦费事,使用 m**en 可以为你省很多事情)step 7:常用框架学习 struts2(可不用学)、spring、springmvc、hibernate、mybat**、shiro 等框架的使用, (可选) 熟悉 spring 原理(大厂面试必备),然后很有必要学习一下 springboot。我也遇到很多公司对于应届生直接上手springboot,不过我还是推荐你把 spring、springmvc 好好学一下。spring 真的很重要! 一定要搞懂 aop 和 ioc 这两个概念。spring 中 bean 的作用域与生命周期、springmvc 工作原理详解等等知识点都是非常重要的,一定要搞懂。推荐看文档+视频结合的方式,中途配合实战来学习。step 8:高性能网站架构学习 dubbo、zookeeper、常见的消息队列(比如activemq、rabbitmq)、red** 、elasticsearch 的使用(这些东西可以通过黑马视频最后一个分布式项目来学,边看视频,边自己做,查阅网上博客,效果更好)。一定要学会拓展知识,养成自主学习的意识。黑马项目对这些知识点的介绍都比较蜻蜓点水。step 9:其他可以再回来看一下多线程方面的知识,还可以利用业余时间学习一下 nio 和 netty ,这样简历上也可以多点东西。如果想去大厂,jvm 的一些知识也是必学的(j**a 内存区域、虚拟机垃圾算法、虚拟垃圾收集器、jvm 内存管理)推荐《深入理解 j**a 虚拟机:jvm 高级特性与最佳实践(最新第二版》和《实战j**a虚拟机》,如果嫌看书麻烦的话,你也可以看我整理的文档:。另外,现在微服务特别火,很多公司在面试也明确要求需要微服务方面的知识。如果有精力的话可以去学一下springcloud生态系统以及其他微服务常用框架。总结我上面主要概括一下每一步要学习的内容,对学习规划有一个建议。知道要学什么之后,如何去学呢?我觉得学习每个知识点可以考虑这样去入手:官网(大概率是英文,不推荐初学者看)、书籍(知识更加系统完全,推荐)、视频(比较容易理解,推荐,特别是初学的时候)、网上博客(解决某一知识点的问题的时候可以看看)。这里给各位一个建议,看视频的过程中最好跟着一起练,要做笔记!!! 最好可以边看视频边找一本书籍看,看视频没弄懂的知识点一定要尽快解决,如何解决?首先百度/google,通过搜索引擎解决不了的话就找身边的朋友或者认识的一些人。另外,一定要进行项目实战!很多人这时候就会问没有实际项目让我做怎么办?我觉得可以通过下面这几种方式:在网上找一个符合自己能力与找工作需求的实战项目视频或者博客跟着老师一起做。做的过程中,你要有自己的思考,不要浅尝辄止,对于很多知识点,别人的讲解可能只是满足项目就够了,你自己想多点知识的话,对于重要的知识点就要自己学会去往深出学。github 或者码云上面有很多实战类别项目,你可以选择一个来研究,为了让自己对这个项目更加理解,在理解原有代码的基础上,你可以对原有项目进行改进或者增加功能。自己动手去做一个自己想完成的东西,遇到不会的东西就临时去学,现学现卖。做项目不光要做,还要改进,改善。另外,如果你的老师有相关 j**a 后台项目的话,你也可以主动申请参与进来。一定要学会分配自己时间,要学的东西很多,真的很多,搞清楚哪些东西是重点,哪些东西仅仅了解就够了。一定不要把精力都花在了学各种框架上,算法和数据结构真的很重要! 20210311
汇率兑换计算器

类似问答
  • 如何从零开始学习期货?
    • 2024-05-18 23:40:46
    • 提问者: 未知
    最简单的方法,你找个期货公司投资一下,你可以在那学习一段时间,可以在那看操盘手操作。其实期货很简单,极其容易上手,而且风险方面比股票小,可能在今年**就会发行...
  • 如何从零开始学习四级英语?
    • 2024-05-18 08:01:37
    • 提问者: 未知
    我四级考了523分,不算是很好的成绩,但就过来人还是想结合自己考四级的经验和你讲一些技巧,因为以前的我跟题主你一样,也是一点基础都...巨微英语的《四级真题逐句精解》...
  • 如何从零开始系统的学习炒股?
    • 2024-05-18 12:22:11
    • 提问者: 未知
    系统的学习?还真不知道怎么回答。目前我认为有用的东西一张纸就能都写完了。最终想想自己的过程我给你的…
  • 小白如何从零开始自学装机?
    • 2024-05-18 14:42:55
    • 提问者: 未知
    网游 股票 高端办公 影音 请选i3 单机游戏 视频制作 请选i5 高端用户 土豪 请选i7 请选择合适的型号:(ix 后面的数字) 同系列的 ...一般办公 上网 炒股 网游用500g就够了 ...
  • 该如何从0(绝对的零)开始学习slam?
    • 2024-05-18 13:26:53
    • 提问者: 未知
    3、熟悉c++编程,能看懂会使用c++11新特性(已提供pdf教程、视频教程) 4、熟悉clion集成开发环境(已提供安装、调试视频教程) 5、熟练掌握计算机视觉库opencv 6、熟练...
  • 如何从零开始系统的学习项目管理?
    • 2024-05-18 12:55:56
    • 提问者: 未知
    有学习项目管理的需求说明你已经在项目中,需要提高某种技能才能更好地发展,所以可以投入时间精力参加正…
  • 23岁重新开始学英语,应该如何从零开始系统学习?怎么规划?
    • 2024-05-18 00:28:59
    • 提问者: 未知
    听到老师们讨论一位年过40的家长为孩子自学英语的故事,“他从音标开始记的,花了4个月,发音虽然不标准,但已经可以...其中有全套新概念课本pdf文档、全套新概念的精讲视频、...
  • 怎么从零开始学习财务知识?
    • 2024-05-18 22:20:54
    • 提问者: 未知
    想利用业余时间学习一下,请推荐一些比较易于理解的书籍和好的网站
  • 如何从零开始学习股票知识?炒股容易吗?
    • 2024-05-18 12:52:18
    • 提问者: 未知
    还可以吧 慢慢学 炒到老 学到老 学会休息 学会自己寻找市场中的机会 不要让市场给你创造机会
  • 如何从零开始学习服装陈列?
    • 2024-05-18 04:22:44
    • 提问者: 未知
    本人金融学专业毕业,但是因为热爱服装进入一家女装公司做时尚买手,同时负责店面陈列。由于并非科班出身…
汇率兑换计算器

热门推荐
热门问答
最新问答
推荐问答
新手帮助
常见问题
房贷计算器-九子财经 | 备案号: 桂ICP备19010581号-1 商务联系 企鹅:2790-680461

特别声明:本网为公益网站,人人都可发布,所有内容为会员自行上传发布",本站不承担任何法律责任,如内容有该作者著作权或违规内容,请联系我们清空删除。