聊一聊我在 B 站自学 Java 的经历吧

Hey guys ,这里是 cxuan,欢迎你收看我最新一期的文章。

这是一篇鸽了很久的文章。。。。。。

事情还要从上回说起。。。。。。

我爱 B 站!

这篇文章我汇总了 B 站上计算机基础(操作系统、计算机网络、数据结构和算法、汇编等)学习视频,受到了很多小伙伴的认可和追更。

image-20210707092255679

甚至 CSDN 还有在催我更新的读者朋友

所以这篇文章,不能再拖了,更新起来!!!

Java 基础

  1. Java 基础 :尚硅谷宋红康 https://www.bilibili.com/video/BV1Qb411g7cz?from=search&seid=3239754642326087699

宋红康老师讲课非常有意思,在讲 Java 之前,他会先把一些计算机基础知识带你了解一下,让你学习 Java 的时候不至于雾里看花。讲完 Java 基础后,后面还有项目驱动带你复习一下 Java 基础还有一些 Java 新特性的解读,强烈推荐。

image-20210707092244491

  1. 黑马 Java 基础+就业班+各种项目 idea 版本 https://www.bilibili.com/video/BV1T7411m7Ta?from=search&seid=7814817997553885082

使用 idea 作为工具是很多 Java 教程都不具备的,可以看到这个教程是非常新的。这个教程有 561 节,贯穿了 Java 基础、项目、数据库、MySQL、JDBC、数据库连接池,可以说学完这个视频就能够直接上手 Java web 开发了。

image-20210707092237669

  1. 动力节点 Java 零基础教程视频 https://www.bilibili.com/video/BV1Rx411876f?from=search&seid=8188804264018104029

动力节点的这门零基础 Java 课程分类很全,几乎涵盖了所有的 Java 基础知识,有 800 多节视频,也足以可见这门零基础视频课的用心程度。

image-20210707092230303

  1. 北京尚学堂高琪(推荐) https://www.bilibili.com/video/BV1ct411n7oG?from=search&seid=1325362106445226276

高琪老师的视频也非常不错,其中还夹杂着多线程和网络编程的知识点,还有一些手写集合类的视频非常有特点,这是其他视频教程所不具备的。

image-20210707092223004

  1. 求知讲堂 Java 基础教程 https://www.bilibili.com/video/BV1CJ411m7gg?from=search&seid=18277504940090538498

这是一位对学生有过深入了解的老师,口碑非常好,而且几乎没有废话,无尿点,非常好的一个 Java 基础教程,有很多小伙伴认为是全网最好的 Java 基础教程

image-20210707092153200

设计模式

  1. 尚硅谷设计模式(图解 + 框架源码剖析) https://www.bilibili.com/video/BV1G4411c7N4?from=search&seid=4428845171746122125

B 站上面可能评价最好的设计模式就是尚硅谷的这个视频了,不得不说,尚硅谷确实为免费视频这部分做出了很多贡献,推动了 Java 行业的进程,这种气度不是一般培训机构能有的,respect!!! 关键是跟我一样,能否免费分享知识,爱了爱了。

image-20210707092140263

  1. 黑马程序员 Java 设计模式详解 https://www.bilibili.com/video/BV1Np4y1z7BU?from=search&seid=9219265800052022566

除了尚硅谷之外,黑马也在 B 站分享了很多 Java 学习视频,值得称赞,这个设计模式就是从设计模式的原则开始讲起,然后深入各个具体的设计模式,通过图解 + 框架源码 + 实战的方式为你剖析 23 中设计模式,值得一看。

image-20210707092132718

并发

  1. 狂神说 Java,JUC 并发编程最新版 https://www.bilibili.com/video/BV1B7411L7tE?from=search&seid=6509425418407149239

我一直认为 JUC 这块通过自学 + 看书就能够理解的差不多,因为关于并发这块有非常多的书籍可以翻看,关于书籍推荐你可以阅读我的这篇文章 憋了半个月的 PDF:精通 Java

但是狂神的视频却改变了我的想法,这个 JUC 的视频可以说讲的非常清楚了,而且评论区也能够学到很多东西,给狂神点赞。

