css基础教程,现在没有任何计算机基础

伏羲号

css基础教程,现在没有任何计算机基础?

高三,又是一个关乎自己命运得一个节点,高考过后选择自愿难坏了多少仁人志士,但是不管多难,还是根据自己的情况自己做选择,成为新一代 00 后成年后的第一个选择。虽然高考和大学不能决定你的人生,但不能否认的是,很少有哪个 4 年会像大学的 4 年一样重要。

css基础教程,现在没有任何计算机基础

IT 专业 作为眼下最热门和抢手的专业,每年都会吸引一大批考生、家长,特别是理工科学子的青睐。在这篇文章中,我们收集了一些过来人的建议,希望对想进入 IT 行业的学子有所帮助。

这些建议分为下面几个方面:

普遍性问题(如何选择志愿)

IT 专业有哪些学科,有什么不同?

如果让我重新学一次计算机,我会这样学…

01 选择专业之前

在选择专业之前,你可能需要先了解一下这些内容:

一、你的家庭背景

选择专业前,先考虑一下,你的家庭在该行业是否有一定的资源和背景?

“富学金融,穷写代码” 并非只是一句调侃,学习 IT 类专业,只要你技术硬、肯钻研,就往往能安身立命,取得不错的成绩;但像金融、医学这一类专业,有没有背景、资源的区别会比其他专业更大。

二、兴趣很重要,但不一定要把兴趣当作专业

几乎所有人都会告诉你,兴趣很重要,学习自己讨厌的专业是不会有什么成就的。我也认同这个观点,但 这并不意味着,喜欢什么就要把它当成专业去学、当成事业去做。

当只是兴趣时,你可以自由唱歌、写作、画画、游戏,但兴趣一旦变成任务、职业,你仅存的理想国也可能会变成战场,在作业、绩效、工作压力下,你很难再想起当初做这件事的快乐。

另一方面,经济条件与生活质量的关联更大。(说难听一点,对大多数人来说,钱才是最大的兴趣)学历不如你,也没有你聪明、努力的人,毕业后的收入却可能是你的 2 - 5 倍,相信没有多少人能对这种落差无动于衷。

那么多人毕业后,又报名培训班学习编程、设计等热门职业,也是出于这个原因。搜索一下「人工智能」和「普通文科」专业应届毕业生的薪资,你能直接感受到这种落差:

(人工智能专业应届毕业生的薪资,招聘人数也远超其他职位)

所以,兴趣诚可贵,但不如:选择一个不讨厌,又能给自己带来更好生活的专业吧。

三、试着自己作出决定

如果你是传统家庭出身,请 谨慎谨慎谨慎 参考家里长辈的意见,多问问年轻一辈的朋友,或者先去知乎上了解一下。

这个时代发展的太快,很多长辈对世界的认知是停滞不前的。为了子女的安稳,他们会倾向于让孩子进入“铁饭碗”行业,如 财务、会计、翻译、传媒类,但毕业后,你可能会发现这些职位的需求已经很少很少了,人工智能取代了大部分基础的、重复性的工作。

下图是一份由 美国国家劳工统计局、麦肯锡全球研究院 带来的,全球职位自动化潜力的评估报告,大量工作

02 IT 专业的划分

IT 专业可分为 软件和硬件 两大类,下面又细分出 「信息工程、软件工程、通信工程、计算机科学与技术」等小类,它们学的内容和就业方向分别有哪些不同?

电子信息类

电子信息类是集电子设备与信息系统设计、开发、应用和集成于一体的专业,目前国内排名前5的高校依次是:清华大学、电子科技大学、西安电子科技大学、北京邮电大学、东南大学。下面对其中的热门专业具体介绍:

1. 电子信息工程

主要学科:电子科学与技术、信息与通信工程

主要专业课程:信号与系统、电路分析、C语言、通信技术等。

就业方向:毕业生可从事雷达、导航、通信、制导等各种电子信息系统的研究、设计、制造和管理工作。

就业难易度:★★★★

专业待遇:★★★★

专业前景:★★★★

2. 通信工程专业

主要学科:信息与通讯工程、电子科学与技术、计算机科学与技术。

主要专业课程:电路理论与应用系列课程、计算机技术系列课程等。

就业方向:在施工单位做技术和项目管理;各省电信工程局;各大通信科研院所;通信咨询和设计单位;各大运营商(移动、联通、电信)从事工程管理、设备和线路维护、技术支持等工作;各大通信设备企业(华为、中兴)从事工程管理、工程督导等工作。

就业难易度:★★★★★

专业待遇:★★★★

专业前景:★★★★

3. 信息工程专业

主要学科:信息与通讯工程、控制科学与工程、计算机科学与技术。

主要主要课程:电路与系统、信号与线性系统、通信电子线路等。

就业方向:在工业与电子工程有关的运动控制、工业过程控制、电气工程、电力电子技术、检测与自动化仪表等领域从事工程设计、系统分析、系统运行、研制开发等工作。

就业难易度:★★★★

专业待遇:★★★★

专业前景:★★★★

计算机大类

计算机大类专业体现了计算机硬件与软件相结合,面向系统,侧重应用。计算机相关专业是目前最炙手可热的专业类别之一,行业待遇非常好,人才缺口大,但也有工作压力大、更新换代快的问题。其包含的专业有计算机科学与技术、软件工程专业等。目前国内计算机专业大类排名前5的高校依次是:清华大学、北京大学、北京航空航天大学、上海交通大学、浙江大学。具体专业介绍如下:

1. 计算机科学与技术专业

主要学科:计算机科学与技术

主要专业课程:程序设计基础、面向对象程序设计、数据结构等

就业方向:毕业生的职业发展道路基本上有两条:一是纯技术路线:信息产业是朝阳产业,对人才提出了更高的要求,因为这个行业的特点是技术更新快,这就要求从业人员不断补充新知识,同时对从业人员的学习能力的要求也很高;二是有技术路线转型为管理:这种转型尤常见于计算机行业,如编写程序,是一项脑力劳动强度非常大的工作,随着年龄的增长,很多从事这个行业的专业人才往往会感到力不从心,因而由技术人才转型到管理类人才不失为一个好的选择。

就业难易度:★★★★★

专业待遇:★★★★★

专业前景:★★★★

2. 软件工程专业

主要学科:软件工程

主要专业课程:程序设计语言、数据结构、编译技术、软件体系结构等。

就业方向:简单的管理信息系统开发和维护人员、网页制作和客户端脚本程序编写人员、初级数据库管理和维护人员、数据库开发工程师、系统分析设计工程师等。程序员是目前国内平均待遇最高的行业之一,大型科技企业如腾讯、阿里巴巴、百度、华为等对计算机、软件相关专业人才需求量十分大,进入这些大型企业不仅待遇好,也有保障。

就业难易度:★★★★★

专业待遇:★★★★★

专业前景:★★★★

3. 智能科学与技术(人工智能)

主要专业课程:智能科学技术导论、人工智能原理、智能机器人、智能游戏、模式识别、数据挖掘、自然语言处理等

就业方向:以智能化为标志的现代信息社会,对智能科学与技术人才有着巨大的需求。毕业生可在高校、科研单位和中外企业的研究中心,直接从事智能信息处理和计算机科学等相关领域的研究工作,或者在外企、IT公司及其他大型公司从事智能应用系统及计算机工程的研发等。

就业难易度:★★★★★

专业待遇:★★★★★

专业前景:★★★★★

了解完这些之后,建议多问一下亲戚朋友计算机毕业他们的工作情况,和对计算机的想法,在结合自己的现实情况做判断!

希望对你有帮助

想学app开发?

Android App开发

1.掌握语言

Java和XML是Android App开发中使用的两种主要编程语言。因此,对这些编程语言的了解和掌握是开发Android应用程序的先决条件。Java编程语言的一些基础知识包括:

配套对象和类继承与接口字符串和数字,泛型,Collections并发

对Java和XML的正确理解将帮助你构建/开发更强大,android应用,当然现在iOS和Android端应用基本是公司app开发的标配,操作系统移动设备碎片化也苦了一众开发者,需要不厌其烦的去给不同的设备系统做适配,将大量的时间浪费在简单又重复的事情上,最近今年的多端开发的流行,极大的改善了这一状况,以APICloud Studio来说,可以支持多端编译,无论是面向Android、iOS、Web、App还是小程序打造应用, Studio3都能快速编译对应终端的代码。

AVM语法和扩展API支持等等功能,如果有兴趣也是可以了解下的。

2.熟悉正确的应用程序开发工具和环境

如果要进行Android App开发,那么在开始开发应用程序之前,熟悉构建自动化工具以及集成开发环境非常重要。可以使用Android app studio IDE或Eclipse作为工具;通过这些你可以学习基础知识以及许多其他有助于改进代码的内容。也可以学习Apache Maven,Apache Ant和Gradle、APICloud Studio因为它们提供了一组功能强大的工具来帮助您管理构建。

熟悉源代码控制工具和概念也很重要。学习git,然后创建git-source存储库(通过在Bitbucket或GitHub上创建一个帐户)。要了解平台运行的基本概念和术语,可以使用Git Pocket Guide。

3.有关应用程序组件的知识

应用程序组件是Android应用程序开发的基本组成部分。每个组件都是一个不同的点,系统可以通过该点进入应用程序。尽管它们中的每一个都作为自己的实体存在并扮演特定的角色,但是有一些相互依赖,并不是所有的对象都是实际的切入点。

4.对碎片,Android应用程序,线程,加载程序和任务的意识

Android是一个分散的市场,具有许多不同的设备和操作系统版本。如果你的设备支持更多的设备和/或版本,则肯定需要更多的维护和测试以及相关费用。反之亦然。你还需要适当的字体,素材资源和布局,这将有助于确保在各种屏幕特征中获得最佳的体验。你还应该考虑android支持的传感器或UI设施的数组。所有android应用程序都有一个应用程序类,一个或多个活动以及一个或多个片段。

有时,你可能会为应连续运行的后台任务提供服务,但有时可能没有。如果你想提供出色而流畅的用户界面,请始终确保永远不会阻塞线程。因此,长操作(计算,I / O,网络等)应全部在后台异步运行(主要在不同的执行线程上)。这就是为什么学习Java语言并发工具很重要的原因。

5.正确选择所需工具

Android应用程序开发所需的简单工具仅是Mac或Windows PC,任何类型的Linux,Eclipse,ADT插件和Android SDK,所有这些都是免费的。你可以阅读Google上的安装指南,以了解如何设置开发环境;它提供了所有所需文档。Android具有一些编写Android应用程序时应考虑的独特参数。其中一些包括:

性能和响应能力:你应该始终在五秒钟内响应用户输入,否则操作系统将对你进行ANR。(ANR应用程序无响应–此时唯一的选择就是强制关闭应用程序。)用户会注意到超过100ms的延迟:如上所述,永远不要阻塞UI线程,因为它只是一个。资源有限:应谨慎使用唤醒锁(尽管电池管理器建议将设备置于睡眠状态,但仍会强制设备执行某些操作的机制)。请勿不必要地轮询硬件(例如GPS或加速度计),因为它会很快耗尽电池电量。

关于Android App开发,有很多东西要学习,APICloud在开发者服务提供了在线问答社区,文档、培训课程、官方教学书籍、以及海量的视频教程。可以学习如何从0-1开一个app。

计算机基础培训课程有哪些?

如果说培训的话,不同方向的基础课程是不一样的,一般常见的有Java基础,Html,Javascript,数据库知识,互联网知识,以及代码规范等,前后端还有各自的流行框架课程。

可以看下不同职业方向的课程大纲,会比较详细清晰。以下分别是常见的Java工程师课程,前端课程,大数据课程的大纲。

各机构大同小异。大数据前面的课也是Java之类。

如果说大学计算机课程的话,会有<计算机专业导论>,<数据结构>,<计算机组成原理>,<算法设计与分析>,<软件工程>等等,但都会学习多门编程语言,要学好还是要下功夫的。

看了有收获,请点击右上角红字“关注”,谢谢。

零基础如何准备司法考试?

首先,关于法考改革内容、考试科目、报名条件、考试时间等,可以看下我之前发的讲座“法考常识”,里面有详细介绍,后面还讲了每个科目复习的侧重点,方法,要不要买学习包之类的,没经验的一定要听下。

在喜马拉雅搜:法考常识 就可以搜到

其次,在职的由于时间和基础比较特殊,大家在选择书/老师的时候,一定要注意,例如我明明时间就少,我还按照一个法本全天备考的经验贴买书,根本看不完,明明基础就差,我还按照一个学霸推荐的自己看看法条就以为能过,都是不可取的!

所以下面计划都是针对在职(时间少、时间比较散乱),基础普遍不好来推荐和写的,也是我每年带数千在职学生的经验总结,大家看不完就收藏着/打印出来,平时复习按照这个节奏走。

最后,法考和司考有很大的不同,例如法考是两考,法考比司考压缩了100题,法考题目会混合考等等,大家备考的时候务必注意,有些司考的备考方法是错误的,不可取。

备考的几个重点强调

1、法考改革成两考,如果你时间充分,可以在前面就把主观题和客观题一起准备了,但如果你时间不够,还是优先客观题!

客观题和主观题学习阶段都是一样的知识点,例如考正当防卫,龙哥案再客观题会问你构不构成正当防卫,让你选, 主观题会问你为什么构成正当防卫,说明理由。但知识点都是正当防卫,所以前面学习阶段老师和书都可以通用,不用区分。

但练习阶段就有不同,客观题侧重于结论的得出,易混淆概念的辨析,要求全面掌握知识点。而主观题注重分析思维,表述,只考察重点,要区分。具体后面文章里有强调。

2、往年300题客观题,法考200题,足足少了100题,所以在复习的时候,有些小法科目的非重点知识,刑法分则非重点罪名,可以少花点时间,尤其在职的,必须稳住必考点、重点,尽量少丢分,时间允许的情况下,再去复习别的比较偏的知识点,不要贪全,你背不完的,要求精!

