V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
looveh
V2EX  ›  程序员

如何理解计算机知识

  •  1
     
  •   looveh · 263 天前 · 3162 次点击
    这是一个创建于 263 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本人高中毕业,后来培训了一年多 Java ,虽说谢谢业务什么的没有问题,但是还是很想深入学习。目前对网络、计算机基础什么的完全不懂,但是自己看这些知识又感觉很枯燥乏味,而且还看不懂。Java 中的多线程什么的根本玩不懂,感觉自己好焦虑。有没有 V 友推荐些自学效率高并且不枯燥的学习网址或者什么的。感谢!!! 顺便问问有没有大佬规划过 Java 学习的路线。

    万分感谢!!!

    36 条回复    2023-08-10 13:24:24 +08:00
    looveh
        1
    looveh  
    OP
       263 天前
    有时候也会怀疑自己是不是比较笨
    murmur
        2
    murmur  
       263 天前   ❤️ 2
    学习本身就是枯燥乏味的,别光看书,去实践,多线程这种东西最好的就是配上高并发,当然只能模拟,比如面试常问的秒杀问题,怎么解决超卖,怎么解决拍下来不付钱,并发一大什么问题都出来了

    然后你再慢慢解决
    zhangkunkyle
        3
    zhangkunkyle  
       263 天前
    如果刚开始难以理解的话,还是看视频比较好,比如 B 站,就有很多不错的学习资源,然后自己看完视频后实践一下,比如你说多线程不懂,其实就是对这个概念没有建立立体的认识,看看视频,看看带图的讲解,就很容易能记住了,不要光看文字,太枯燥了
    zhangkunkyle
        4
    zhangkunkyle  
       263 天前
    @looveh 学习是个渐进的过程,大家大都是普通人都不是天才,学习过程中都会遇到不懂的时候,别沮丧,多上 V 站来问,网友们大多都很是很乐于分享的,我工作很久了,还是有很多不会的东西,也需要经常向大家请教和学习
    looveh
        5
    looveh  
    OP
       263 天前
    @zhangkunkyle #3 我也觉得没有一个立体的认识,很多概念啥的可能不知道说的是什么意思
    xuelang
        6
    xuelang  
       263 天前   ❤️ 1
    有了 chatGPT ,遇到问题可以先问问 ChatGPT ,会有很大收获。
    looveh
        7
    looveh  
    OP
       263 天前
    @zhangkunkyle 主要可能工作中也用不上这些东西,然后看了后面可能就忘了。
    looveh
        8
    looveh  
    OP
       263 天前
    @xuelang chatGPT 其实有时候会给错误的答案,可能你自己还不知道的情况下就认为错误的答案就是正确的
    xuelang
        9
    xuelang  
       263 天前
    @looveh GPT4 好很多,对于编程来说,能很方便验证 AI 说的对不对。
    coderluan
        10
    coderluan  
       263 天前
    学习都是枯燥的,否则你何必找 Java 的,找高考的,然后考个计软专业不是更好,然后这是枯燥的 Java 学习路线: https://roadmap.sh/java
    looveh
        11
    looveh  
    OP
       263 天前
    @coderluan 看了这个后发现自己听过的名词挺多,但是真正会的没几个,那几个深圳还只是皮毛
    looveh
        12
    looveh  
    OP
       263 天前
    @xuelang 4 收费了
    iamqk
        13
    iamqk  
       263 天前
    去 b 站看看各大高校的开源的计算机课程
    someday3
        14
    someday3  
       263 天前
    学习本身就是很枯燥的,越深入的学习越枯燥。

    以前上学的时候老师说要能做冷板凳,这意思就很明确,要学会和无聊与枯燥共存。

    你可能就某个知识找到了一个没那么枯燥的解决方法,但是换一个,必然是枯燥的。唯一的办法是能处理这种枯燥。

    有趣的学习是很难得的奖赏,而无聊的学习才是日常。
    cnbatch
        15
    cnbatch  
       263 天前   ❤️ 2
    Java 的多线程如果学不懂,那就应该尝试了解一下更原始的线程 API 怎么用,比如 pthread 和 win32 的线程 API 。不过如果基础薄弱的话,可能会看得更加困难。

    我高中毕业时对于计算机知识同样也不是了解得很深入,在大学经历过相关课程的学习后就好多了,尽管我当时发现大学提供的教材很糟糕(部份领域严重过时),很大一部份是靠额外自学。

    如果 OP 时间充足,不妨试试这样:收集一下计算机专业的课目表,然后根据购买相应专业的教材,国外原版教材最好,其次是翻译本。因为那些教材提供的信息很详细,并且在阅读过程中会使人有兴趣寻找关联知识。

    阅读过程,那当然是从大一课程开始学起。


    收集课目时可以留个心眼,因为计算机专业内部也是有分支的,既有偏软件开发,也有偏硬件开发,更有偏网络运维。

    计算机基础部份,各大专业都会学,OP 大可放心找教材。

    然而计算机网络就有区别了。
    偏软件开发的,顶多也就学一学协议栈、网络层次,顺便学一学 Web 知识,然后看一看网络设备,但不会很深入去了解相应的硬件,就连哪些网络设备怎么用都未必教。很多学生学完后没多久就忘了。
    偏网络运维的就相反,什么路由器、交换机、防火墙等硬件都会要求实践操作,手工打水晶头是常规项目,专业(有钱)一点的,会要求学生亲自操作光纤熔接机连起两条光纤、测光衰。这样一路下来,对于网络知识的理解会十分深入。

    于是在网络基础方面会出现很神奇的事情。

    比如这个: /t/960047
    网络专业出身的,以及软件出身但网络基础学得扎实的,因为知道相应设备分别叫什么名字,就会吐槽其他人对网络设备乱起名字的现象。

    还有这个: /t/962653
    这名作者能够调包调库写出 Proxy 软件,但从提问就能看得出基础网络知识需要重新加强。
    me1onsoda
        16
    me1onsoda  
       263 天前
    @looveh #8 gpt 回答计算机基础的知识相当专业
    looveh
        17
    looveh  
    OP
       263 天前
    @cnbatch 你说的这些其实我都搞不懂,我没读过大学,而且个人还比较贪玩。
    cnbatch
        18
    cnbatch  
       263 天前
    @looveh 没接受过大学教育并不是问题,贪玩更加不是问题。

    大学期间疯玩的学生多着呢,毕业后继续玩的一点都不少。
    贪玩和学习并不是相互矛盾的,只不过中小学阶段那些家长、教师为了方便自己管理,妖魔化各种娱乐方式罢了。
    正确的做法明明是告知学生,如何平衡玩乐与学习。但许多教师和家长根本就不懂,也不愿意去了解,再加上方便管理,就直接一刀切妖魔化。学生因为不知道如何平衡导致“摔跤”,家长、教师就只懂一味责怪“都怪你只顾着玩不好好学习”。

    实际上,国内大学的课程进度压力远低于高中,所以自学期间按照国内大学进度走其实也没什么不妥。只要做好时间安排,什么时候学、什么时候玩,那就完全没问题了。只要不是半途而废就行。

    更何况,还可以参考“成人大学”的课程。
    isno
        19
    isno  
       263 天前
    来看看我写的内容?

    https://github.com/isno/theByteBook
    ZztGqk
        20
    ZztGqk  
       263 天前
    你需要这个? https://csdiy.wiki/,推荐直接看下 CSAPP 。
    looveh
        21
    looveh  
    OP
       263 天前
    @ZztGqk 好多啊,不知道从哪开始,这种我收藏了好多,都吃灰了
    cnbatch
        22
    cnbatch  
       263 天前
    楼上的自学指南对于 OP 而言应该会很有用,建议跟着试一试
    looveh
        23
    looveh  
    OP
       263 天前
    @isno 你这是云原生相关的吗?
    looveh
        24
    looveh  
    OP
       263 天前
    @cnbatch 您说的是哪楼
    isno
        25
    isno  
       263 天前
    @looveh 计算机基础
    cnbatch
        26
    cnbatch  
       263 天前
    @looveh 个人建议,如果发现 isno 的教程对于自己仍然还是难度较高,那就先学 ZztGqk 的,给自己入个门,然后再学 isno 的就会容易适应了。

    电子版容易分神的话,那就弄成纸质版,或者直接买教材。
    lilei2023
        27
    lilei2023  
       263 天前
    我和你感觉一样,虽然上了一个三流大学,啥也没学,专业课也没好好学,总感觉少点什么,时间久了一些基础都忘记,想深如学习一下,很费劲,而且也没那个学习的劲头了
    RageBubble
        28
    RageBubble  
       263 天前
    买 openai 会员,把 gpt4 用起来。
    它收费,你就打钱,不然呢?
    这么厉害的武器你不用,等着观赏吗?
    bytesfold
        29
    bytesfold  
       263 天前 via iPhone
    想利用碎片化时间逐渐补全计算机网络知识,不过好像没有从 0-0.8 的学习地方?求大佬推荐
    ihciah
        30
    ihciah  
       263 天前 via iPad
    我的经验是,不要急于求成,首先要好奇,搞清楚原理;其次是努力让它又用,写一个你觉得有意义的东西。
    PiCpo
        31
    PiCpo  
       263 天前
    这些东西(计组、OS 、计网乃至编译原理之类的)就是很枯燥很难,科班的学生大学期间就要学这些,不然大伙搞搞软件开发其实没啥门槛
    既然想学,就耐着性子学下去;学不下了也没关系,大家都觉得难+枯燥
    qviqvi
        32
    qviqvi  
       263 天前
    不需要学太多,补一补基础即可,计算机组成原理、计算机网络、操作系统、编译原理、数据结构与算法。其他的,需要什么学什么
    shwnpol
        33
    shwnpol  
       263 天前
    你不是图灵那种性格的人,对计算机提不起兴趣很正常,有的人对分析冗长到变态的逻辑感兴趣,有的人大脑天生就只能容纳很短的逻辑推理记忆,而且国内教育早就把你的好奇心打压完了,失去自主学习能力很正常
    tyzandhr
        34
    tyzandhr  
       262 天前 via Android
    别理解,去接受。在实践中才能理解。
    hellea
        35
    hellea  
       262 天前
    我以前也有这个问题,基础太多,后面去 b 站找找几个课程,看看基础,计算机重实践,你需要哪块的知识直接去搞个 demo 做做,你会发现相应的东西你自然能够搞懂了!计算机有些知识本来就是看看就可以了,适当选择放弃是很重要的
    hxysnail
        36
    hxysnail  
       262 天前
    网络我写过一些入门的,可以参考一下: https://fasionchan.com/network/
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1190 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 18:09 · PVG 02:09 · LAX 11:09 · JFK 14:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.