image-20210707092121879

  1. 黑马程序员全面深入学习 Java 并发编程 https://www.bilibili.com/video/BV16J411h7Rd?from=search&seid=12886808285377462926

我没想到一个并发编程黑马能讲这么多节,整部视频分为了 281 节,每一节能够讲清楚一个小的知识点,可以说是非常细致了。

image-20210707092111488

JVM

尚硅谷 JVM 全套教程 https://www.bilibili.com/video/BV1PJ411n7xZ?from=search&seid=2261805012215925675

JVM 的这个部分,其实看 B 站宋红康的这个视频就可以了,一套 JVM 的视频讲了 381 节,这个真的太细致了。B 站真是一个优秀的白嫖圣地,关键是质量还非常高。

image-20210707092100586

关于 JVM 的视频,一个就够了,其余的可以看《深入理解 Java 虚拟机》和《Java 虚拟机规范》,一个视频两本书,JVM 这块拿捏的死死的。

MySQL

  1. MySQL 基础 + 高级篇 https://www.bilibili.com/video/BV12b411K7Zu?from=search&seid=8822212220843339542

其实 MySQL 基础这块,最好的学习方法就是实战了,当然也可以根据老师的讲解一步一步实战练习,但是一定要多多练习,MySQL 基础这块我记得我刚开始学习的时候就是无脑写 SQL 语句。。。。。。

image-20210707092050818

  1. 狂神说 MySQL https://www.bilibili.com/video/BV1NJ411J79W?from=search&seid=8822212220843339542

狂神说的这个 MySQL 不是一个基础的小白实战视频,更多当成 MySQL 进阶视频来看。

image-20210707092041272

Oracle

Oracle 从入门到精通 https://www.bilibili.com/video/BV1kx411s71n?from=search&seid=15106088305695188518

我相信我的读者朋友们还有一部分是传统企业开发,这种公司一般一般不差钱,用的大多是 Oracle 数据库,所以除了 MySQL,我也把 Oracle 相关视频呈上。

动力节点的这个 Oracle 对于萌新来说讲的还算不错,但是缺点就是有点老了。

image-20210707092009958

Maven

作为 Java 程序员,Maven 你应该再熟悉不过了吧,但是我相信绝大多数同学对于 Maven 只存在于知道是干什么的 + 会用阶段,出现各种问题和错误却不知道如何排查,所以,对于 Maven,你还是要系统学习一下。

动力节点 Maven 2020 最新教程 https://www.bilibili.com/video/BV1dp4y1Q7Hf?from=search&seid=6464949663316281669

image-20210707092002177

MyBatis

当讲到 Java 开发框架的时候,我知道这就是狂神说的天下了。

  1. 狂神说 MyBatis https://www.bilibili.com/video/BV1NE411Q7Nx?from=search&seid=2879637916148091984

狂神说的这个 MyBatis 讲的非常好,用的是 idea ,而且会接触到大量的官网中的核心概念,基本上看这个视频能把官网也撸一遍,简直不要太爽。

image-20210707091952699

  1. 尚硅谷 MyBatis 实战 https://www.bilibili.com/video/BV1mW411M737?p=7

尚硅谷的这个 MyBatis 是使用的 eclipse,如果用不惯 idea 的同学可以尝试使用 eclipse。

image-20210707091944573

Spring

  1. 狂神说 Spring 5 最新完整版 https://www.bilibili.com/video/BV1WE411d7Dv?from=search&seid=6090986099699750271

狂神的视频有个特点就是非常新,这个课程是基于 Spring 5 来讲,而且狂神讲课调理比较清晰,易于接受。还有一点,狂神的评论区非常有特点,有任何疑问基本上都能在评论区翻到,这个很有帮助。

image-20210707091932011

  1. 尚硅谷 Spring 5 最新完整版 https://www.bilibili.com/video/BV1Vf4y127N5?p=2

尚硅谷的视频对比狂神说的更有年代感,不过对于知识点的讲解来说,还是非常不错的,这个 Spring 视频信息密度很大,老师基本上没有废话,全程干货。

image-20210707091921768

JSP / Servlet

  1. Java Web 教程 JSP / Servlet https://www.bilibili.com/video/BV18s411u7EH?from=search&seid=5352003383479045881