用内部讲义的影响不大,但用书备考的,一定要注意针对重点进行复习,把重点部分整理笔记关键词,平时多复习,不然书太厚!【哪些是重点可以通过每个章节的题量来看,例如这个章节历史就考了4个题,就很不重要,如果考了20多个题基本就是每年必考。题量可以在APP(觉晓教育)上查看】

3、客观题关键词:刷题、笔记

任何考选择题的考试,刷题都非常重要,不能忽视,但一定要在理解的基础上做题,不能像考驾照一样无脑的记住答案。 所以题目错了,要知道为什么错,知识点是什么,看懂解析!只是记住答案的刷题没意义。

法考难度在于量大,每个点考的都不难,讲了都能理解,就是知识点太多,所以归纳总结的笔记就非常重要。

如果没有这个意识,在学后面科目的时候就会忘记之前学过的科目,这样效果非常差,但如果有笔记,可以每天抽时间复习要点,错的标注重点巩固,笔记的过程也可以梳理思路,形成体系,所以笔记在法考客观题阶段非常重要,尤其内容繁杂的刑法、民法!

不会做笔记的可以看一下我之前录制的笔记教程,手把手教大家来做精简的笔记。在腾讯视频搜“蒋四金笔记教程”就可以看到。

4、主观题关键词:重点、练习

主观题的考点不多,只会考这个科目核心的知识点,其他偏的,细的不会考察,所以这些核心知识点不能有理解问题,必须理解到位,例如刑法的共同犯罪,犯罪形态,认识错误等【这些一般在准备客观题阶段就应该没问题了,因为这些知识点也是客观题的必考重点】。

理解的基础上,更要注意练习,有太多人知道结论,但不知道过程,不知道怎么分析,怎么写,所以一定要做大量的案例练习,而且可以一个案例题反复练,优化表述,因为主观题知识点固定,不用一味追求偏、难,要注意练习表述!

5、每个阶段都有该阶段应该学的科目,不要本末倒置

机构更新课程都是一股脑的更新,每个科目同等对待,因为这样对于机构是最方便的。但对于学生学习却不利。

因为没必要前面就学三国,也不可能刑法、民法没学就去学商法、诉讼。更没必要每个阶段都弄三国法,毕竟三国法只考10分不到,而刑法民法考50分,还要先修三国、真题讲解三国,实在没必要。

所以前面刑法民法是重点,多学两遍都好,中间诉讼法是重点,考前小法是重点!具体参见后面的安排!

6、模考

现在是全面机考,我们有过后台大数据分析,一个学生平时做题正确率百分之70 ,模考正确率只有百分之35-50。很多题眼花选错,做到50题左右头晕,思路就乱了,当模考7次以后,数据才正常,所以大家一定要坚持定期模考,训练自己的考试能力,否则你明明都可以过的,就是模考少了过不了!

主观题的模考更重要,很多人主观题就是模考不够,时间控制不好,没有答完题!

7、氛围

法考备考周期长,放弃的比率高,去年报名人数60万,实际参考人数才47万,实际参考的人中还有很多裸考、打酱油的,所以真正坚持备考完的,也就一半的人。

一个人自己学很容易放弃,遇到障碍、进度乱了,不知道自己和别人的差距,法条变化了也不知道看新的,所以建议在职的加一些群,明确每个阶段的重点,要不要做题,哪个老师好,能有人一起打卡,指导每天应该学什么就更好了。

我们人手够的时候都会建立和组织免费群学习,没有群的可以加我建立的,里面会按照计划组织每个阶段的学习重点,安排打卡,提供建议和学习资料推荐。

免费群在订阅号(sikao411)后台聊天框回复:群号,就可以获取。

在职备考的强调

1、时间零碎

在职考生时间零碎,但法考学习讲究集中,形成体系,法考知识点前后联系很大(尤其刑法、民法),如果中断时间长,前后不连贯要重头学。

所以最好固定好时间,集中学完,例如我这周无论如何都拿出每天平均4小时(周末可以匀一些),集中把刑法课学完,然后可以忙几天别的事,再继续,民法。 千万不要学2天,休息2天,喝酒聚餐导致间隔时间过长,再怎么样也推掉一些杂事,集中学,学完再处理,每个科目学习周期大概一周。

2、精力不集中

在职的很多已经没有这种长时间、系统的学习的能力,经常学习期间会玩手机,聊天,不做题,不笔记,依赖心理太重,想找押题大力丸之类的, 这些都必须杜绝。

人都是可以改变的, 所以建议学习的时候远离手机,做好规划,例如我学1小时,休息10分钟,学的1小时坚决不玩,休息的时候就纯休息,回到高中上课的感觉,上课就集中学,课间休息就集中玩。

同时,一定要根据下面计划,每个阶段都要做题、模考、笔记,我每年带数千在职考生,听话,跟安排走的基本都能稳过,但自己乱搞的,肯定考不过,因为学都学不完!

3、实践经验误区

如果有司法实践经验的,建议不要用实践经验做题,一切以教材和真题为准,例如实际民诉的案子证人很少出庭,但法条和考试都是规定证人出庭是原则,不出庭是例外,所以不要用实践的经验来否定真题和法条。

4、明确每天目标

在职最宝贵的就是时间,全天备考的学生,每天可以从早到晚都在学,在职只有晚上4-6小时+周末,所以时间不能浪费,一定要做好规划。

时间计算:法考8各科目,平均每个科目30小时左右的课,做题需要15小时,复习笔记需要20小时。 8个科目走完一轮预计需要520小时(平均每天4小时,需要学130天,大概4个月),第二轮会快一些,但也差不多要2个月。

一般一轮就能考过的人很少,至少要走2-3轮,所以在职的时间不能被耽误!一定要做好规划,随便耽误几周,后面就很赶,或者学不完!

在职的考生千万不要温水煮青蛙,不知道其他人的进度,自己的差距,没有明确的计划和目标!你耽误不起!

5、回顾的重要性

如上所说,法考周期很长,知识点很多,最难克服的就是遗忘,如果你学了不巩固,不复习,肯定遗忘!

所以要有笔记(实在没时间做的,可以用各机构内部薄讲义),每天抽取早上、睡前、中午零碎时间回顾,避免遗忘。也可以采取复习错题,多做题的方式避免遗忘,加强记忆。

在职把巩固和复习的时间尽量安排在零碎时间,养成良好的习惯!

6、基础差的考生

对于基础差的考生(0基础或者毕业多年),刑法民法一定要跟我的带读课先过一遍,其他科目可以直接跟老师的课,不然刑法民法会很耽误时间,走很多弯路,基础也不好,后面学诉讼法也有障碍!

2019在职法考详细计划(包含客观题+主观题)

适用人群:

1、在职(按照每天4小时左右安排)

2、基础差(会针对的推荐老师)

【同时也有在校生法本、非法本计划,可以看一下订阅号其他推送】

本计划主要分为四个阶段:

1、学习知识点阶段

2、客观题梳理记忆和主观题初步练习阶段

3、客观题冲刺阶段

4、主观题强化练习阶段

第一阶段:学习知识点阶段

一、刑法民法【大约28—35天】

这两个科目理论难度大,分值最高,知识点多,每年难题也多,同时它们是法学的基础科目,学好了能形成法律思维,学其他科目都能轻松很多。

这两个科目要看大量的例子,所以可以用书,同时要注意做题和整理笔记!

这两个科目专业名词很多,老师的课没提前读过书会很吃力,所以第一阶段用带读课学会好很多,尤其在职的,带读还可以帮助你完成笔记。

(一)刑法

推荐老师和资料:徐光华/柏浪涛老师教材+我的带读课+系统题/纸质题

1、跟带读课读书,大约7天左右

两位老师的书都在400-600页,每天需要读80-100页,法本学生可以自己读,但在职考生要跟带读课读,这样可以保证效果,控制读书效率,同时可以辅助你完成总结和笔记。

【带读】是我原创的模式,现在被各个机构借鉴,但他们的带读和一般的课程没区别,我是基于带着读书的目的,解决在职、基础差第一遍读书难问题,现在我的带读也会把一些思维体系,做题技巧,归纳总结融入其中,在职的最好跟一下。

可以在喜马拉雅搜:蒋四金刑法带读(注意听2019的版本),或者在APP(觉晓教育)上也有。可以百度云下载了听,链接:

https://pan.baidu.com/s/1olNRweIqOiSrlPxlAUYPwg

【复制上面链接,浏览器打开】

2、做题,大约2-4天

听完课后,需要你把题立刻做完。

如果在系统上听课,每个课程后面我都配了对应的题目,可以听完课及时做题。学完后最好把错题再过一遍(个人中心有错题本,做错的题系统会自动帮你加入,可以导出打印,没必要自己抄错题,浪费时间)

如果没有做题,听完课后一定!一定!要立刻把题做了!尤其不理解的部分,做完题对照着书再看看就基本没问题了,不要想着学懂了再去做题!题目都是一个一个的案例,可以辅助你理解,不懂的知识点才要去做题,做完题,对照着解析读读书,就懂了!所以一定要做题!

3、错误率高的章节自己针对性的再读读书,我每年也会针对疑难重点章节出专题讲座,先把知识点串讲了,然后带你做完所有考过的题目并讲解,最后会带你归纳总结笔记,到时候出了,会在喜马拉雅和订阅号同步更新。

4、可以花3-5天,把笔记整理了,尤其分则和刑罚,总则不懂的可以后面再整理,但分则和刑罚一定要整理笔记才有效果,听课是无法梳理清楚的!

带读课里强调的点,错题错的点,还有自己的一些总结就是笔记,不需要抄书,抄题目,就是归纳总结关键词,具体带读课里会教。还不懂的,可以在腾讯视频搜“蒋四金笔记进阶教程”看一下。

【注意】徐光华/柏浪涛老师的课由于需要自己提前读书/做题后再去听才才有效果,所以不建议没看书、没做题就直接听,最好前面跟我的带读读书,做题,学了专题,总结了笔记,后面第二轮再跟老师的,效果就会很好(老师好一些版本的课一般在4月出,那时的课会结合最新修改的讲,同时也是内部版本,精简很多)。

(二)民法

推荐老师和资料:孟献贵/岳业鹏/钟秀勇的书+我的带读课+系统题/纸质题

1、跟带读课读书,大约9天左右

今年民法带读首先用孟献贵的,出其他老师的带读课要看时间,在安排完内部班的事后,我尽量抽时间录。

民法书比刑法书厚一些,大概有500-600页,每天需要读80-100页,

民法专业名词更多,体系性更强,所以最好也是跟我的带读课先过,控制读书效率,否则在职、基础差的考生民法会是法考最难的科目,学到丧失信心!同时带读课可以辅助你完成总结和笔记。

【课程获取】可以在喜马拉雅搜:蒋四金民法带读(注意听2019的版本),或者在app(觉晓教育)上也有。

2、做题,大约3-5天

听完课后,需要你把题立刻做完。

民法题比刑法多,所以时间上会多1-2天,民法内容连贯不大,可以学完民法总则,做民法总则的题,然后学物权法,学完做物权法的题,这样一块一块来,具体什么时候该做题,带读课也会提示你。

和刑法一样,如果在系统上学习,每个课程后面我都配了对应的题目,可以听完课及时做题。没在系统上学,记得按照带读课里的提示,及时把题做了,理由也是一样!多做题才能理解!

民法的真题是最重要的,多做几遍,才能理解到位。民法真题为王!记得,学不好、不理解的,就去做真题!

3、和刑法不一样,民法错误率高的章节可以再去把对应的题目做一遍,不懂的看解析,刑法侧重于读书,民法侧重于做题!同时一些疑难部分和重要部分我也会出专题讲座,侧重于讲题和梳理法律关系,大家学不懂的章节记得跟一下。

4、花4-6天把民法笔记整理了,尤其民法中琐碎的部分,一定要梳理笔记!包括民法总则,合同分则,侵权责任法,婚姻继承,这些都是散、碎,所以梳理笔记效果最好!

带读课里也会教大家笔记的梳理方法,和哪些是要记的点,刑法分则各个点是独立的,所以根据带读课的提示,自己错的点,总结关键词抄了就好。

但民法各个点是有关联的,最好以体系图的形式总结,梳理各种法律关系可能的情况。可以参考下面推背图的形式【有框架,有要点,有易错点和重点标红】

二、商法、民诉、行政、刑诉【大约24-35天】

推荐老师和资料:鄢梦萱/郄鹏恩内部讲义+内部课程+真题

相比刑法民法,这些科目侧重于记忆,主要是把程序梳理清楚,每个程序下的要点记清楚,不要混淆,但理论难度没有刑法民法高。所以可以直接跟老师的课,没必要提前读书做题打基础(刑法民法一定要先跟我过,不然很吃力,没效果)。

学的时候,一定要用内部薄讲义,可以报班获取,也可以网上自己找找盗版,最好不要用书!不然后面记忆很麻烦,薄讲义重点明确,方便很多。【每个老师都有内部薄讲义,是报班才能获取,比市面上的书性价比高很多!尤其针对诉讼法!尤其针对在职时间少的考生!】

(一)商法(不用学经济法、知产)

商法中公司法是重点,其次合伙和破产,剩下的不是很重要。商法距离生活比较远,而且和民法的基础有关系,前面民法学得好,商法肯定没问题,所以前面民法一定要把笔记梳理了,好好理解!

经济法和商法没有关系,但一般是一个老师讲。建议大家一定要分开学,经济法放到后面,前面学商法,经济法琐碎,简单记忆即可,商法需要结合法律关系理解,两个科目完全不一样!

1、老师的内部课配合薄讲义,大约2-3天

商法不用跟带读课,直接跟老师的,但一定要薄讲义,听之前可以大概扫一下的标题,知道大概内容。

2、学完后自己读2-4遍讲义,大约1天

商法理解不难,就是要记忆和梳理,所以学完自己要读2-4遍讲义,大概记一下要点,不然学了没效果,不会做题!

3、立刻把题做了,大约1-2天

商法题目不难,只是跟刑法民法不一样,一定要记一下再去做!做不出来的一定要记得在讲义上标注出来,商法题目重复考的概率很高,一定要要熟练掌握历年真题。