之前看到有的公众号主说 JSP/Servlet 不用学了,真是惊到我了。。。。。。天下之大,无奇不有。Servlet 是前后端交互的基石,不学 Servlet 你永远不知道前端请求是如何发送到后端的,你也不知道 Web 容器的工作机制是怎样的。至于 JSP,你可以不用当作重点,花时间过一遍就可以了。

image-20210707091912573

  1. 狂神说 Java Web https://www.bilibili.com/video/BV12J411M7Sj?from=search&seid=14721206289992767391

狂神的这个 Java Web 也挺好的,学完这个之后,后面的 Spring MVC 会非常 easy

image-20210707091858672

Spring MVC

  1. 动力节点 Spring MVC 教程 https://www.bilibili.com/video/BV1sk4y167pD?from=search&seid=12702663615298459448

Spring MVC 其实就是 Servlet 的一层包装而已,它也是 Spring 的一个模块,有人说 Spring MVC 不用学,有些人说还是要学的,褒贬不一,但是多学点,没啥坏处。

image-20210707091850730

  1. 雷神 Spring、Spring MVC、MyBatis https://www.bilibili.com/video/BV1d4411g7tv?from=search&seid=12702663615298459448

很多人说这个教程是个黑马,也有人说是全网最好的 SSM 框架体系,我信了,大家可以听听。

image-20210707091840334

Spring Boot

  1. 雷丰阳 2021 SpringBoot 2 全套教程 https://www.bilibili.com/video/BV19K4y1L7MT?from=search&seid=738549918980451379

基于 SpringBoot 2 的一套教程,内容涉及源码流程分析、系列整合等,非常受用。

image-20210707091833170

  1. 狂神说 SpringBoot https://www.bilibili.com/video/BV1PE411i7CV?from=search&seid=13812615317828669529

狂神说的 SpringBoot 和雷丰阳的差不多,可以选择一个观看学习就行了。

image-20210707091716374

Spring Cloud

Spring Cloud 太火了,分布式这块企业基本上就是 Spring Cloud 和 Dubbo 了,Spring Cloud 的优势就是基于 Spring ,学起来简单易上手。

尚硅谷 Spring Cloud https://www.bilibili.com/video/BV18E411x7eT?from=search&seid=849283632457170229

尚硅谷又来了,尚硅谷为自学的同学打开了一扇门,让天下没有难学的技术确实不是一句空话。这个视频是基于 H 版本来讲,评论区还有很多踩坑实践,强烈推荐。

image-20210707091705804

Dubbo

Dubbo 是和 Spring Cloud 同样重要的分布式框架,现在由阿里维护,有很多公司也使用了 Dubbo 作为了企业的分布式框架,另外 Dubbo 的面试题问的次数不少。

尚硅谷 Dubbo 教程 https://www.bilibili.com/video/BV1ns411c7jV?from=search&seid=918597271364290917

image-20210707091656629

Redis

  1. 狂神说 Redis https://www.bilibili.com/video/BV1S54y1R7SB?from=search&seid=15441709125806143660

狂神的这个 Redis 非常不错。

image-20210707091642270

  1. 尚硅谷的 Redis 课程 https://www.bilibili.com/video/BV1Rv41177Af?from=search&seid=15441709125806143660

鉴定完毕,白嫖很香。

image-20210707091629926

Kafka

尚硅谷 Kafka 教程 https://www.bilibili.com/video/BV1a4411B7V9?from=search&seid=2486588475719309528

Kafka 有录制视频课程的 up 主或者培训机构不多,尚硅谷算一个。

image-20210707091601515

ZooKeeper

尚硅谷 Kafka 教程 https://www.bilibili.com/video/BV1to4y1C7gw?from=search&seid=17934154894823279789

中间件这块,基本上就是尚硅谷的天下了,ZooKeeper 也是推荐尚硅谷的课程

image-20210707091553787

Nginx

  1. 尚硅谷 Nginx 由浅入深 https://www.bilibili.com/video/BV1zJ411w7SV?from=search&seid=6154098961934401121

Nginx 作为负载均衡器,反向代理在企业中的应用也非常广泛,这里推荐一下尚硅谷的 Nginx 视频教程。