如果老师的做完觉得题目不够,可以在我们系统上再做一下,我们系统题库是全的,然后一定要结合错题把讲义的点标注出来!切记!

4、整理笔记

用薄讲义的话可以自己把要点勾画圈点加批注,然后标注做题错的点在讲义上(当然也可以像刑法、民法一样自己整理)。整理完自己也再读2-4遍,再强化记忆一下!

【注意】商法中各个部分是独立的,所以可以学公司法,读讲义,做公司法的题,整理笔记,然后再继续合伙企业法,以此类推。但总的时间按照上面的要求控制一下。

再强调,商法中公司法是一级重点,一定要读熟讲义,题目做熟,其次是合伙企业法、破产法,其他的票据、保险那些不是很重要,基本理解即可。

如果商法做题有障碍,哪里学不懂,可以带着疑问再去听一下课,很多时候再听一遍就懂了,不难理解。

公司法19有修改,注意单独学下修改内容。

二、民诉

推荐老师和资料:戴鹏/杨洋/韩心怡内部讲义+内部课程+真题

民诉不难,在诉讼法中属于简单的,知识点也不多,好老师也多,所以大家民诉争取拿高分。民诉也是尽量用内部讲义,也是侧重记忆、梳理,用书没有很好的总结,反而繁杂,学不懂。

1、老师的内部课配合薄讲义,大约4-6天

民诉不用跟带读课,没什么难理解的,直接跟民诉老师的课就好,听之前先扫一下近几页讲义即可。

2、学完后自己读2-4遍讲义,大约1天

民诉更强调记忆一些,所以一定要多读几遍讲义,再去做题,而且一定要学完后立刻读!趁热打铁,巩固好!否则忘记的特别快!

3、立刻把题做了,大约2-4天

民诉考的不难,老师讲完后做题也没什么障碍,错了也知道在哪,只是需要记住,错的部分一定要在讲义上好好找出来,好好读一下讲义,必要时梳理一下这块的关键词,只要自己梳理一遍,就非常清楚了!

4、整理笔记,大约2-3天。

民诉这类的程序法,有些比较复杂的部分,一定要自己结合讲义梳理下笔记(可以用流程图的形式梳理),梳理完就非常清晰了!

例如下面这几块:管辖、证明、二审的上诉、再审(区分不同主体启动)、执行异议和第三人撤销之诉。 其他部分可以在讲义上勾画批注。整理完自己也再读2-4遍,再强化记忆一下!

三、行政

资料:李佳/徐金桂/黄韦博的内部讲义+内部课程+真题

行政法这个科目比较特殊,考的非常常规,不难,只是有点细,知识点也不多(甚至比民诉还少一些)重点明确。但有些人对我们行政体制不熟悉的就是听不懂。如果连什么是机关,什么是事业单位都不懂的,最好前面先熟悉下,可以找我往年的课来听听,前面会有普及这些基本知识。如果没问题,知道大概的行政体制,可以直接听老师的内部课。

行政法考的很细,一定要用内部讲义背细节,用书你不知道背哪里,效果很不好!学完做题遇到的细节,一定要单独背一下,行政法虽然考的细,但就爱考固定的细节,把历年真题的细节都掌握就好!

1、老师的内部课配合薄讲义,大约4-6天

听之前先扫一下近几页讲义,然后听完课一定要跟着老师强调的标记细节!行政法细节为王!

2、学完后自己读2-4遍讲义,大约1天

读的时候,注意老师强调的细节,闭上眼默背下!

3、立刻把题做了,大约2-4天

行政法的题第一遍做会很难入门,因为题干一般会感觉很绕,看到什么机关,什么文件就晕,但其实点不难,基本都是重复以往的真题,所以要抓准核心,具体课程老师会强调!

行政法的题重复概率很高,而且很多都是考细节,务必把考过的细节在讲义上标注出来【注意:此处非常重要,这是行政法提高的重点】

4、抄细节,背细节,再做一遍错题,大约2-3天。

把错题错的细节,老师强调的,再单独抄一下,整理一下,然后背一下,并且把错题在做一遍,或者在系统上刷刷题也是可以的!(我带的几个行政法实在学不懂的考生,把行政法这些细节抄了两遍后,就非常顺了!)

四、刑诉

推荐老师和资料:左宁/向高甲内部讲义+内部课程+真题

刑诉难、多(是法考知识点最多的科目,但分数不是最多),所以如果你基础不好,时间不够的考生,绝对不能用书,也不能用那种求全的讲义,背不完的!这两位老师的内部讲义都相对精华很多,也覆盖很全了,用他们内部讲义直接学,必考常考记熟!

之前学过民诉,再来学刑诉会好很多,但要注意,两个诉讼法有很多地方有区分,不要混淆起来,如果已经混淆的,可以自己对比梳理,针对性的背一下(如果没有混淆起来就不用管)

刑诉一定要好好记!好好自己多读读讲义!否则永远学不好,多做题,多记!

1、老师的内部课配合薄讲义,大约7天

刑诉也可以直接跟老师的课程,老师都会对基础知识讲解,不需要跟带读课。刑诉内容有些多,建议学习期间每天抽30分钟——1小时(在职可以利用早上或者中午时间)把才学的部分的讲义好好读一遍,听完课再读,会好一些,一定要读!否则刑诉学到后面就忘记前面!

2、学完后自己读2-4遍讲义,大约1-2天

刑诉读讲义、加强记忆再去做题,刑诉内容比民诉和行政都多,所以学习期间要读,学完后再整体的读2-4遍讲义,这样才能学好!

3、立刻把题做了,大约2-4天

读熟讲义的基础上做题,应该没有太大障碍。

刑诉的题有些考了就不会再考,如果遇到讲义上没有的知识点,就不用管。但讲义上有的点,如果错了,一定要标记出来,好好记一下!

4、再读讲义,整理笔记,大约3-4天

刑诉做完题,趁热打铁,再读2遍讲义,加强记忆,然后和民诉一样,一般的章节不用管,但复杂的章节一定要梳理笔记,把程序梳理清楚!刑诉比较复杂的部分包括:主管、强制措施、证据、补充侦查、不起诉、侦查措施、二审和再审的抗诉对比、特别程序。

【注意】刑诉19年有修改,修改的部分肯定是重点、必考点,而且真题没有涉及,所以很容易忽视,大家一定要在讲义上标记出来,好好巩固!

本阶段还需注意:

1、模考是很重要的,坚持每周模考1次,考前可以多做2遍左右的真题,做题量立刻上去,而且可以熟悉模考系统(如文章之前所说,模考必须达到七次以上,否则发挥一定会失常),,就要立刻更重要的是立刻知道自己这个科目学的情况,如果一个科目模考成绩特别差复习了!否则拖到考前才发现就肯定来不及了!免费群每月都会组织模考,并且公布排名,用官方全真机考系统,记得参加。

2、记忆!这些科目一定要记忆,但法考不是死记硬背,在理解基础上熟悉即可,因为考选择题的话正确答案就在眼前,选出来即可,不需要默写出来,主观题也是结合案情分析,开卷考,没必要死记硬背。

法考的记忆就是多读,熟悉,梳理清楚程序,并且易混淆,易错的点单独背下即可。所以计划里强调了读讲义!一定要认真对待!

3、三大诉讼易混淆部分,可以参考我整理的对比表(但你没弄混就没必要对比记忆),19的版本后面会在订阅号整理发。

订阅号 觉晓法考 内回复 对比表 可以获取文章。

第二阶段:客观题梳理记忆和主观题初步练习阶段

上面学的科目就是主观题要考的(论述除外),也是客观题的重点,后面剩着的三国、经济、理论等统称为小法,特点是碎、没有明确的重点,都是记忆的,所以不建议前面学(因为学了还要花时间维持记忆),最好考前学,一般建议7月左右学,时间很充分了,之前好好巩固之前学的!

一、巩固刑法、民法,案例初步练习【20天】

刑法民法间隔时间比较久,需要再巩固和提高。4月左右,上面刑法、民法老师的内部收费课就出来了,跟这个版本会比免费课好很多!跟内部版本课程再过一遍。

(一)客观题

1、先做一遍真题(纸质/系统),一个科目大约2-3天。

2、把老师收费版本强化学了(跟之前刑法民法书用的老师一样就好),收费版强化大约25-30小时,5—7天可以学完一个科目。【一些太简单的章节,错误率很低的可以加速或者跳过,但好的章节一定要重点听】

3、结合最新的理解,完善下笔记,之前没做笔记的部分也补了!一个科目大约1-3天。

【注意】这个阶段最好先做题,再听课,带着做题的疑问听课效率高!

(二)主观题

在学刑法民法期间,每天做2个主观题案例题,建议做官方的案例指导分析,或者历年真题,老师编写的模拟案例并不是很好,做官方的就好,18的可以做,19的出来了也可以做19的。

不想买书的可以在我们学习系统上做,APP和官网都有题目(涵盖了官方教材的模拟案例和所有真题),官网学习系统上做可以自动AI批改,也可以导出打印做,模考里面还可以用全真官方系统模考主观题(19年应该是全面主观题机考,尽早熟悉系统!)

www.juexiaotime.com

现阶段练习主观题做案例就好,没必要学习课程,因为你都知道这些知识点。但一定要注意表述,不要只看结论!

如果你的表述和官方答案不一致,但结论一致的,只有结论分! 例如结论都是故意伤害的共同犯罪,但你说“二人一起去伤害,所以成立共同犯罪”,官方答案是“甲有杀人故意,可以包容评价为伤害故意,所以在故意伤害的范围内成立共同犯罪” 两个表述和分析完全不一样,你没有过程分,只有结论分!所以一定要纠正表述,锻炼分析的能力,不要只看结论!

如果表述和理由和官方答案不一样,就把这个问题再写写,记一下分析的过程,多写几个题就好了。

二、商法、行政、刑诉、民诉【大约22—30天】

(一)客观题巩固

1、每个科目再做一遍真题,每个科目大约1-3天。

2、做完题立刻读讲义,错的要单独抄一下(或者标记在之前的笔记上)单独背一下了!这几个科目理解不难,就是要记和自己梳理清楚,所以理解没什么问题就不用听课,不然听了还是记不住,不如静下心来自己好好记一下,梳理下。每个科目大约1-3天。

3、如果这个科目理解有问题,可以换一个老师再听一遍课(也可以只听理解不了的章节,这几个科目建议换个老师,因为没什么冲突,各老师还可以互补)

但先做题,读讲义,再听课,否则永远都停留在表面,只有短期记忆!下个月就忘记了!

(二)主观题练习

每个科目的学习期间每天做2-4个案例,这几个科目的案例没有刑法民法复杂和量也不多,所以每天可以多做几个。

这几个科目分析理由没有刑法民法那么多,主要是要熟悉法律依据,但没必要现在就直接翻法条,可以等后面再练习翻法条。

现阶段要裸写,就是不翻法条,凭借之前学习的知识点来答题,没答出来的看答案,然后抄写答案关键词,强化记忆,后面再自己找时间写一遍,一定要写熟!这些科目的知识点都是重复考察,重复概率很高!

三、主观题强化练习

如果你启动的时间早,弄完上面的,还没到7月,可以再继续巩固强化练习下主观题。

1、一天练习刑法+刑诉,行政法,每个科目练习2个案例

2、一天练习民法+民诉+商法,每个科目练习2个案例

3、大概练习10天左右,每个科目写5-10个案例,但千万不要超过7月10号。

【主观题练习再强调】

1、这个阶段只是初步练习,最好不要翻法条,不然基础不扎实!

2、一定要注意对比标准答案的过程分析,不要只看结论,要看分析的点和标准答案是否一样!

3、题目只需要练习官方案例分析(18/19版本都可以),真题,不需要写机构出的模拟题,效果不好。

4、如果你时间不够,不需要练习主观题,但客观题的部分需要完成【如果在7月10号之前能结束上面的内容就ok,否则可以不用管主观题,稳住客观题再说!】

第三阶段:客观题冲刺阶段

客观题9月20号左右考,冲刺阶段大约2个月,一般从7月初开始,这阶段不用管主观题,专门训练客观题,强化记忆,刷题,笔记。

小法科目直接在冲刺阶段学,没必要学太早,不然花很多时间维持。

一、理论法、三国法、经济法、知产等小法【大约13-22天】

(一)理论法

老师和资料:马峰/杜洪波内部讲义+内部课程+真题

理论法比较重要的是法理学和宪法,这两个科目优先学,基础差的可以前面阶段学下这两个科目,但其他的法制史、法律职业、法治理念没必要学那么早,考前冲刺学即可。

1、学法理学和宪法内部课配合薄讲义,大约2-4天

这两个科目也千万不能自己看书!基础差的看不懂,看懂了也不知道考点在哪,非常晦涩和理论,直接跟课程和内部讲义,记住老师说的点即可。

2、学完后自己读一遍讲义,然后做真题,大约2-3天

这两个科目不多,每个章节之前没什么联系,所以可以读一个章节讲义,做一个章节题目,这样一个章节一个章节的过,错题错的部分也记得在讲义上标注出来。

3、把宪法的要点抄关键词,抄出来,大约1天

宪法和行政法一样的,一定要抄关键词,记细节,老师强调的,真题考过的部分关键词抄出来,背熟!宪法是块硬骨头,必须抄细节,记!背!

4、用内部课+薄讲义学法律职业、法治理念、法制史,学完后做题,读讲义,大约2天

法治理念和法律职业内容不多,没什么可讲的,老师讲和自己看差不多,就是考思想道德和政治,所以大概过一遍就去做题,后面自己多读讲义就好,不用懂,知道怎么考的,知道怎么做题就好,例如不用问为什么法官不能收礼,你只要记得不能收礼就好。

法制史还是要学下,考的不难,听完课,多读读要点就好,课程大概2小时,把课程强调的学完,多读读就足够。

(二)三国法

老师和资料:杨帆/王斌内部讲义+内部课程+真题

三国法往年是卷一的关键,但现在分值被压缩,考的少了,所以千万不要看书,用内部薄讲义,时间不够的甚至跟下冲刺、押题阶段就够了,强化都没必要跟,很多没复习三国的也能考过。