image-20210707091544716

  1. 狂神说 Nginx https://www.bilibili.com/video/BV1F5411J7vK?from=search&seid=6154098961934401121

image-20210707091536745

Netty

Netty 是一个利用 Java 的高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的 API 的客户端/服务器框架。

  1. 黑马程序员 Netty 教程 https://www.bilibili.com/video/BV1py4y1E7oA?from=search&seid=6418554548883631427

image-20210707091529054

  1. 尚硅谷韩老师讲的 Netty https://www.bilibili.com/video/BV1DJ411m7NR?from=search&seid=6418554548883631427

image-20210707091521544

Elasticsearch

狂神说 Elasticsearch https://www.bilibili.com/video/BV17a4y1x7zq?from=search&seid=9586259662275156042

Elasticsearch是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口,在企业中的应用也非常广泛。这里推荐一下狂神的 Elasticsearch。只要学不死,就往死里学。。。。。。怕了怕了。

image-20210707091512948

Git

现在互联网几乎都用 Git 了,只有传统软件公司还在使用 svn 苦苦挣扎。Git 我认为直接看廖雪峰官网的 Git 教程就很好了,还有 gif 动图解释 https://www.liaoxuefeng.com/wiki/896043488029600

视频的话,可以看看狂神老哥的 Git 教程 https://www.bilibili.com/video/BV1FE411P7B3?from=search&seid=13484074141457830433

image-20210707091456836

也可以看看尚硅谷的,尚硅谷的这个是 git 和 github 一起讲授的。 https://www.bilibili.com/video/BV1pW411A7a5?from=search&seid=13484074141457830433

image-20210707091447158

Linux

  1. 兄弟连 Linux https://www.bilibili.com/video/BV1mW411i7Qf?from=search&seid=16225995836074244006

兄弟连的这个 Linux 评价很高,质量非常不错,课程划分的很细致

image-20210707091437792

  1. 韩顺平的图解 Linux https://www.bilibili.com/video/BV1Sv411r7vd?from=search&seid=16225995836074244006

针对小白,韩老师讲的通俗易懂,推荐。

image-20210707091426499

Docker

既然说到了 Linux ,就不得不提 Docker 了,打包必备,不管是运维还是开发都要掌握

狂神聊 Docker https://www.bilibili.com/video/BV1og4y1q7M4?from=search&seid=13307177942089285796

狂神的这个 docker 教程评价很高。

image-20210707091415131

Jenkins

现在大部分企业都会使用 Jenkins + Docker 来持续集成,关于 Jenkins ,推荐你看看

黑马程序员 Jenkins https://www.bilibili.com/video/BV1kJ411p7mV?from=search&seid=14498842163543360751

image-20210707091333808

有不少的同学发信给我,我探讨java自学过程应该是什么样的,毕竟有很多人因为各种各样的原因不能参加培训。我试着给出自己的见解,抛砖引玉吧。 这个路线图是给那些为了就业的人准备的,如果只是兴趣,不定照这个走。 这里只是讲了路线图,关于路线中的各个阶段,学到什么程度,如何学习等,可以参考后面的JAVA自学之路 七:《路线图明细》。 首先要学JavaSE,这是无庸置疑的。 与此同时,是的,与此同时,JavaSE的学习同步,建议大家研究下数据结构与算法。 在这儿之后,你可以选择向J2ME、或者Java GUI、Socket编程等方向努力,但是通过第篇的办法,你可以很容易就将这方向过滤掉(永远不要忘了我们是为了就业),好吧,暂时它们诀别,还是向着J2EE的方向前进吧。 在JavaSE完成之后,可以试着完成些小项目,同时关注下设计模式的内容,不必强求自己能够完全掌握各种细节,往前走吧。 掌握种编程工具,比如说Eclipse。 数据库,可以选择使用Oracle或者MySQL开始 。 JDBC,用Java连接数据库。 可以选择在这个地方切入Hibernate,也可以选择在Struts 之后。 HTML CSS JavaScript,这些东西是做web项目必需的内容 。 Servlet JSP,服务器端必需。 XML AJAX,新的流行趋势不能不了解。 作些小项目吧。比如BBS、留言系统、学籍管理、商城等等,随便着些业务逻辑比较简单的来做做。 Struts,MVC的典型应用 Hibernate,OR Mapping的典范之作。 Spring IOC + AOP, 面向对象 + 面向切面,完善的旅程。 把以前自己的小项目加入Struts、Spring、Hibernate的元素吧。 去研究各种商业项目的业务逻辑吧,才能在你的简历中加入浓重的笔。 EJB3.0,java在走了很多弯路后的回归之作,值得研究。 SOA,业界铁定的未来趋势,要紧紧跟随。 在后面,我会告诉你每步的学习方法学习重点。 JAVA自学之路 三:要动手 无论如何,请坚持不懈的动手实验! 学习Java要动手,仅仅是看听是不能够学好编程的。总有同学来信问我们这样的问题,说:"老师我看了视频了,可是怎么动手就没有任何思路呢?" 对此,我般都会说不要着急,如果你只是看了视频就想行云流水的话,那老师这些年的锻炼真是白费了,这么多年的苦练才能略有些行云流水的感觉,你夕就想自己能够达到,不是太奢侈了吗 作为编程的过来人想下,当年自己学编程的时候是什么时候有思路的呢?至少也是照猫画虎画了段时间之后吧,我本人是在某个领域画虎画了上万行代码的时候才慢慢有自己思路的。就像写作文,要有自己思路总是般来说要经过几个阶段,首先学习词汇,然后学习造句,然后大量阅读别人的文章,自己模仿着写些,逐渐的经验积累,才能形成自己的思路。学编程,恐怕也得慢慢的来吧,只是看看、听视频,是不足以学好编程的。 所以,动手吧,跟着做,行的跟着敲,个项目敲完了,比如坦克,再试着加些自己的功能,按照自己的思路敲些代码,收获远比干听大的多。 如果遇到,暂时对于些思路不能理解的同学,我般都会劝告说,动手写,先写代码,量变会引起质变的。而这种质变的确发生过不少次。 提醒句,要理解代码思路之后再跟着敲 ,背着敲,千万不要左边摆着别人的程序,右边自己个子母的写,这就不再是程序员了,成了打字员了。 纸上得来终觉浅,所以:别问那么多,别想那么多,动手写吧。 JAVA自学之路 四:要事为先 对待人生的任何事情都要:抓大放小,要事为先 对于个以前从来没有接触过java的人,java无疑是庞大的,似乎每个领域都可以拓展开来都是片开阔地,每个领域要想深入接触到每个细节所耗费的精力都是巨大的。这个时候大家都胸怀壮志,两眼发光的盯着每个崭新的知识点,遇见了任何个知识点都恨不得抠的清清楚楚,明明白白。 难道这有什么不对吗? 我的意见是,没什么大毛病,但是学习效率太低了!我们推荐的学习方式是,抓大放小,要事为先。 比如说学习J2SE的时候,学到GUI这章,有的同学认为,既然学到这儿了,我们去把SWING细细的了解遍吧;还有的同学,遇到了在Linux下的Shell编程,就恨不得把Shell先学成专家才肯,或者是才敢,继续往下学习;有没有过这样的感觉,本书的上册没有学好,觉着下册心里也没底儿,甚至非要把上册复习遍才敢继续学习。如果你也是这样,要去看看心理医生啦,没准儿会有洁癖的毛病。 任何事情都要追求完美才敢继续往后进行,是种性格缺陷 大胆的放弃些东西吧,有失才有得,把自己有限的、宝贵的精力用在对于就业直接相关的地方,这才是最有效率的学习方式!等你参加工作,有了可持续发展的事业动力经济基础,有时间有精力闲的没事儿干的时候,再去研究那些其它吧。 曾经有个故事,说得是产能产量的关系。 个人喜欢读书,读了辈子,无所不通,这时候要做任何工作都可以,他的产能到了极致,但是,他老了,即便每天产出大量的东西也不能维持多久了,辈子的产量并没有多少。 另个人直接工作,忙,天天在机器旁日复日,做了辈子,没时间学习进修,可以想象,产量能有多大呢。 人的生,要锻炼产能,也要及时产出,引擎要转,也要停下来加油,这两者平衡的越好,你的贡献产量就会越大。如果钻研的东西产能目标(或者说近期的产能目标)无关的话,要舍得放手。 所以,对于SWING,暂时先扔在边吧。 对于shell,对于各种协议过于详细的细节,对于喜欢的游戏编程,对于javascript各种华而不实的效果,都暂时它们分别吧。我们的直接工作目标关联不大的东西,扔在边或者弄清楚到足够支持下步的学习就可以了。 那这样岂不是妨碍我成为通晓各种细节的高手了吗? 我向不认为个人掌握了很多很多知识点的细节就是高手了,个人如果告诉你,回字有四种写法,你会认为他是高手吗? 毫不客气的说,现在我们所教授的所有知识细节在网上或书中都可以找到,只要你肯花时间花精力去动手试,去钻研,没有什么不能掌握的。struts、spring你能掌握吗?当然能!但是如果把时间花在spring的各种细节的研究上,花在研究中国企业应用不广泛地的spring mvc上,这个精力就太浪费了,而且学习的积极性会受到打击,谁愿意整天泡在细节的蜘蛛网中挣扎不出来呢?谁愿意天天经历风雨却总是不能见到彩虹呢? 盖房子,要先建骨架,再谈修饰。 画山水,要先画结构,再谈润色。 认识台结构复杂的机器,应该首先认清楚脉络,然后再逐步认识每个关节。 为了应付从小学到大学的考试,我们背了各种各样的不应该提前掌握的细节,同时也养成了见到细节就抠的学习习惯。而现在,是到改改的时候了。 请在合适的时间,做合适的事情吧。 把时间精力花在作项目上面,花在写作品以及锻炼解决问题的能力上面吧,这是迈向高手的正确的而且快速的方向。 我直不认为个课程提供了很多很多的细节就是优秀的价值高的课程了,掌握必要的细节,这个不含糊,至于其他,或者通过视频给出(这样可以给出更多的细节,但是不占上课时间,课上只讲重要的、必要的细节知识),或者在掌握了自学的能力后自己能够查出,这才是正途。 当你看书到某个地方暂时不理解的时候的,暂时放手吧,追求些行云流水、自然而然的境界吧,只是不要停下前进的脚步,不要被大路旁边的支根末节干扰了你前进的行程,项目,真实的项目,这才是目的,就在不远的前方。 陶渊明读书,叫做“不求甚解”,但他是大诗人。 诸葛亮读书,总是“观其大略”,但他是大政治家。 作研究的,是在确定了方向之后才详细的研究深入的东西。 到了庐山,脉络形状扔在边,盯着棵棵小草、粒粒石子的看,怎么样才能识得“真面目”? 作为应用型的人才,是研究回字的n种写法还是抓紧时间向着主要应用的方向努力,请自己作出抉择。 以项目驱动自己的学习吧,当把握了技术的脉络之后再去补充细节的研究,是正途。 这辈子就不研究其他的方向了吗? 当然要研究!但是在将来合适的时间再说吧。 所以,抓大放小,要事为先! 那么,在JAVA的这些课程中,哪些才是大,才是要事呢?请继续读下去。 JAVA自学之路 五:问题解决之道 既然是学习,就不可能不遇到问题。 既然是自学,就没有方便的老师探讨的机会。 那么,遇到问题之后,环境配不通,程序调不过,运行不正常,遇见这些恼人的问题的时候,该怎么办呢? 首先我要恭喜你,遇见问题,意味着你又有涨经验的机会了,每解决个问题,你的JAVA经验值就应该上升几百点,问题遇到的越多,知识提升的越快。 但是总是解决不了也是很恼人的,怎么办呢? 我般要求我们的学生都是这样来进行的。 当你遇到个问题的时候: 1:要仔细的观察错误的现象,是的,要仔细 有不少同学的手非常快,在编译个程序的时候,报了大堆的错误,扫了眼之后就开始盯着代码行的找,看清什么错误了吗?没有!有的时候安装软件出问题了,个对话框弹出来说出错了,马上举手问老师:“不得了了,出错了,出错了”。 “什么错误?” “还没看呢?” 这都是典型的不上心的方法!请记住,学习编程并不是件很容易的事情,自己首先要重视,要用心才可以。 在开发中,仔细观察出错信息,或者运行不正常的信息,是你要做的第件事。 读清楚了,才能在以后的步骤中有的放矢,哭了半天,总要知道哭的是谁才成。 这里又分三种情况: A:错误信息读懂了,那么请进入2步:要仔细思考问题会出在哪些环节 B:没读懂,愣是点没看懂,进入第4步吧:google C:读了个半懂,有些眉目但是不太能确定,第2步第4步结合着来。 2:要仔细思考问题会出在哪些环节(重要) 当你读懂了个问题之后,要好好的思考这个问题可能会在哪些环节上出错。 辆汽车从总成线上下来,车门子关不上! 哪错了?你怎么查? 当然是顺着生产线的查下来。 程序也是样的,也是系列语句完成后产生的结果。 写个网络程序,总是发现服务器端打印不出接收的数据,有几个环节会出错? 仔细分析这个现象的环节: 客户端产生数据->按“发送”按钮->发送到服务器->服务器接收到后打印 这几个环节都有可能会出错: 有可能客户端根本就没产生数据,有可能发送按钮按下去后根本就没发出去,或者发出去的不是你产生的东西,或者根本就没连接网络,或者发送出去服务器没有接收到,或者接收到之前就打印了等等等等。 学着去这样仔细的分析程序的环节这些环节可能会产生的问题,你的经验值定然会大幅度快速的提升,这样做很累人,但是件事情如果做下来点都不累的话,这个东西还有价值吗? 在网页A输入了个人的名字,提交到B,首先存储到数据库,然后再读出来,发现乱码!怎么办?当然是分析环节: 客户输入->HTTP发送->B接收->存储到数据库->读出->展现到网页 每个环节都可能出问题,怎么才能知道哪里出的问题?继续往下读。 3:如何定位错误(重要)分析清楚有哪些环节之后,下步就是定位到底什么环节出错了。 定位有以下三种办法: A 打印输出,比如java的System.out.println(),比如js的alert(),这种办法常用,必须掌握 B Debug,可以参考我们的视频《坦克大战》,详细讲了Eclipse的调试。 C 删掉部分调试部分,也就是去掉部分的功能,做简化,然后调试剩下的功能,JSPJavaScript常用。 4:如果还不行,google吧 还查不出来?恭喜你,你遇到的错误是值得认真对待的错误,是会影响你学习生涯的错误,问下google或者百度吧。照着下面的方法查查看。 般来讲,搜索引擎可以搜到各种知识点,我曾经跟同学们开玩笑说:“学会了怎么google或者baidu,其实没必要跟老师学了,自己全都搞懂了,尚学堂是没必要来的。”当然,只是玩笑,培训的作用有三个: A:系统化知识 B:真实项目锻炼经验 C:少走弯路,节省时间 不知不觉开始做广告了,请原谅,处其位谋其事,总得为尚学堂说点什么:) 言归正传,如何查搜索引擎? 先精后粗,首先先进行尽量精确的查找,比如个错误,SocketException,你怀疑它是在connect()方法出的问题,那么当然是选这样的关键词java connect SocketException 先中后英,本着以解决问题为主的想法,练习英文还是先放在边吧,首先应该在中文网页中查询,还不行的话,搜索英文的吧,最近的尚学堂课程中会带大家阅读英文的书籍。有很多东西就像层窗户纸,远看灰蒙蒙怪唬人的,你壮着胆子捅,它就破了。阅读英文的书籍就是如此,不是想象中的那么困难:)宁可在沙场上战死,也不能被吓死不是吗:) 信息筛选,搜索出来的结果不见得能够完全匹配,建议大家多阅读前几页的搜索结果,多打开几个网页看看,不过,我的经验是超过3页般就没意义了,所以超过3页还没有找到合适的答案,或许应该调整下关键词,或者放粗整个搜索的结果了。 经常的进行知识难点的查询,如果个问题牵扯的面比较广,就干脆到网上搜索些相关的专题,比如“java 乱码 mysql” “oracle 创建用户”等等,如果有必要,不要犯懒,勤动手写些小小的测试程序,来弄明白知识点的细节。这也是涨知识的重要的途径。
评论 197
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值