1、把内部课程学完,真题做完,大约4天

一般三国法跟杨帆比较好,没必要买书,直接跟内部课程和讲义,听完课立刻做真题,把老师强调的全部掌握就好,不需要扩充,讲义没有的不用管。如果你时间不够,可以用更薄的冲刺阶段的讲义和课程。

2、把讲义关键词读2-3遍,易混淆的单独抄一下,大约1-2天。

3、三国法后期多读讲义即可,难度不大,都是直白的考察,老师强调的重点要好好掌握,其他非重点读一下,保持印象即可。

(三)经济法

老师和资料:郄鹏恩/鄢梦萱内部讲义+内部课程+真题

援用之前商法老师的讲义和课即可,但前面不要学经济法,只学商法,经济法留着后面冲刺阶段学。

经济法没商法难,基本都是直接考察法条,就是没学过,读读也都懂的那种,经济法比较碎,杂乱,所以需要在讲义上标注老师强调的重点,多读,读熟就可以高分,千万不要扩充,只掌握老师强调的重点。

1、把内部课程学完,真题做完,大约2天

2、把老师强调的和真题涉及的知识点标记出关键词,经济法可以直接在讲义上标记词,然后读2-4遍,大约1天。

3、后面读熟这些关键词即可。

(四)知产

老师和资料:曹新川内部讲义+内部课程+真题

知产这个科目本身很难,和一般的法学学科差距很大,很讲实践经验,很多地方违反一般的法理,一般的法学老师都驾驭不了,要专门学这个专业的老师或者研究过的才讲的好。

但这个科目考的也很少,没必要花很多时间去弄,所以很一个少而精的老师,把常考、必考的掌握即可。

目前讲法考的老师中,只有曹新川老师是学这个的,讲的很不错,而且内容很少,大概3—5小时就讲完全部,讲义也很薄,所以建议跟他的,同时,鄢梦萱和郄鹏恩讲的也没问题,也可以跟,只是知产方面还是曹老师好一些。

1、把内部课学完,真题做完,同时把真题涉及的和老师强调的关键词好好读读,大约1天就差不多了。

2、不要扩充,老师没强调的不用管,强调的,讲义有的多读读即可。

二、全面冲刺【大约30—45天】

(一)课程

这个阶段会出一些冲刺串讲课程,每个科目大约6-12小时,形式不同,有些老师用题来串知识点,有些用精简讲义,有些用法条,但实质都是迅速带你再过一遍重点。

我比较爱用体系图+要点(我把它成为“推背图”)的形式,把知识点串一下,因为平时我带内部班这个阶段要模考,我也会讲一些模考卷子来强化巩固,大家没有体系的,可以参考我的推背图整理,就不会乱了。

(二)记忆

考前是记忆的黄金期,太早开始会浪费大量时间来维持,晚了又来不及,考前1个月比较适合。之前已经读书讲义、做题了,现阶段要全面回顾,避免生疏,所以建议每天早晚各1小时,回顾自己的笔记/讲义,读关键词即可。

同时,针对自己薄弱点一定要单独记,不然你还是会错!对此我们做了个速记本的程序(在APP个人中心),把需要记忆的点和易混淆的点,出成判断题等形式,你迅速过,不知道的或者错的可以收藏,后期反复记,或者打印出来抄写,死记硬背。【类似于你同学,每天抽问你重点,答不出来的就能针对性记忆,目的是找出记忆薄弱点,否则你自己也不知道哪里记住,哪里没记住】

速记本和刷题不同,这个更侧重于重点,更侧重于记忆,前面可以不用,多做题,多读讲义即可,但考前差缺补漏和冲刺记忆一定要跟着刷一遍,否则记忆薄弱点无法突破!

(三)模考

这阶段模考更重要,必须坚持每周模考(就算你坚持,考前也就能模考4-6次了!要珍惜!) 模考后可以看到自己的薄弱点,调整状态,避免考试发挥失常问题。尤其现在机考,发挥失常,盯着屏幕久了眼睛疼,头晕都会有,一定要提前适应(一个人要在电脑前做3个小时的题目,很累的!很容易中头晕选错,点错!)

我们会组织每周模考,公布排名等,你也可以自己在我们官网(www.juexiaotime.com)上模考,里面有数十套试卷给你检测。

(四)模拟题

模拟题一般是没必要做的,真题足以让你高分通过,但如果这个科目法条有变化,需要做模拟题,因为变化部分没有真题涉及,没有练习过会吃亏,而往往这些变化又是每年必考内容,具体哪些模拟题好,后面考前冲刺阶段我还会推荐。

(五)突破薄弱点

如果这个科目薄弱,听冲刺课和再做一遍真题,把近7年真题涉及的点和老是强调的点掌握即可。如果这个科目某个章节薄弱,针对性的在做题和复习笔记。

薄弱点是会变化的,例如一些知识点你长期没复习,就变得薄弱了。如果你在我们系统模考或者再我们APP做题,后台都会记录你的错题数据,有实时的数据报告,提醒你哪些知识点你薄弱,哪些知识点长期没有练习。这样对后期冲刺非常有帮助。所以建议平时组织的模考一定要参加,平时自己也用我们APP,每天做点题,好知道薄弱点。

这时距离考试还有1—2个月,需要混合复习,每天记忆,做题练习,每周模考2次,其他时间听下冲刺课,首先列个任务清单,然后做个任务表格,按照这个表格完成。

任务清单:

1、所有科目过一遍冲刺课

2、所有科目读3遍讲义,小法和诉讼法可以多读两遍

3、模考6次

4、每个科目针对新增、变化考点单独记忆,然后模拟题提高

5、所有科目再把错题做一遍【APP个人中心有错题本,你平时所有错题都会自动加入进去,考前再刷一遍!】

6、速记本刷一遍,记不住的打印了单独抄

7、你自己哪个科目不好,针对性的再突破下,还有其他自己的安排也列入清单。

把任务清单做成下面的表格

因为不可能一整天拿来记忆(脑容量不够),也不可能不听课,所以建议参照上面表格的规划,把每天的时间切割开,例如早上读一个科目讲义,晚上刷速记本,晚上其他时间听冲刺课,周末模考,然后复习错题。

【注意】早晚都用来记忆,坚持到考前,其他整体的时间尽量用来模考和听课。

最后,考前10天左右会出押题课(跟冲刺课差不多),也可以跟着过一下,尤其不好的科目,卷一的小法那些,跟押题再过一遍,能够抓住重点。

【注意】不要迷信押题,光押题肯定不足以通过法考,押题只是重点的再强调,你之前如果没有学过,押题是没用的!

第四阶段:主观题强化练习阶段

客观题全面机考,考完后一周就会出成绩(9月底的样子),所以如果你通过了客观题,国庆就别想去玩了,好好复习主观题!争取一年都过了!

主观题没有需要新学的知识,在之前客观题阶段都学过,而且都是重点学过的,例如刑法主观题分则罪名只会考最重点的财产犯罪、人身犯罪、贪污贿赂,其他偏的罪名从不涉及。所以,课程都没什么必要听,直接自己多强化练习,讲解答题格式和技巧的可以跟一下课程。

主观题主要是做题练习分析思维,表述,速度,读题和梳理法律关系等能力,所以练习需要从以下几个方面入手:

1、每天写案例,写完一定要按照官方答案优化表述,不要只看结论对错,要看过程分析!

2、熟悉法条,主观题开卷考,由于知识点不多,所以涉及的法条也不多,把开卷考的配套书买来,多翻,熟悉那些重点法条位置【到时候也有相关重点法条的课程】

3、练习速度,很多人主观题是没写完的,主观题速度练习非常重要,至少练习6次以上完整的模考试卷,才能差不多能在规定的时间做完题!一定要注意模考练习,如果你写不完,肯定考不过!

4、论述要背一些官方文件的句子,经典的表述,万能的句子。 主观题论述大部分都是考法治理念,其实考的不是法律,是政治,所以要背里面的一些万能句子,和一些核心考点的句子,才能高分,不要自己瞎写,自以为写的很好,这不是高考作文课,是论述,需要你答出固定的句子,否则低分!

5、在职能请假的就请假,时间很重要!不能请假的,你也尽量抽时间练习,例如中午写个案例,早起读读法条,晚上加急写案例!

6、需要听一些主观题答题方法、技巧的课程,具体到时候我会推荐,不然有些人不会答题。

7、官方案例指导分析是最好的教材,没必要买机构的主观题教材,把官方的写熟,肯定没问题!基本都是里面的知识点!没有买的可以再我们系统上把题目导出来做,官方教材的题目我们已经录入到系统里。

具体的计划大概如下:

1、早上1小时读法条(可以先把法条的课过一下,大概每个科目2-4小时)

2、把主观题的技巧和方法课学完(每个科目6-12小时)

3、其他时间大量练习案例,先自己做(掐时间做,每个案例30分钟完成),然后对答案,没写出来的晚上统一抄一遍,加深印象。【强调:主观题涉及的知识点不多,如果你写错了,一定要重写这个问,加深印象,否则考了还是错!不要一味的做新题,要熟悉知识点和表述!】

4、周末模考,练习时间把控。这个非常重要!不要忽视!

主观题建议就用官方教材自己练习,主要是多写!没必要买书,具体课程老师推荐到时候我会结合今年老师的情况单独推荐。

APP

之前提到的APP可以再各大应用商店搜:觉晓教育

或者识别下面二维码下载

免费群

如果要加免费的学习群,跟着上述计划打卡学习,可以订阅号(sikao411)后台回复:群号,如下图

里面有管理员带计划和打卡,也会分享一些学习资料。

内部班

我们内部班可以在订阅号下方菜单或者历史消息查看,有往年的安排,师资、课程,成绩单展示等,5月底6月初会开突破班,具体到时候也会有文章介绍。

但建议大家先自己跟着上述计划学,或者加免费群跟着每天打卡学习。

能跟计划,在群里坚持学习,就没必要报内部班。

零基础学习java?

恰好我之前写了四篇Java工程师学习指南,就用前两篇的内容来回答一下这个问题吧。我写过一个Java工程师学习指南,我把它分为了四个部分,第一步是打好Java基础,掌握Java核心技术,第二步是掌握Java Web技术栈,能够做一些项目,第三步是掌握Java方面的进阶技术,包括网络编程、并发编程、JVM等,第四步是掌握后端进阶技术,比如分布式、缓存、消息队列等技术。按照这样的一个脉络,我觉得能够掌握这里面的绝大部分内容,并且有过相应的一些实践,那么可以算是学好了Java。当然,学好Java只是一个开始,要真的干好活,做好项目,以及其他各方面的技术工作,则是在学好Java的基础去延伸和展开的。接下来就是具体的文章,建议大家按顺序阅读,有点长,收藏的时候记得点赞或者评论哈。笔芯!Java工程师学习指南入门篇最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好。原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都是站在Java后端的全局上进行思考和总结的,忽略了很多小白们的感受,而很多朋友都需要更加基础,更加详细的学习路线。所以,今天我们重新开一个新的专题,分别按照四篇文章讲述Java的学习路线(分别是入门篇,初级篇,中级篇,高级篇),笔者也打算趁此机会,回忆一下自己的Java学习历程。今天我们要讲的是,小白同学如何入门Java。先声明一点,文章内容不会详细到每一步怎么操作,只会提供大致的思路和方向,给大家以启发,如果真的要一步一步指导操作的话,那至少需要一本书的厚度啦。本文所述的方法不一定适合所有人,如有错误敬请谅解。01 前期准备工作开发环境搭建这一步我们往往会直接跳过,但既然是面向小白的教程,这里就提一下吧。首先你需要一台电脑,然后安装好JDK和JRE,JDK提供的是Java开发工具,也就是一些必备的jar包,JRE则是Java的运行环境组件,我们熟悉的JVM就在这里面。安装好这两个东东之后,一般还要配置一下环境变量,否则有一些目录可能无法被正确找到。IDE选择和安装IDE指的就是本地开发编辑器,没有了它,你就只能直接在记事本这类工具里敲代码了。IDE最大的好处就是整合了大量的工具和功能模块,让你非常轻松地完成开发。以前大家都用eclipse,不过eclipse已经不流行了,现在我推荐你直接用intellij idea作为你的第一个代码编辑器。如果是用过eclipse的同学,基本上也可以无痛切换。intellij idea可以直接在官网上下载,试用版30天,如果想要永久使用,网上也有一些办法滴。关于jar包jar包是什么,其实就是将一堆class格式文件打包,Java中把它称为jar包,这些jar包在编译器中能被直接识别,让开发者使用。对于新手来说,可能只需要用到JDK自带的一些API,但是如果你要引用外部jar包,可能就会遇到一些困难了。对于idea来说,导入外部jar包有两种办法,一种是手动导入jar包,一种是使用maven。后者会在Java Web相关的文章中讲起。手动导入jar包其实也不难,你需要先下载好jar包,然后在对应的项目下选择导入jar包即可,具体的方法这里就不展开说了,因为在网上都找得到。02 学习Java基础的几种方法了解基础语法学习一门语言,最开始要做的事情就是学习它的语法。我最早学习Java语法是在Runoob,这个网站可以让你对任意一门语言完成最快速的语法入门,当然,这只是相当于你浏览了一遍基础语法。想要真正掌握Java语言基础,光看基础语法还远远不够,我在大三第一次接触Java课程,听老师讲面向对象三大特征听得一头雾水,连数组的初始化方式都理不清楚,但这些内容都是我们需要掌握的。所以,为了学好Java基础,我们还需要看视频或者看书进行学习。看视频视频的话,可以到极客学院或者慕课网听Java基础课程,当然也可以看我分享的Java视频课程。大家也都知道,现在Java的培训班非常多,基本上学的东西也都大同小异,不过它们的有些课程还不错,大家有渠道的话也可以去看一看。看视频的好处是你可以更好地接收知识,同时也会耗费你更多实践,所以,有时候你也可以选择看书。看书看书的话,对于小白来说不推荐太复杂的书,比如《Java编程思想》这种书,新手千万不要看。我个人建议,你只需要先看看《Java入门到精通》这种类型的书就足够了,因为这个部分的学习只是为你后面的学习开个头,你以后可能还要回过头来重新研究这些内容。现在市面上介绍Java基础的书籍实在太多了,质量参差不齐,内容同质化严重,笔者看过的其实也不多。给大家一个建议,你只需要挑一两本书来看即可,这里推荐两本最简单的吧,《head first java》和《Java从入门到精通》。看博客这里再推荐另一种学习方式,就是看博客,博客比起书籍来说,更适合对于某个技术点的学习,你可以很容易地在网上找到这个知识点相关的原理,实现方法,以及代码范例。我的博客里没有讲解特别基础的东西,如果你看一些比较基础的文章,可以到Runoob等网站上查看。如果你有一个很明确的知识点想要学习,相信搜搜引擎会给你更好的答案。代码实践除此之外,一般的Java书籍或者视频课程都会要求你相应完成一些练习题,这部分内容你需要自己在电脑里使用IDE完成。在IDE里,你可以很好地熟悉Java语言的使用,基本代码的实现,同时可以尝试各种各样的API,并且测试一些语言特性,比如继承,封装,多态等等。另外,这也是你熟悉IDE的一个好机会,因为在公司里做开发可能要用到IDE各种各样的功能,提前熟悉好IDE绝对是有益无害的。03 Java入门必备知识点梳理在Java入门阶段,你可能需要接触到以下这部分知识,不管你是从通过哪种方式学习,这些内容都是你学习Java基础时绕不过的重点。Java基础知识这部分内容是你必须要掌握的内容,在入门阶段你需要把这些基础打扎实,以便于在学习后面的内容时可以更上一层楼。如何把基础打扎实呢,最好的办法就是在IDE上把书上或者视频上的每个例子都实现一遍,当然有的时候你也可以自己写一些有意思的例子。1 基本数据类型比如int,double,char,以及其包装类。熟悉基本数据类型的使用,了解每种类型所占的字节数,以及它们和包装类之间的相互转换。2 流程控制比如for循环,if else,while循环等等如果是学过c语言的同学,这部分可以跳过了。3 字符串类型String的使用字符串类型是Java中很重要的类型,它不是基本数据类型,但却很常用,熟悉和实践String相关的api,开始你对字符串的学习吧。4 数组数组的初始化方式有哪些,二维数组应该怎么写,把数组当成方法参数又该怎么处理?5 类和对象Java中最重要的两个概念:类和对象,它们有什么用呢,有什么区别和联系呢,请在代码中实践它们吧。Java核心技术对于这部分内容,我相信很多小白只能了解它们的基本使用方法,但是并不明白其背后的一些原理:比如为什么接口和抽象类有这些区别,多态的意义是什么,为什么要有反射。新手在学习这部分内容时,只需要知道怎么用就可以了。当然,你最好把这些特性都实现一遍,以加深印象。至于为什么有这些特性,这些特性背后的原理是什么,不是我们现在讨论的内容,这些内容我们将在初级和中级篇中讲述。因为,要了解这些原理,你得了解JVM,了解并发技术的基础,了解网络基础,甚至更多。显然,这不是你现在能做到的。1 接口和抽象类写一些接口,同时写一些实现类去实现这些接口,并且了解一下为什么我们需要接口,为什么子类需要实现接口里的方法。同理,去实现一些抽象类吧。然后,看看它和接口有什么不同。2 继承,封装和多态如何理解继承,子类和父类之间有什么联系呢。封装是一种保护代码的方式,有哪些方式可以实现封装呢。多态一般分为重载和重写,它们分别怎么使用?3 异常处理Java中的异常处理主要用于捕获和处理错误,请你写一些try catch代码块去捕获错误吧。4 集合类集合类是我们经常需要打交道的东西,List,Map,Set等等,赶快去熟悉API,然后写一些测试例子吧。5 IO输入流和输出流IO输入流和输出流可以操作文件,网络数据等内容,如何在Java代码中完成这么复杂的操作呢,其实只需要简单的几个api就可以了。6 多线程为了让系统资源最合理地分配和调度,我们需要多线程,多线程会让程序变得有趣,也会带来很多问题,使用Thread和相关API,去尝试这些有趣的事情吧。可选内容:1 反射(了解即可,不是入门必须)2 枚举类型和泛型(了解即可,不是入门必须)3 网络通信(了解基本的socket使用即可,需要网络基础)4 数据库操作(了解基本的JDBC即可,需要数据库基础)04 总结总而言之,对于一个Java小白来说,入门Java可以分为这几步:1 首先搭建好Java开发环境 2 通过Runoob等一些网站熟悉Java的基本语法 3 通过看书看视频等方式熟悉Java基础知识,通过代码实践加深理解 4 通过看书看视频等方式初步了解Java核心技术,通过代码实践加深理解。本文主要是为大家提供一个学习的思路,以及推荐一些学习方法,如果你能够按照这样的步骤去学习,并且配合上一些适合你自己的学习方法来完成学习计划,相信你可以很好地完成对Java的入门。Java工程师学习指南初级篇最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好。原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都是站在Java后端的全局上进行思考和总结的,忽略了很多小白们的感受,而很多朋友都需要更加基础,更加详细的学习路线。所以,今天我们重新开一个新的专题,分别按照四篇文章讲述Java的学习路线(分别是入门篇,初级篇,中级篇,高级篇),笔者也打算趁此机会,回忆一下自己的Java学习历程。今天我们要讲的是,小白同学如何入门Java。先声明一点,文章内容不会详细到每一步怎么操作,只会提供大致的思路和方向,给大家以启发,如果真的要一步一步指导操作的话,那至少需要一本书的厚度啦。本文所述的方法不一定适合所有人,如有错误敬请谅解。01 Java Web项目指南jav在上一篇文章中,我们讲到了入门Java的几个步骤,先搭建好环境,然后熟悉基本语法,接着熟悉Java的一些核心技术,并且在代码中进行实现。如果你已经完成了这部分内容的学习,应该会感觉自己对Java已经有一定了解了,可以轻松地写出一些Java代码,比如实现多线程输出数字,再如操作IO流等等。当然,这些代码通常只是一些demo,我们在实际的项目中可能并不会这么简单地使用这些技术,我们可能会同时使用集合类,多线程,以及操作数据库的API。所以,在今天的初级篇中,我们就来谈谈怎么做项目吧。Java Web项目对于大部分Java新手来说,最适合他们入门的项目就是Java Web了。因为Java天然适合做Web应用,并且生态完善,更有很多开源的工具和框架去支撑这些应用,比如Spring,Hibernate,SpringMVC等等。那么,如何开始着手做一个Java Web项目呢。个人认为最好的方式就是看视频了。因为,看书的话,很多内容比较过时,并且一般不会提供源代码。也有一些大佬喜欢推荐开源的项目(在GitHub上面的项目),但是对于小白来说,如果没有很完整的文档去指导他们,那也是毫无意义的。曾几何时,Java Web的项目还在使用JSP + Servlet进行开发,后来出现了Struts2,再后来,出现了我们现在也一直在用的SpringMVC,说实话,不论使用哪种开发框架,你都需要先花一些时间去学习相关的技术,否则你会发现,即使是看视频,你也不知道里面在讲什么。要想做好一个JavaWeb项目,你不仅需要一个好的项目课程,还需要足够的知识储备,下面就让我们来理一理这些内容把。知识储备Java基础部分的内容咱们上次说过了,这里就不再重复啦~下面我们分别来说说其他几方面的知识储备把02 前端知识推荐资源:在w3cschool学习html,css和js,支持在线测试代码。既然是做Web,就难免要涉及到前端技术,不过,现在前后端分离已经是一种趋势,所以,如果你对前端不感兴趣,也没必要花太多时间去学习。对于大部分同学来说,你最好要了解html的基本标签和格式,自己能够写一些简单页面,CSS的话,也可以稍微接触一些。相对于前面两个服务于样式的技术,我们倒是更应该去学习一下JavaScript,了解它的一些基本语法,以及ajax的使用,因为在前后端交互时,ajax是非常重要的。所以,做一个Java Web项目,你不需要花太多时间在写前端页面上,如果有源代码可以直接使用,当然,对于一些需要修改的前端页面,你得怎么去做修改它,因为有时候你需要使用JSP,JSP既包括前端代码也包括Java代码,如果你完全看不懂前端代码的话,那就很尴尬了。03 Java Web常用技术JavaWeb的技术栈其实比较庞大,所以我们不要求面面俱到,只是希望你能够熟悉一下项目中可能用到的技术。下面列举一些常见的技术,大家最好要了解一下。1 JSP和Servlet推荐资源:《JavaWeb入门到精通》,慕课网、极客学院等网站上的JavaWeb基础课程这是Java Web开发最原始的形态,现在很少直接使用了,但是后来的各种框架其实也是建立在servlet之上来做的。你们需要了解这两个技术分别是用来干什么的,最好能写一些demo来实践。对于JSP,有时候你可能还要学习jstl等标签语言,因为这些标签可以让你更方便地往JSP中插入Java代码。2 Spring和SpringMVC推荐资源:《Spring实战》,慕课网、极客学院等网站上的SpringMVC基础课程。事实上,除了上述资源之外,你也可以直接到官网上查看快速开始文档。Struts2早已被时代抛弃,Spring则是当今的霸主,你需要了解Spring如何使用,以及SpringMVC如何使用,并且学会在项目中使用它。由于SpringBoot最近很火,并且搭建方式比SpringMVC更简单,你也可以先学习SpringBoot,以便更快速地搭建起你的第一个Java Web项目。3 MySQL推荐资源:《Sql必知必会》,Runoob上的MySQL基础教程,慕课网、极客学院等网站上的视频课程一个JavaWeb应用一定要有数据啊,所以我们需要用到数据库,其实搭一个mysql数据库是非常简单的,但是对于初学者来说最麻烦的就是写sql了,所以,先学会建表,熟悉sql,对你以后做项目也是大有裨益的。4 Hibernate和Mybatis推荐资源:Runoob上的Hibernate和Mybatis基础教程,慕课网、极客学院等网站上的视频课程当你学会了使用sql去查询数据,可能还不足以让你在项目中很方便地处理数据,因为我们还需要一个步骤,就是把数据库的数据转化成Java里的对象。orm框架就是为了解决这一问题而出现的,它可以让一张表和Java类一一对应,让数据查询变得非常方便。Hibernate和Mybatis都是orm框架,只不过现在mybatis越来越火了。所以,你需要了解这一技术,因为它会广泛地运用到大部分Java Web项目中。5 Maven推荐资源:《maven实战》,易百教程里的maven教程,慕课网、极客学院等网站上的视频课程刚才咱们已经说过了Spring,orm框架,以及MySQL等方面的技术了。实际上,一个简单的Java Web项目也只需要这些东西了。但是,有一个问题,就是:一个项目里用到这么多技术,所需要的jar包也会很多,我们如何管理这些jar包呢。如果直接导入所需jar包,那当jar包更新或者需要替换时,每次都要手动操作,非常麻烦。另外,当jar包很多时,项目打包后的war格式文件也会很大,不利于传输。为了解决上述问题,maven应运而生了。maven通过pom.xml文件来指定所需的jar包,并且自带了很多构建相关的功能,比如编译,打包,运行单元测试等等,因为它本身就是一个构建工具。当然,新手可能还难以理解这些概念,你必须要知道的是,大部分Java Web项目需要用maven来管理,你需要学会maven的基本用法,最基本的用法就是:学会修改pom.xml文件。6 Tomcat推荐资源:慕课网、极客学院等网站上的视频课程。对于小白来说,Tomcat相关的技术是非常复杂的,毕竟它是一个应用服务器啊,事实上这个时候,你只需要学会如何安装Tomcat即可。毕竟,它在项目中的作用就是提供一个运行环境而已。正常来说,你只要下载解压Tomcat的压缩包即可。由于现在的IDE都支持集成Tomcat,所以一般情况下你都可以在IDE中配置好你的Tomcat路径,然后设置好你的项目路径,IDE会自动把你的工程代码部署到Tomcat服务器上。如果你使用想跳过IDE直接部署工程到Tomcat上,也可以直接编译工程并且打包得到war格式的文件(这个步骤可以使用maven来完成),然后拷贝war文件到Tomcat下的特定目录即可。上述两种部署方式的详细步骤请到搜索引擎寻找答案。7 Git和GitHub推荐资源:廖雪峰的Git教程,GitHub官网,慕课网、极客学院等网站上的视频课程。既然要做项目,为什么不把它发布在GitHub上。当你熟悉了Git指令之后,你可以很方便地发布你项目中的每一次更新,并且同步到GitHub上,这样既可以让你更好地管理项目版本,又可以让你GitHub更加活跃,为你未来的面试加分。所以,赶紧学好Git指令,然后开启你的项目之旅吧。04 其他常用组件除了上面几种必备的技术之外,有时候我们在项目中还会用到其他东西,在这里我们把它们叫做组件。这里只做简单的介绍,至于具体怎么使用,在网上都可以很容易地找到相关文章。1 日志系统当项目代码比较多的时候,容易发生错误,日志可以很好地记录代码运行时的错误,常用的日志系统有log4j,logging等等,另外你还需要了解一下slf4j。2 单元测试日志系统可以记录代码问题,单元测试则是为了避免代码出错,常用的单元测试组件主要是JUnit,建议你找个文档看一看,然后下载下来玩一下。3 JSONJSON逐渐成为前后端数据交互的标准格式,为了在项目中使用JSON的API,你也需要导入它的jar包,一般我们都会使用阿里提供的fastjson,赶快下载来玩一玩吧。当然,常用的Java Web组件还有很多,比如HTTPClient,再比如一些加密工具,一些压缩工具等等,这里就不再一一列举了。5 总结今天的内容就到这里了,与其说是初级篇,反而更像是“项目篇”呢。因为学完基础内容之后,做项目是最好的复习和实践方式了。所以这篇文章围绕着做项目来展开,也就不足为奇了。今天我们主要讲的是,做好一个JavaWeb项目,需要哪些知识储备,需要了解哪些技术,并且我也推荐一些比较精品的视频课程。后面我还会写一篇文章,专门讲一讲怎么做项目,会更加详细,更加侧重怎么去做,敬请期待吧。总结以下今天说的几个要点吧:1 Java基础知识储备 2 前端知识储备 3 了解和使用JavaWeb常用技术 4 JavaWeb常用组件介绍 5 视频课程推荐俗话说的好,磨刀不误砍柴工,相信你看了本文之后,可以更好地做好知识储备,然后开始Java Web的项目实践,希望你能够顺利地完成你的第一个项目。笔者在今年秋招中成功拿到BAT头条网易等大厂的研发offer,期间总结了很多经验和技巧,我把它们写成文字,做成专题,发表在公众号上,希望让更多有需要的朋友看到。关注微信公众号【Java技术江湖】后,可以在后台回复“资料”即可领取3T精品学习资源(不断更新中,不止是Java方向哦),学习资源包括基础,实战以及求职等内容。我写过一个Java工程师学习指南,我把它分为了四个部分,第一步是打好Java基础,掌握Java核心技术,第二步是掌握Java Web技术栈,能够做一些项目,第三步是掌握Java方面的进阶技术,包括网络编程、并发编程、JVM等,第四步是掌握后端进阶技术,比如分布式、缓存、消息队列等技术。按照这样的一个脉络,我觉得能够掌握这里面的绝大部分内容,并且有过相应的一些实践,那么可以算是学好了Java。当然,学好Java只是一个开始,要真的干好活,做好项目,以及其他各方面的技术工作,则是在学好Java的基础去延伸和展开的。接下来就是具体的文章,建议大家按顺序阅读,有点长,收藏的时候记得点赞或者评论哈。笔芯!Java工程师学习指南入门篇最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好。原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都是站在Java后端的全局上进行思考和总结的,忽略了很多小白们的感受,而很多朋友都需要更加基础,更加详细的学习路线。所以,今天我们重新开一个新的专题,分别按照四篇文章讲述Java的学习路线(分别是入门篇,初级篇,中级篇,高级篇),笔者也打算趁此机会,回忆一下自己的Java学习历程。今天我们要讲的是,小白同学如何入门Java。先声明一点,文章内容不会详细到每一步怎么操作,只会提供大致的思路和方向,给大家以启发,如果真的要一步一步指导操作的话,那至少需要一本书的厚度啦。本文所述的方法不一定适合所有人,如有错误敬请谅解。01 前期准备工作开发环境搭建这一步我们往往会直接跳过,但既然是面向小白的教程,这里就提一下吧。首先你需要一台电脑,然后安装好JDK和JRE,JDK提供的是Java开发工具,也就是一些必备的jar包,JRE则是Java的运行环境组件,我们熟悉的JVM就在这里面。安装好这两个东东之后,一般还要配置一下环境变量,否则有一些目录可能无法被正确找到。IDE选择和安装IDE指的就是本地开发编辑器,没有了它,你就只能直接在记事本这类工具里敲代码了。IDE最大的好处就是整合了大量的工具和功能模块,让你非常轻松地完成开发。以前大家都用eclipse,不过eclipse已经不流行了,现在我推荐你直接用intellij idea作为你的第一个代码编辑器。如果是用过eclipse的同学,基本上也可以无痛切换。intellij idea可以直接在官网上下载,试用版30天,如果想要永久使用,网上也有一些办法滴。关于jar包jar包是什么,其实就是将一堆class格式文件打包,Java中把它称为jar包,这些jar包在编译器中能被直接识别,让开发者使用。对于新手来说,可能只需要用到JDK自带的一些API,但是如果你要引用外部jar包,可能就会遇到一些困难了。对于idea来说,导入外部jar包有两种办法,一种是手动导入jar包,一种是使用maven。后者会在Java Web相关的文章中讲起。手动导入jar包其实也不难,你需要先下载好jar包,然后在对应的项目下选择导入jar包即可,具体的方法这里就不展开说了,因为在网上都找得到。02 学习Java基础的几种方法了解基础语法学习一门语言,最开始要做的事情就是学习它的语法。我最早学习Java语法是在Runoob,这个网站可以让你对任意一门语言完成最快速的语法入门,当然,这只是相当于你浏览了一遍基础语法。想要真正掌握Java语言基础,光看基础语法还远远不够,我在大三第一次接触Java课程,听老师讲面向对象三大特征听得一头雾水,连数组的初始化方式都理不清楚,但这些内容都是我们需要掌握的。所以,为了学好Java基础,我们还需要看视频或者看书进行学习。看视频视频的话,可以到极客学院或者慕课网听Java基础课程,当然也可以看我分享的Java视频课程。大家也都知道,现在Java的培训班非常多,基本上学的东西也都大同小异,不过它们的有些课程还不错,大家有渠道的话也可以去看一看。看视频的好处是你可以更好地接收知识,同时也会耗费你更多实践,所以,有时候你也可以选择看书。看书看书的话,对于小白来说不推荐太复杂的书,比如《Java编程思想》这种书,新手千万不要看。我个人建议,你只需要先看看《Java入门到精通》这种类型的书就足够了,因为这个部分的学习只是为你后面的学习开个头,你以后可能还要回过头来重新研究这些内容。现在市面上介绍Java基础的书籍实在太多了,质量参差不齐,内容同质化严重,笔者看过的其实也不多。给大家一个建议,你只需要挑一两本书来看即可,这里推荐两本最简单的吧,《head first java》和《Java从入门到精通》。看博客这里再推荐另一种学习方式,就是看博客,博客比起书籍来说,更适合对于某个技术点的学习,你可以很容易地在网上找到这个知识点相关的原理,实现方法,以及代码范例。我的博客里没有讲解特别基础的东西,如果你看一些比较基础的文章,可以到Runoob等网站上查看。如果你有一个很明确的知识点想要学习,相信搜搜引擎会给你更好的答案。代码实践除此之外,一般的Java书籍或者视频课程都会要求你相应完成一些练习题,这部分内容你需要自己在电脑里使用IDE完成。在IDE里,你可以很好地熟悉Java语言的使用,基本代码的实现,同时可以尝试各种各样的API,并且测试一些语言特性,比如继承,封装,多态等等。另外,这也是你熟悉IDE的一个好机会,因为在公司里做开发可能要用到IDE各种各样的功能,提前熟悉好IDE绝对是有益无害的。03 Java入门必备知识点梳理在Java入门阶段,你可能需要接触到以下这部分知识,不管你是从通过哪种方式学习,这些内容都是你学习Java基础时绕不过的重点。Java基础知识这部分内容是你必须要掌握的内容,在入门阶段你需要把这些基础打扎实,以便于在学习后面的内容时可以更上一层楼。如何把基础打扎实呢,最好的办法就是在IDE上把书上或者视频上的每个例子都实现一遍,当然有的时候你也可以自己写一些有意思的例子。1 基本数据类型比如int,double,char,以及其包装类。熟悉基本数据类型的使用,了解每种类型所占的字节数,以及它们和包装类之间的相互转换。2 流程控制比如for循环,if else,while循环等等如果是学过c语言的同学,这部分可以跳过了。3 字符串类型String的使用字符串类型是Java中很重要的类型,它不是基本数据类型,但却很常用,熟悉和实践String相关的api,开始你对字符串的学习吧。4 数组数组的初始化方式有哪些,二维数组应该怎么写,把数组当成方法参数又该怎么处理?5 类和对象Java中最重要的两个概念:类和对象,它们有什么用呢,有什么区别和联系呢,请在代码中实践它们吧。Java核心技术对于这部分内容,我相信很多小白只能了解它们的基本使用方法,但是并不明白其背后的一些原理:比如为什么接口和抽象类有这些区别,多态的意义是什么,为什么要有反射。新手在学习这部分内容时,只需要知道怎么用就可以了。当然,你最好把这些特性都实现一遍,以加深印象。至于为什么有这些特性,这些特性背后的原理是什么,不是我们现在讨论的内容,这些内容我们将在初级和中级篇中讲述。因为,要了解这些原理,你得了解JVM,了解并发技术的基础,了解网络基础,甚至更多。显然,这不是你现在能做到的。1 接口和抽象类写一些接口,同时写一些实现类去实现这些接口,并且了解一下为什么我们需要接口,为什么子类需要实现接口里的方法。同理,去实现一些抽象类吧。然后,看看它和接口有什么不同。2 继承,封装和多态如何理解继承,子类和父类之间有什么联系呢。封装是一种保护代码的方式,有哪些方式可以实现封装呢。多态一般分为重载和重写,它们分别怎么使用?3 异常处理Java中的异常处理主要用于捕获和处理错误,请你写一些try catch代码块去捕获错误吧。4 集合类集合类是我们经常需要打交道的东西,List,Map,Set等等,赶快去熟悉API,然后写一些测试例子吧。5 IO输入流和输出流IO输入流和输出流可以操作文件,网络数据等内容,如何在Java代码中完成这么复杂的操作呢,其实只需要简单的几个api就可以了。6 多线程为了让系统资源最合理地分配和调度,我们需要多线程,多线程会让程序变得有趣,也会带来很多问题,使用Thread和相关API,去尝试这些有趣的事情吧。可选内容:1 反射(了解即可,不是入门必须)2 枚举类型和泛型(了解即可,不是入门必须)3 网络通信(了解基本的socket使用即可,需要网络基础)4 数据库操作(了解基本的JDBC即可,需要数据库基础)04 总结总而言之,对于一个Java小白来说,入门Java可以分为这几步:1 首先搭建好Java开发环境 2 通过Runoob等一些网站熟悉Java的基本语法 3 通过看书看视频等方式熟悉Java基础知识,通过代码实践加深理解 4 通过看书看视频等方式初步了解Java核心技术,通过代码实践加深理解。本文主要是为大家提供一个学习的思路,以及推荐一些学习方法,如果你能够按照这样的步骤去学习,并且配合上一些适合你自己的学习方法来完成学习计划,相信你可以很好地完成对Java的入门。Java工程师学习指南初级篇最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好。原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都是站在Java后端的全局上进行思考和总结的,忽略了很多小白们的感受,而很多朋友都需要更加基础,更加详细的学习路线。所以,今天我们重新开一个新的专题,分别按照四篇文章讲述Java的学习路线(分别是入门篇,初级篇,中级篇,高级篇),笔者也打算趁此机会,回忆一下自己的Java学习历程。今天我们要讲的是,小白同学如何入门Java。先声明一点,文章内容不会详细到每一步怎么操作,只会提供大致的思路和方向,给大家以启发,如果真的要一步一步指导操作的话,那至少需要一本书的厚度啦。本文所述的方法不一定适合所有人,如有错误敬请谅解。01 Java Web项目指南jav在上一篇文章中,我们讲到了入门Java的几个步骤,先搭建好环境,然后熟悉基本语法,接着熟悉Java的一些核心技术,并且在代码中进行实现。如果你已经完成了这部分内容的学习,应该会感觉自己对Java已经有一定了解了,可以轻松地写出一些Java代码,比如实现多线程输出数字,再如操作IO流等等。当然,这些代码通常只是一些demo,我们在实际的项目中可能并不会这么简单地使用这些技术,我们可能会同时使用集合类,多线程,以及操作数据库的API。所以,在今天的初级篇中,我们就来谈谈怎么做项目吧。Java Web项目对于大部分Java新手来说,最适合他们入门的项目就是Java Web了。因为Java天然适合做Web应用,并且生态完善,更有很多开源的工具和框架去支撑这些应用,比如Spring,Hibernate,SpringMVC等等。那么,如何开始着手做一个Java Web项目呢。个人认为最好的方式就是看视频了。因为,看书的话,很多内容比较过时,并且一般不会提供源代码。也有一些大佬喜欢推荐开源的项目(在GitHub上面的项目),但是对于小白来说,如果没有很完整的文档去指导他们,那也是毫无意义的。曾几何时,Java Web的项目还在使用JSP + Servlet进行开发,后来出现了Struts2,再后来,出现了我们现在也一直在用的SpringMVC,说实话,不论使用哪种开发框架,你都需要先花一些时间去学习相关的技术,否则你会发现,即使是看视频,你也不知道里面在讲什么。要想做好一个JavaWeb项目,你不仅需要一个好的项目课程,还需要足够的知识储备,下面就让我们来理一理这些内容把。知识储备Java基础部分的内容咱们上次说过了,这里就不再重复啦~下面我们分别来说说其他几方面的知识储备把02 前端知识推荐资源:在w3cschool学习html,css和js,支持在线测试代码。既然是做Web,就难免要涉及到前端技术,不过,现在前后端分离已经是一种趋势,所以,如果你对前端不感兴趣,也没必要花太多时间去学习。对于大部分同学来说,你最好要了解html的基本标签和格式,自己能够写一些简单页面,CSS的话,也可以稍微接触一些。相对于前面两个服务于样式的技术,我们倒是更应该去学习一下JavaScript,了解它的一些基本语法,以及ajax的使用,因为在前后端交互时,ajax是非常重要的。所以,做一个Java Web项目,你不需要花太多时间在写前端页面上,如果有源代码可以直接使用,当然,对于一些需要修改的前端页面,你得怎么去做修改它,因为有时候你需要使用JSP,JSP既包括前端代码也包括Java代码,如果你完全看不懂前端代码的话,那就很尴尬了。03 Java Web常用技术JavaWeb的技术栈其实比较庞大,所以我们不要求面面俱到,只是希望你能够熟悉一下项目中可能用到的技术。下面列举一些常见的技术,大家最好要了解一下。1 JSP和Servlet推荐资源:《JavaWeb入门到精通》,慕课网、极客学院等网站上的JavaWeb基础课程这是Java Web开发最原始的形态,现在很少直接使用了,但是后来的各种框架其实也是建立在servlet之上来做的。你们需要了解这两个技术分别是用来干什么的,最好能写一些demo来实践。对于JSP,有时候你可能还要学习jstl等标签语言,因为这些标签可以让你更方便地往JSP中插入Java代码。2 Spring和SpringMVC推荐资源:《Spring实战》,慕课网、极客学院等网站上的SpringMVC基础课程。事实上,除了上述资源之外,你也可以直接到官网上查看快速开始文档。Struts2早已被时代抛弃,Spring则是当今的霸主,你需要了解Spring如何使用,以及SpringMVC如何使用,并且学会在项目中使用它。由于SpringBoot最近很火,并且搭建方式比SpringMVC更简单,你也可以先学习SpringBoot,以便更快速地搭建起你的第一个Java Web项目。3 MySQL推荐资源:《Sql必知必会》,Runoob上的MySQL基础教程,慕课网、极客学院等网站上的视频课程一个JavaWeb应用一定要有数据啊,所以我们需要用到数据库,其实搭一个mysql数据库是非常简单的,但是对于初学者来说最麻烦的就是写sql了,所以,先学会建表,熟悉sql,对你以后做项目也是大有裨益的。4 Hibernate和Mybatis推荐资源:Runoob上的Hibernate和Mybatis基础教程,慕课网、极客学院等网站上的视频课程当你学会了使用sql去查询数据,可能还不足以让你在项目中很方便地处理数据,因为我们还需要一个步骤,就是把数据库的数据转化成Java里的对象。orm框架就是为了解决这一问题而出现的,它可以让一张表和Java类一一对应,让数据查询变得非常方便。Hibernate和Mybatis都是orm框架,只不过现在mybatis越来越火了。所以,你需要了解这一技术,因为它会广泛地运用到大部分Java Web项目中。5 Maven推荐资源:《maven实战》,易百教程里的maven教程,慕课网、极客学院等网站上的视频课程刚才咱们已经说过了Spring,orm框架,以及MySQL等方面的技术了。实际上,一个简单的Java Web项目也只需要这些东西了。但是,有一个问题,就是:一个项目里用到这么多技术,所需要的jar包也会很多,我们如何管理这些jar包呢。如果直接导入所需jar包,那当jar包更新或者需要替换时,每次都要手动操作,非常麻烦。另外,当jar包很多时,项目打包后的war格式文件也会很大,不利于传输。为了解决上述问题,maven应运而生了。maven通过pom.xml文件来指定所需的jar包,并且自带了很多构建相关的功能,比如编译,打包,运行单元测试等等,因为它本身就是一个构建工具。当然,新手可能还难以理解这些概念,你必须要知道的是,大部分Java Web项目需要用maven来管理,你需要学会maven的基本用法,最基本的用法就是:学会修改pom.xml文件。6 Tomcat推荐资源:慕课网、极客学院等网站上的视频课程。对于小白来说,Tomcat相关的技术是非常复杂的,毕竟它是一个应用服务器啊,事实上这个时候,你只需要学会如何安装Tomcat即可。毕竟,它在项目中的作用就是提供一个运行环境而已。正常来说,你只要下载解压Tomcat的压缩包即可。由于现在的IDE都支持集成Tomcat,所以一般情况下你都可以在IDE中配置好你的Tomcat路径,然后设置好你的项目路径,IDE会自动把你的工程代码部署到Tomcat服务器上。如果你使用想跳过IDE直接部署工程到Tomcat上,也可以直接编译工程并且打包得到war格式的文件(这个步骤可以使用maven来完成),然后拷贝war文件到Tomcat下的特定目录即可。上述两种部署方式的详细步骤请到搜索引擎寻找答案。7 Git和GitHub推荐资源:廖雪峰的Git教程,GitHub官网,慕课网、极客学院等网站上的视频课程。既然要做项目,为什么不把它发布在GitHub上。当你熟悉了Git指令之后,你可以很方便地发布你项目中的每一次更新,并且同步到GitHub上,这样既可以让你更好地管理项目版本,又可以让你GitHub更加活跃,为你未来的面试加分。所以,赶紧学好Git指令,然后开启你的项目之旅吧。04 其他常用组件除了上面几种必备的技术之外,有时候我们在项目中还会用到其他东西,在这里我们把它们叫做组件。这里只做简单的介绍,至于具体怎么使用,在网上都可以很容易地找到相关文章。1 日志系统当项目代码比较多的时候,容易发生错误,日志可以很好地记录代码运行时的错误,常用的日志系统有log4j,logging等等,另外你还需要了解一下slf4j。2 单元测试日志系统可以记录代码问题,单元测试则是为了避免代码出错,常用的单元测试组件主要是JUnit,建议你找个文档看一看,然后下载下来玩一下。3 JSONJSON逐渐成为前后端数据交互的标准格式,为了在项目中使用JSON的API,你也需要导入它的jar包,一般我们都会使用阿里提供的fastjson,赶快下载来玩一玩吧。当然,常用的Java Web组件还有很多,比如HTTPClient,再比如一些加密工具,一些压缩工具等等,这里就不再一一列举了。5 总结今天的内容就到这里了,与其说是初级篇,反而更像是“项目篇”呢。因为学完基础内容之后,做项目是最好的复习和实践方式了。所以这篇文章围绕着做项目来展开,也就不足为奇了。今天我们主要讲的是,做好一个JavaWeb项目,需要哪些知识储备,需要了解哪些技术,并且我也推荐一些比较精品的视频课程。后面我还会写一篇文章,专门讲一讲怎么做项目,会更加详细,更加侧重怎么去做,敬请期待吧。总结以下今天说的几个要点吧:1 Java基础知识储备 2 前端知识储备 3 了解和使用JavaWeb常用技术 4 JavaWeb常用组件介绍 5 视频课程推荐俗话说的好,磨刀不误砍柴工,相信你看了本文之后,可以更好地做好知识储备,然后开始Java Web的项目实践,希望你能够顺利地完成你的第一个项目。Java工程师学习指南中级篇最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好。原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我写的文章都是站在Java后端的全局上进行思考和总结的,忽略了很多小白们的感受,而很多朋友都需要更加基础,更加详细的学习路线。所以,今天我们重新开一个新的专题,分别按照四个部分讲述Java的学习路线,笔者也打算趁此机会,回忆一下自己的Java学习历程。今天我们要讲的是第三部分,Java工程师学习指南(中级篇)。先声明一点,文章里面不会详细到每一步怎么操作,只会提供大致的思路和方向,给大家以启发,如果真的要一步一步指导操作的话,那至少需要一本书的厚度啦。当然,本文提到的大部分内容都能在我的博客中找到对应的一些文章。所以也欢迎大家去我博客找到你们需要的资源。本文中的方法不一定适合所有人,如有错误还请谅解。上期回顾在上一篇文章中,我们主要讨论的是如何做一个Java Web项目,以及前期需要哪些方面的基础。最后,我还推荐了几个比较不错的视频课程,以便给大家参考。当然,跟着视频课程做完一个项目,你只是照葫芦画瓢又练习了一遍,可能其中有很多东西你并不太理解,比如你可能不知道为什么代码要分层,为什么要用maven进行线上编译,为什么Tomcat启动时会输出那么多的日志。有疑问很正常,因为一个Java Web项目涉及的技术还是很多的,如果要理解这些技术的原理,光靠一个项目课程是远远不够的。所以,在你体验了Java Web项目的开发流程以后,你应该花些时间去了解相关技术原理了,今天我们要讲的也是这部分内容。对于即将参加校招的同学来说,最重要的也是这部分内容,你需要了解JVM虚拟机原理,Java并发原理,并且熟悉JDK的部分源码,了解这些API的底层实现。除此之外,还有很多,下面我们分别来谈一谈。PS:文中多次提到我的博客,是因为我的博客里整理了多个技术专栏,基本上包含了下面所说的内容。关注公众号后,在公众号后台回复“练级”即可获得我的技术博客地址,以及其他相关的资源。01 计算机基础知识计算机基础课程(非科班)如果你不是计算机专业的同学,那你可能要注意一下了。在学习下面这些内容之前,你最好要学习一下计算机基础课程。这里我们说的计算机课程是:数据结构,操作系统,计算机网络。数据结构:这门课应该算是三门课程比较简单的一门了,推荐《数据结构与算法(Java语言描述)》,看书结合代码实践,把基本的数据结构算法写一写就可以了。操作系统:关于操作系统我看了很多本书,但是没有感觉特别好的,所以如果有时间的话可以先看另外一本书《深入理解计算机系统》,这本书讲了很多计算机的基本概念,不局限于操作系统。然后可以看一看汤小丹写的《操作系统》,或者你们学校的教材。计算机网络:网络方面的书也非常多,推荐看一下《计算机网络:自顶向下方法》,另外还有一本《TCP/IP 详解:卷一》也是备受推崇的书。除此之外,我还要推荐一下刘欣老师的书《码农翻身》,书中用一些有趣的故事来讲解操作系统和计算网络的一些复杂概念,有助于大家理解这部分内容。02 JVM虚拟机JVM虚拟机为什么把JVM放在第一位,因为它是最基础也最重要的一块内容。所有的Java代码都运行在JVM上,事实上,JVM在操作系统中只是一个进程。为了了解Java代码的运行方式,底层引擎的执行原理,以及内存的分配情况,我们必须要学习JVM虚拟机。推荐资源:《深入理解JVM虚拟机》很高兴地告诉你们,学习JVM你只需要把这本书吃透即可,当然,看一遍可不够,笔者前后至少看了三遍,有条件的话最好把书中的实例都跑一跑。另外,JVM也是面试必考的内容,所以,相应地去准备一些面试题也是很有必要的,如果你基本掌握了这本书的内容,相信你不会惧怕任何JVM面试题。03 设计模式与源码阅读设计模式为什么在这里提到设计模式呢,因为设计模式是Java编程规范的经典总结,并且在JDK源码中经常使用,由于我们后面会讲到JDK源码方面的学习,所以对于设计模式,建议大家先学习一下,最好的学习方式就是看书结合实践,把一些常用的设计模式自己实现一下。推荐资源:《head first 设计模式》JDK源码(主要指集合类源码)接下来下场的选手是:JDK源码。不过对于大部分人来说,只要能够掌握集合类,字符串这些源码就可以了,其他部分的源码主要集中在JUC并发包里,而这些内容我们会放在Java并发技术里来讲。为什么我们需要掌握集合类源码呢,其一是因为面试喜欢考,其二是因为集合类的源码实现都比较经典,难度也不算太大,并且运用了很多优化方法,所以了解它对于学习Java的同学来说大有裨益。推荐资源市面上并没有哪本书专门来讲JDK源码的,所以这部分内容的学习资源主要是两个部分,一是JDK源码本身,而是一些技术博客。1 对于JDK源码,直接看可能比较有难度,不推荐新手这么做。 2 讲解源码的文章质量参差不齐,所以我只推荐几个我自己比较熟悉的,一个是importnew。一个是我的博客。另外,我之前分享的一篇文章《你不可错过的Java学习资源》中也推荐了很多大牛和博客,大家也可以去看看。Spring源码说实话,Spring源码的复杂度远高于集合类的源码,这也是因为Spring运用了很多的设计模式,并且有着非常繁杂的类关系。所以,我不建议大家直接去读Spring源码,因为即使是看Spring源码解析的书籍,你也会感到很吃力。所以,我推荐的方式是,看书+看一些比较好的源码解析文章。另外要告诉大家的是,Spring的源码很多,并不是所有内容都需要你掌握的,大家都知道Spring最常用的特性就是IOC和AOP,所以看源码解析时,最重要的也是这两个部分了。另外,看完Spring的源码解析以后,别忘了看SpringMVC的源码解析,学习方法也是一样的,找重点内容看即可。推荐资源:《Spring源码深度》,我的博客专栏04 Java并发技术Java并发技术相信你为了搞定集合类源码和Spring源码花了不少功夫了,接下来轮到Java并发技术出场了。我们在入门篇其实已经谈到了多线程,但是也仅仅停留在使用Thread或者Runnable实现简单的多线程demo。实际上,为了理解Java并发技术的底层实现,我们还需要知道JMM模型,了解synchronized和volatile的底层实现,同时还要明白Java中的多线程和操作系统的多线程和什么联系和区别。除此之外,我们经常谈到的线程安全,有哪些实现方法,也是这部分内容的要点。学习并发技术,我建议分为三个步骤1 首先熟悉Java的多线程基础知识,比如Thread的使用,线程的状态转换,以及一些api的使用方式。 2 了解一些理论基础,比如JMM,操作系统的多线程实现。这部分内容推荐通过看书和看博客来学习。 3 了解并使用JUC的一些API,然后开始看JUC的一些源代码。这个阶段是最重要也是最困难的。推荐资源: 书籍:《Java并发编程艺术》,《Java并发编程实战》 网站:我的博客专栏,并发编程网,importnew,《你不可错过的Java学习资源》05 Java网络编程Java网络编程在搞懂Java并发编程技术之后,相信这部分内容也难不倒你。当然,前提是你对计算机网络有一定了解,因为网络编程涉及到TCP和HTTP相关的知识点。在学习这部分内容的时候,你首先要了解socket的使用以及原理,然后再去了解NIO的相关API,多写一些客户端和服务端通讯的demo,以便熟悉这些内容。为了更好地理解网络编程,你还要去了解UNIX网络编程模型。除此之外,如果你想要更好地理解Java网络编程,你还需要去了解Tomcat的实现原理。同时,Netty也是值得你去学习的一部分内容,最好有机会去用一用这一网络编程框架,学有余力的同学还可以考虑看看它的源码(笔者没有看)。推荐资源:我的技术博客,《Java网络编程》,《你不可错过的Java学习资源》05 Java8Java的版本一直在更新,但目前在用的主要还是Java8和Java7,等再过几年可能这部分的内容就过时了。但是目前看来,对Java8的学习和了解还是很重要的,毕竟面试也喜欢考。对这部分内容学习的最好方式就是:看文章+代码实践推荐资源:《Java8实战》06 总结今天的内容貌似有点多,大家会不会感觉有点吃不消呢。没关系,因为这部分内容确实需要花很多时间去学习。对于一个在校的Java学习者来说,可能没有机会接触到多么高大上的项目,所以对内功的修炼显得格外重要。看书,写demo,读源码,看似简单的事情实际上需要花费大量时间和精力,这个过程是需要你静下心来,慢慢沉淀的,在学习的过程中你也可以和笔者一样,写一些总结和博客,以便更好地回顾自己的学习历程。总结以下今天所讲的内容吧:1 计算机基础课程:数据结构,网络和操作系统 2 JVM基本原理 3 设计模式,JDK源码,Spring源码 4 Java并发技术,JUC源码 5 Java网络编程 6 Java8如果你对上述内容仍有疑问或者有一些建议,也可以和我交流。 关注公众号后在后台回复“少侠”可以获得我的联系方式。欢迎来撩。Java工程师学习指南完结篇先声明一点,文章里面不会详细到每一步怎么操作,只会提供大致的思路和方向,给大家以启发,如果真的要一步一步指导操作的话,那至少需要一本书的厚度啦。因为笔者还只是一名在校生,所以写的内容主要还是针对Java初学者或者接触Java后端不久的朋友,不适用于已经工作多年的Java大佬们。所以本文中的方法不一定适合所有人,如有错误还请谅解。本期的内容是系列文章的最后一部分内容了。这个系列可能还有很多东西没有说清楚,也有很多内容被忽略了。但是这些内容也确实是笔者结合自己经验总结而成的,希望能对大家有用 ~ 当然如果有什么建议也可以随时和笔者交流。上期回顾上期我们重点介绍了Java工程师进阶所需要掌握的一些技术内容。特别对于即将参加校招的同学来说,最重要的也是这部分内容,你需要了解JVM虚拟机原理,Java并发原理,并且熟悉JDK的部分源码,了解这些API的底层实现。之所以把这部分放在Java Web项目之后来讲,是因为我觉得,一开始做项目的时候你不可能已经掌握好上述内容了,所以你完全可以带着问题去做项目,再花时间去学习底层原理,这样你可以很好地结合你之前实践过的代码去理解那些底层技术了。本期主题本期主要介绍的是Java后端技术比较“高端”的一些内容,也就是我们经常聊的分布式,架构,缓存,消息队列等内容,另外我们也会介绍一些大后端相关的技术,比如云计算(OpenStack和docker),大数据(hadoop生态),以及一些常用的后端技术。这些内容其实离我们并不远,只不过在平时的项目中可能用的比较少,所以作为学生党一般也只能通过一些文章或者书本去学习理论知识。那么基于这么一个情况,我们来谈谈怎么学习这部分的内容吧。01 Web后端架构Web后端架构后端进阶第一步,先把Web架构相关的技术学好吧,因为之前大家都做过Java Web项目,想必对这块内容还是比较熟悉的吧。我们需要了解Web架构演化的历史,了解为什么要做服务器集群,为什么要用缓存,为什么要做拆分,做主从,以及为什么要有分布式。推荐资源:《深入分析Java Web技术内幕》,《大型网站技术架构》两本都是阿里大佬出的书,两位都是淘宝系的技术大牛。前一本书主要讲述的Java Web的一些技术基础,关于Web架构的内容比较少。后一本则是李智慧大佬写的架构科普书籍,用非常简单易懂的语言写出了大型Web项目架构之美,分别着眼于高可用,高性能,高扩展等方面讲解了很多设计结构的原则和方法。这本书应该是Web架构小白最好的入门书籍了。02 分布式理论基础由于下面的内容或多或少都会涉及到分布式相关的知识,所以这一部分我们主要介绍一下有关分布式的基础知识。笔者对分布式的学习主要也停留在理论上,所以这里讲的也是一些理论的东西。推荐资源:《从Paxos到zookeeper分布式一致性原理与实践》,我的技术博客专栏“分布式系统理论与实践”这本书比较好地科普了分布式基础知识,也介绍了zookeeper的原理和使用。了解zookeeper是了解分布式技术很重要的一个环节。1 CAP 和 BASE谈分布式就要谈CAP,一致性,高可用,网络分区容忍性为何只能三选二,为什么网络分区容忍性必须要被考虑。CAP在实际应用中真的可靠么?BASE出现的原因,为什么BASE更容易实现,更适合实际应用,BASE可以通过哪些技术去实现呢?2 一致性协议和算法一致性协议也是分布式理论的一个重点,2PC,3PC,分别指的是什么,其中分别有什么问题。3PC解决了2PC的一个问题,却仍然不完美。Paxos和Raft两种一致性算法,显然前者比后者复杂得多,但是Raft可能更加实用。为什么我们需要一致性算法,它们又有什么用呢。3 分布式事务和最终一致性分布式事务是一个复杂的概念,主要指分布式系统中需要强一致场景时所用到的事务。理解和实现它都不是简单的事情。如果我们退而求其次,不要求强一致性,而选择最终一致性,则可以用更加灵活的方案,比如事务消息。03 常见分布式技术推荐资源:《从Paxos到zookeeper分布式一致性原理与实践》,我的技术博客专栏“分布式系统理论与实践”,《深入理解Spring Cloud与微服务构建》,《分布式服务框架原理与实践》。1 zookeeper上文说到zookeeper是分布式技术很重要的一块内容,这是因为zookeeper用于管理和协调分布式组件,虽然它出自hadoop生态,却用于很多应用当中,基本上有分布式的地方就有zk的存在。简单说来,zk可以提供全局统一的节点树结构,通过节点来管理资源,同时zk自身是使用集群方式部署的,所以保证自己是高可用的。根据这一特点,它可以作为服务注册中心,还可以实现分布式锁等功能。2 分布式服务分布式服务是一个挺有意思的东西,也很常用,简单来说,就是把服务组件部署在不同节点上,通过rpc的方式访问,为了实现这一功能,我们需要考虑通信协议,序列化方式,进一步来说,我们还要了解如何做服务注册和发现,以及如何做限流,做服务熔断和降级,等等等等。常见的分布式服务框架有dubbo,以及Spring Cloud这类产品,学会使用他们,然后了解它们的底层实现原理,相信会是一个很有趣的过程。3 负载均衡关于负载均衡,说起来其实很简单,就是把一组请求分成多组,按照某种规则分发到多台服务器上。但是负载均衡也涉及很多内容,包括负载均衡的算法,负载均衡的实现方式,我们需要了解它到底是在哪一层实现的。一般来说,常用的负载均衡方式有nginx和lvs两种,分别是7层和4层的负载均衡,一个基于域名进行负载均衡,一个基于端口号做负载均衡。了解它们的实现原理,会让你更好地理解这部分内容。4 分布式session和分布式锁这两个组件也是分布式项目中经常要用到的,了解它们的使用和实现原理,有助于以后在项目中的实践。分布式session一般有多种实现方式,可以存数据库或者缓存,也可以单独部署成一个服务,总之最重要的一点就是,性能要好,并且要高可用。分布式锁则用于一些需要一致性的场景中,比如订单生成这种全局唯一的功能,分布式锁通常可以用缓存或者数据库来实现,但为了保证高性能,并且避免死锁,我们一般采用Redis或者zookeeper来实现。04 缓存讲到缓存,我们说的最多的就是Redis,所以我们要讲的也是Redis。学习Redis,除了学会使用简单的api之外,最好还要了解它的实现原理。推荐资源:我的技术博客专栏“重新学习MySQL和Redis”,《Redis设计与实现》这里我们主要介绍三部分内容,也是我个人认为比较重要的三块内容。1 数据结构和底层实现Redis的数据结构比较丰富,但更有意思的是这些数据结构背后的底层实现,也就是作者如何用c语言来实现这些结构的。其中会有你熟悉的数组,链表,还有一些有意思的结构比如跳表,哈希表。2 持久化方式持久化方式主要分两种,aof和rdb,前者基于追加日志的方式来实现日志持久化,后者则是使用备份数据的方式来实现持久化。3 分布式方案这是Redis最有趣也最复杂的部分。 首先,Redis可以使用主从的方式部署,其中“哨兵”这一组件用于故障切换。基于哨兵的主从部署后来发展为Redis cluster的部署方式,也就是Redis集群,通过分片的方式来部署Redis集群,并且集群中任一节点都可以用来对外提供服务。当然,除了Redis集群之外,还有codis的分布式方案,codis基于代理的方式来实现,表面上还是使用原来的Redis API,但实际上访问的却是一个Redis集群。05 消息队列消息队列的作用一般来说就是削峰,控流,解耦合,目前业界也有很多的消息队列产品,在很多公司都会使用,当然,它们各有各的优缺点,我们也不必全都了解,这里我们大概介绍3种消息队列,它们各自的特点都比较鲜明,值得大家去了解一番。1 RabbitMQ笔者刚开始接触的消息队列是rabbitmq,它的使用方法比较简单。 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现,主要有以下特点:安装部署简单,上手门槛低,功能丰富,符合AMQP标准;企业级消息队列,经过大量实践考验的高可靠;集群易扩展,可以轻松的增减集群节点;有强大的WEB管理页面。2 Kafka与其他MQ相比较,Kafka有一些优缺点,主要如下优点:可扩展。Kafka集群可以透明的扩展,增加新的服务器进集群。高性能。Kafka性能远超过传统的ActiveMQ、RabbitMQ等,Kafka支持Batch操作。容错性。Kafka每个Partition数据会复制到几台服务器,当某个Broker失效时,Zookeeper将通知生产者和消费者从而使用其他的Broker。缺点:重复消息。Kafka保证每条消息至少送达一次,虽然几率很小,但一条消息可能被送达多次。消息乱序。Kafka某一个固定的Partition内部的消息是保证有序的,如果一个Topic有多个Partition,partition之间的消息送达不保证有序。复杂性。Kafka需要Zookeeper的支持,Topic一般需要人工创建,部署和维护比一般MQ成本更高。RocketMQRocketMQ是一个纯java、分布式、队列模型的开源消息中间件,前身是Metaq,当 Metaq 3.0发布时,产品名称改为 RocketMQ。具有以下特点:1、能够保证严格的消息顺序2、提供丰富的消息拉取模式3、高效的订阅者水平扩展能力4、实时的消息订阅机制5、亿级消息堆积能力除此之外,它还有一个优点,就是支持事务消息,让分布式事务的实现变得简单05 分布式数据库这里说的分布式”数据库“,其实指的是数据库的分布式方案,更具体来说,主要指的是数据库的主从部署,以及分库,分表。1 主从复制和读写分离这是数据库高可用的基础。MySQL数据库会使用日志来完成主从复制,先写主库,然后再同步到从库。读写分离则一般是指的是:从库负责读,主库负责写。2 分库分表方案分库分表是解决大表性能瓶颈的一种方法,当然也分为横向拆分和纵向拆分,横向拆分指的就是减少单表的数据量,放到其他表或者其他库中。纵向拆分则一般指按照业务来拆分,把不必要的字段放到其他表中。分库分表可以在应用层做,通过对id或者其他字段进行hash以便映射到对应的表中。当然也可以通过数据库中间件来完成,例如mycat这种中间件,通过代理的方式实现分库分表,非常方便。06 大后端相关技术这部分的内容笔者也只是略知一二,所以这里只是抛砖引玉,做一个简单的科普罢了。毕竟咱们学技术的人都是先讲深度再来谈广度。当你对之前的内容掌握得比较好的时候,再去看看大后端的一些其他技术,也会感觉挺有意思的。下面这些技术主要是我自己学习路上接触过的一些内容,所以比较熟悉,才拿出来分享,至于适不适合大家的口味,可能就见仁见智了。Hadoop生态笔者之前参与过数据仓库相关的项目,所以稍微了解了这方面的内容,感觉hadoop生态还是挺有意思的。大家不妨去了解一下其中的基本组件,然后打一个集群自己玩玩看。 常见的组件有:hdfs,hbase,hive,zookeeper,flume,sqoop,yarn。推荐资源:我的技术博客-个人分类-hadoop,《大数据技术原理与应用》对于入门hadoop生态来说,这本书完全足够了,如果你要做大数据平台开发或者是数据研发工程师,可能需要非常全面地了解这些组件的底层原理。云计算初探笔者之前参与过私有云相关的项目,所以稍微了解了这方面的内容,感觉这方面的内容也蛮有趣的。我在项目中主要接触到的是OpenStack,docker以及kubenetes,OpenStack是一个私有云生态,内部结构对于我们来说还是比较复杂的,不过最根本的虚拟化技术还是基于kvm虚拟化来实现的。docker则是现在非常流行的一种容器,用于快速部署应用。kubenetes也借着docker的东风火了起来,可以理解为是基于容器的分布式调度系统。这些技术在企业中也是比较常用的,只不过对于研发同学来说,更多时候扮演的是工具的角色。推荐资源:《Docker技术入门与实战》,《kubenetes权威指南》其他常见后端技术除此之外,想必大家还了解过很多其他的技术,只不过不同的业务用到的组件往往不一样,所以并不是每个东西你都需要去了解。比如搜索引擎技术Lucene,基于它的两款产品solr和elasticsearch,通常出现在需要搜索功能的项目中。再比如流式计算技术,如storm和spark streaming等等,通常都用于大数据部门,用作实时数据采集。又如ELK实现的分布式日志系统,多用于分析和定位系统问题,经常会出现在一些比较重要的应用当中。当然,也有现在大火的人工智能,还有太多的技术我们没机会去了解和使用,我们能做的也就是在自己能力范围内把需要做的东西做到最好了。所以,这些内容并不是每一样你都需要知道,但是如果有时间去了解一下的话,还是建议多了解一点的。07 总结总结今天码的字有点多,所以难免有些写的不太好的地方,希望大家见谅。纵观全文,我们主要讲了这些内容:1 Web架构 2 分布式基础理论 3 常见分布式技术 4 缓存 5 消息队列 6 数据的分布式方案 7 大后端相关技术至此本系列文章就已经结束了,不知道大家有什么问题或者建议想和笔者交流吗~赶紧加我的微信来聊聊吧。写本系列文章也是因为有很多朋友想要了解更加清晰的Java后端学习路线,所以我总结了之前自己的学习历程,才创作出这四篇文章,希望能够对大家有所帮助~

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
评论列表 (暂无评论,87人围观)

还没有评论,来说两句吧...