总结
快来分享你的内容吧~
- 2025-12-02·Java后端个人一些24年末到25年末的一年的经历和结果查看全文编程导航_小y:加油,感谢分享,挺好的。现在是升本大三吗,明年准备开始找实习了,实习经历对秋招很加分。可以看下编程导航里的项目实操:https://www.codefather.cn/post/1797431216467001345后端技术是要学微服务的,虽然中小厂不一定会用到微服务,但是得学,后续可以再做下 OJ 在线判题项目。7103分享
2025-08-31·@编程小助手 微信: leikooo_缘起 去年 8 月 6 号,y 哥问我我是否有当编程小助手的意向,当时我还有些犹豫,现在想想真的差点错过了这个宝贵的机会。一年前的我怎么也没想到,这竟然成了我进入鱼厂实习的契机。当时 y 哥找我的原因,我想主要是因为我在编程导航社区比较活跃,之前在群里帮助过不少鱼友远程解决技术问题,现在想想真的是无心插柳柳成荫啊。 编程小助手经历 我现在还清楚地记得,备考专升本的那段时间一边上高数、英语课查看全文编程导航_小y:很强,也是因为 leikooo 平时积极解答大家的技术问题,大家都能感受到你的编程学习积极性,做得很棒 👍🏻 接下来继续加油哇~874753分享
2024-12-04·Java后端- 2023-04-05·Java后端查看全文大家好,我是念,其实我已经加入星期快满一年了,自从开学后,就没有在星球里活跃了,也是因为学校刚开学各种比赛和项目有点忙,而且最近还跟最近的情感经历有很关系[流泪][流泪],不过我已经走出来看。正好我的星球时间也快过期了,而且最近很很多小伙伴私信我想让我再出一下我寒假发的那个mqtt物联网的项目。思考...编程导航_小y:加油 [奋斗] 念1310分享
- 2023-02-11·新媒体运营2月11号!古力执黑今日份思考分享:今天呢,一大早上的,六点多就被女朋友打电话过来喊醒了,也不算醒,还有点傻傻的,她说睡不着,今天天气挺好的,想出去玩~于是呢,就在我烦恼的去翻小红书APP看下广州有啥好玩的地方时,我女朋友来了一句:我突然想吃火锅!大早上的想吃火锅会不会有病呀!我立马就说:好呀!就去吃火锅!心里想着:嘿嘿!有目标就不用找了;其实女人在征求你意见的时候,她心里就有了选择了,你要做的就查看全文编程导航_小y:古力同学今日份思考 🤔 很多时候我们会产生许多很棒的想法,及时的记录下来,后续说不定会有意想不到的效果 [呲牙] 感谢分享2310分享
- 2022-11-27·@编程小助手 微信: leikooo_因为序列化与反序列化的包名不同,导致找不到类, 出现报错 解决方法: 一: 二: 引用见: https://blog.csdn.net/qq_43510413/article/details/118085492查看全文leikooo:整了几乎一天才解决这个bug[撇嘴][撇嘴]1040分享
- 2022-11-07·Java后端查看全文近期总结加未来计划 总结 最近一直在看JAVA韩顺平以及一点MySQL加上一点数据结构,但大部分在JAVA上,其他两样属于边学边忘。不过前段时间的学习也有一点用处,就是通过了学校工作室的考核成功有了自己的一个工位 这个有点开心,以后有一个专属自己学习的位置还配有一台电脑💻 但是在学习进度上只能说每...编程导航_小y:Java 学习、六级 加油1530分享
总结一下去年年末到现在的一些经历和结果
# **1.专升本** 2024年底,我一边备战专升本考试,一边投入大量时间准备一项重要比赛,最终获得了省赛第三名。起初非常欣喜,以为长达两年半的努力终于有了回报(按当时政策),省赛第三获奖可以在专升本考试中加分。然而随后政策调整,省赛第三名不再具备加分资格,甚至失去了进入国赛的机会,而国赛成绩原本可以带来进一步加分。这一变动让我倍感打击,仿佛一切突然落空。 当时专升本考试定于2025年3月,由于精力大多倾注于比赛,我的备考进度远远落后。到2024年末,身边多数同学已系统复习完了一遍所有科目,我却连一半内容都未学完。我没有报班,后面通过闲鱼购买资料,结合B站上的一些课程自学,效果并不理想。经过两个多月的紧张学习,最终考了400分。 受当年招生政策影响,招收专升本学生的院校减少,且需专业对口,可选择的范围非常有限。我的分数比较难受刚好卡在独立学院最差专业分数线和民办二本最好的本专业分数线之间,权衡之下,最终进入了一所民办二本就读。 # **2.学费困扰** 2025年由于家里发生变故,经济状况变得紧张,难以支撑我两年本科的学费。填报志愿后,我申请了助学贷款,并前往广东父亲工作的地方打了四个月临时工,月薪5000。原本计划用工资和贷款凑齐第一年学费,但期间爷爷突发心脏病去世,家中办理葬礼又增加了一笔支出,经济压力进一步加大。 甚至于开学前三个月的生活费都是依靠亲戚周转。父母总安慰我“安心读书,钱的事他们会解决”,但我心中始终充满愧疚。目前我只能告诫自己,一定要顺利完成学业,尽早工作以减轻家庭负担。 # **3.入学以后** 和大专一样,开学典礼,新室友,相对于大专来说好一点的是宿舍是四人间的,会比较安静,当然也是刚开始那么认为,后面才发现有个室友是社交恐怖分子,跟周围宿舍关系打得很好,时不时带一两个宿舍的人来我们宿舍闲聊、玩耍,这就让我这个社恐很是社死了。 新学校其实还是事情很多,非常的形式主义化,做给领导看得活动很多,还都强要求学生出席,甚至运动会都需要各个班轮流去操场为运动员呐喊加油,还是占的周六周日的时间,就很逆天。 毕业要求之一的二课分甚至都分必修模块和选修模块,好在专本需要的二课分并不是很多。课程方面就是大专自己都有学过的,学起来很轻松,至少不用担心挂科的问题。现在也是在利用空闲时间一边学习算法写项目,一边找有含金量的算法比赛打打,准备丰富一下自己的简历,为明年找暑期实习做准备。 # **4.总结** 这段经历让我更清醒地认识到,许多事情无法掌控,唯有在现有的条件下持续努力,才能逐步走向自己期待的未来。 ##### tip:后面会每天学习打卡,也算是个新阶段的开始吧。愿我们互勉。(兄弟们看了经历,如果有什么觉得过分,不好的地方,轻点喷QAQ) ## **提问:** 1.现在蓝桥杯还值得打嘛,听说现在蓝桥杯好像没有工信部那个章了,不知道现在含金量还怎么样。 2.现在后端技术栈的微服务还没有学,对于找实习会有影响嘛,是不是学了会比较好。
鱼厂实习总结来啦!
缘起 -- 去年 8 月 6 号,y 哥问我我是否有当编程小助手的意向,当时我还有些犹豫,现在想想真的差点错过了这个宝贵的机会。一年前的我怎么也没想到,这竟然成了我进入鱼厂实习的契机。当时 y 哥找我的原因,我想主要是因为我在编程导航社区比较活跃,之前在群里帮助过不少鱼友远程解决技术问题,现在想想真的是无心插柳柳成荫啊。  编程小助手经历 ------- 我现在还清楚地记得,备考专升本的那段时间一边上高数、英语课程,一边在下课后查看编程导航帖子和群里的消息,看看有没有我可以回答的问题。尽管忙碌,但帮助他人解决问题让我感到充实,真是痛苦并快乐着。 最难忘的经历莫过于除夕夜,我还在帮一位朋友调试 Bug。这真是一次神奇的跨年经历。 这段小助手的经历让我收获巨大。过去学习项目、解决问题都是独自摸索, 主要通过学习鱼皮大佬给其他人的问答来明确方向,很少有机会与鱼友深入交流 。但通过小助手这个机会,我结识了许多优秀的鱼友,更重要的是变得更加自信了。就像游戏中打怪升级一样,每解决一个问题,我的自信 +1。这种成长体验让我受益匪浅,现在遇到暂时解决不了的 bug 也不会慌张,相信自己一定能够找到解决方案👍。 到目前为止,我已经添加了将近 500 个鱼友,非常感谢每一位愿意让我帮助的鱼友,谢谢你们的信任,我一定会继续努力!  线下实习机会 ------ 6 月 3 号,去哈尔滨参加专科毕业答辩的高铁🚄上,我突然收到了鱼皮哥的消息,说我可以去**线下实习**。当时还以为是在做梦🤣从天而降的实习机会啊,而且时间非常合适,我专升本考试结束后到开学前有大半年的空闲时间,正好可以去实习啊,真是求之不得的机会。 再次感谢鱼皮哥和 y 哥给予的宝贵机会!  鱼厂的上班氛围也是真的好,大家可以因为某一个话题有说有笑,也不会有人疯狂 PUA。到吃饭的点就去干饭[手动狗头],团建还非常多,我在的两个月大概团建了大概 4 次的样子,鱼友们有去鱼厂的机会就不要犹豫了,干就完了!   实习感悟 ---- 两个月的实习时间让我成长了很多,也发现了自身的不足。总结可能有不对的地方,大佬们多多包涵😭 ### 不要自以为是,不懂及时沟通 大佬 A 让我修复一个小 bug,我按常规操作新建分支并切换到对应分支进行开发。在配置数据库相关信息时遇到了报错,但我没有及时向大佬 A 反馈获取最新的 SQL,而是自作聪明地把对应的 entity 类交给 ChatGPT 生成 SQL。完成功能后提交 PR,结果出现了非常离谱的问题:我本地运行正常,但在大佬 A 那里直接报错,浪费了他一下午的时间😭。大佬 A 也告诉我像这种修改了数据库的表这样重要的内容,正常工作都是由一个专门的文档进行记录的,非常重要! 经过这一次意外让我深刻意识到:**有问题一定要及时反馈,而不是自以为是**。不要害怕提问,搞清楚问题大家都能节约时间。不懂就问,不确定就问,避免南辕北辙!同时有风险要及时暴露出来,不要等到快验收了才抛出问题,到时候神仙也救不了啦。 ### 要准确理解需求才能避免返工 写代码之前一定要做好充分的调研和实现方案文档,这比写代码本身更重要。如果没有调研好,方向错了,就需要重新编写代码,给大家增加没有必要的工作量。比如, 在开发一个内部工具时,需要将 PlantUML 代码转化为图片,我当时并未完全理解 PlantUML 的作用,想当然地以为,可以直接将框架生成的流程代码渲染成图片,结果自然是南辕北辙,做了大量无用功。 不得不感叹,这个表表情包太真实了  ### 写文档贯穿始终 这两个月对于文档的理解真的是深刻啊。文档真的是贯穿始终了,第一个需求是大佬 A 给我调研好的文档,后面的需求是自己写的文档,最后也是有离职文档要写,写文档真的是贯穿始终啦 比如我就学习到下面的几点 1)使用到了一个新的框架,需要提供可以直接运行的简单 demo 2)需要重点说自己的卡点(浪费时间最久的卡点)不要再让读文档的人再浪费时间去踩一遍坑 3)**主流程要清晰**,开始列举序号的时候前面都要介绍一下你下面的是啥,这样读文档的人就可以挑选自己有用的信息去读 4)README 文档一定要表明代码运行的环境比如 Node22、Java17 等等 5)如果是需求调研文档,最后的总结一定要具体指出自己选择的哪个方案,以及各个方案的优缺点做一下介绍。做到读文档可以只看总结也可以了解各个方案的优缺点,节约时间 6)重点代码要着重标注,不重要的代码可以进行折叠 比如,在语雀可以这样 重点标注示例  折叠代码示例  ### 代码规范的一致性 第一次提 PR 时,我的代码风格与项目整体规范不一致,导致大佬 B 花了大半天的时间来 review,浪费了大佬宝贵的时间。很多问题其实都是可以提前避免的,**保持与项目代码规范的一致性**也是很重要。 比如团队协作一般都要使用的 Git , 我当时没有理解 merge 和 rebase 的区别一时着急用了 rebase 虽然没有造成线上 BUG 但是还是浪费了大佬的时间 为了防止以后忘记我专门记录一下 Git 操作流程,下面重点就是这个 ### Git 操作流程规范 提交代码前的标准流程,先更新一下主分支代码看看远程仓库里面的代码是否有更新,有更新就需要先 merge 主分支代码到自己的分支,之后再把自己的修改 commit 然后再 push **第一步:拉取主分支最新代码** 1)使用 IDEA 自带工具  2)使用 Git 命令 ```bash git fetch xxx ``` **第二步:切换到自己的分支** 如果分支名是 `dev/leikooo` 这种格式(两个单词间有 `/`),IDE 中会显示目录层级结构,更加直观。  **第三步:合并主分支代码** 1)使用 IDEA 可视化 在主分支上右键选择 `Merge 'master' to 'xxxx'`(把主分支最新的代码 merge 到自己的分支),**切记选择 Merge 而不是 Rebase**,避免像我一样😭  2)使用 Git 命令 这个命令表示: 把 xxx 分支 merge 到当前分支 ```shell git merge --no-ff xxx ``` **第四步:提交并推送** 完成 commit 后再 push,可以直接使用 IDEA 进行操作。选择自己想要 push 的分支进行 push  ### 充分测试的必要性 提交 PR 前一定要进行充分测试,尽量避免因为明显的 bug 导致重新部署上线,这样很浪费大佬的时间。不要像我一样,连前端很明显的 bug 都需要大佬指出后才去修改。比如前端的页面过滤选项正确和错误两个选线颠倒了。这种完全可以避免的问题就真的没必要等到线上之后发现再修改,测试也是很重要的啊!之前没有意识到测试的重要性 总结 -- 回首过去,从高考后那个对编程一无所知的少年,到如今能为社区贡献一份力;从专升本的成功上岸,再到走进鱼厂实习,每一步都离不开幸运的眷顾。我庆幸自己过去几年的坚持学习,庆幸当初那个克服社恐的自己选择了帮助他人,更庆幸自己没有在一个耗时一周的 Bug 面前选择放弃。 非常感谢编程导航这个平台,感谢鱼皮大佬,最近几年的重大事件都有编程导航的陪伴,每天刷一下真的会获得向上的动力(鱼友们学历又好又卷啊😂),现在回看当年的打卡记录和积分排行榜的截图,真的是感慨万千! 体验过上班之后也深刻的理解到,上班的不容易真的还是挺累的,每天拖着疲惫的身子挤入人满为患的地铁,披着朦胧月光回到狭小的出租屋。我感觉可以能够理解为什么上班之后就不上进的原因了,太累了啊!虽然如此还是希望自己在未来工作的时候能够持续精进不要温水煮青蛙的颓废掉,虽然会很累但是什么又轻松呢?想起来一句话 「 真正有价值的事,从来都不是轻松舒服就能完成的 」 这次实习经历让成长巨多,让我明白出了问题要及时反馈、不懂就问、有风险及时抛出、代码规范、文档的重要性。非常感谢鱼厂的各位大佬的帮助,**再次感谢鱼皮哥、y 哥给的机会**😭。
那些年,学习编程我走过的弯路
# 分享的原因 今天想给大家分享一下,那些年,我学编程走过的弯路。之所以要分享,是因为感觉大家都太焦虑了,每走一步,都会顾虑很多,我分享一下我的大学和研究生生涯,来帮助大家正确认识一下。另一个方面,就是因为自己走了很多弯路,不希望大家重蹈覆辙。 言归正传,我们来看看我自己本科和研究生都走了哪些弯路,从大一到研三,可以说是九曲十八弯。 <img src="https://pic.code-nav.cn/post_picture/1654790819732819970/D84dAW6zfC2ifZNa.webp" alt="请添加图片描述" width="100%" /> # 天崩开局 和大多数人不一样,我没有兴高采烈的进入大学。因为高考成绩不佳,我被调剂了,所选的计算机,通信,机械,自动化等等专业都没有被录取,而是被调剂到了一个所谓的"修锅炉"的专业。我的整个大一上都没有参与过任何的活动,包括社团和各种文体活动,没有一个周六日是躺在床上的。因为我的目标只有一个,就是转专业。其实没有所谓最好的专业,但是我想找一个最适合我的专业。对于一个小镇做题家来说,钱对我的吸引力无疑是最大的。而且还有一个好朋友和我一起转。在我的看似不懈努力的半年时间里,我拿到了专业第一名的成绩,并且成功通过了转专业的考试。但是随之而来的就是一个巨大的问题摆在我面前,高中之前的我没有用过电脑,大一上的计算机二级的word,excel,ppt我都搞不定,现在却要让我来编程,虽然是对大家来说可能都非常简单的C语言,但是对我来说确实难如登天。我不知道怎么安装环境,不知道数据类型,流程控制是什么的时候,转完专业时的课堂进度是函数。第一节实验课整个人在机房傻傻的愣神。也就是在这时候,我才深刻的意识到,编程没有那么容易。可以说是天崩开局了。 但是自己的选择就是要自己承担,我只好继续早出晚归的去写代码,说是写,其实就是抄,看一个字母写一个字母的那种,不夸张的说,我写一个if要在键盘上找好久,曾经也一度怀疑过键盘上的字母为什么不按照26个字母顺序排好。给大家看看我曾经一节课写出的代码 <img src="https://pic.code-nav.cn/post_picture/1654790819732819970/QegFZzfEnwkFmOBf.webp" alt="code" width="100%" /> 那个时候写的很慢,但是写的时间长,基本上把C语言程序设计那本书上的所有例题和课后题都写过了不止一遍。在学到结构体和指针的时候,我已经熟能生巧了,就是能够和大家的思考时间和写代码的时间差不多啦。 其实说这么多,主要是想告诉大家一个道理,当你因为基础差而瞻前顾后,思虑再三的时候,真的只是在无端的空虚内耗。我这天崩开局都可以,你也一定行。另外这也是我建议大家在学习Java基础的时候,每天坚持敲代码,不要因为自己对代码的不熟悉而越往后学越觉得心慌。 # 无效的努力 同样是因为高考失利的原因,我对名校有一种心驰神往的情结。由于大一一学年的排名仍然是年级第一,这更让我萌生了保研的念头。此时的我已经忘了自己的初衷是想通过写代码实现快速的财富积累了。或者说我自己一直在说服我自己,挣钱的时间以后多的是,保研的机会却只有这一次。于是乎,我在卷绩点的路上越走越远了。甚至是过分苛求自己,力求每一门课都95+(也就是满绩点)。过多的时间用来预习,复习,完成作业。像一个高中生一样勤勤恳恳的学习。稍微有一点课余时间,也是去参加一些能够在保研上加分的比赛。完全忽略了学技术。就这样两年过去啦。 讲到这里,可能大家也都对保研考研,或者说对研究生有一定的倾向,那么我想跟大家说,学历只能决定你的下限,能力才能决定你的上限。在学历贬值速度如此之快的今天,可笑的是,我本科同学能去的工作岗位,我现在已经去不了了。而且你的第一学历真的很重要,这也说明了一个问题,努力越早,性价比越高,如果你是一个985的本科生,你基本上本科就业就可以有一份不错的工作了。当然了,我只是说比例,大家不用刻意的去提到某几个你认识的人是怎样怎样。而且,人这一生,总要有几次吃苦的经历,高中吃苦了,能进一所好大学,考研吃苦了,能有一个高学历,工作吃苦了,能快速晋升,总之,努力越早,性价比越高。受得煎熬更少,获得的成就更容易。 # 躺平的两年 大三,我或许才真正的进入大学的状态。转专业需要补的课程补完了,前两个学年的成绩一直名列前茅,保研的事情基本稳了。开始想要谈恋爱,过真正的大学生活了,但是,总之,恋爱不顺利。大家应该对这个不感兴趣,就不再多提及了。哈哈,总之就是后面很长一段时间都沉浸在痛苦中,熬夜,不吃饭,没精神。甚至有些抑郁倾向。说是躺平,其实也没有躺平的快乐,只是什么正事都没有做。如果现在能够穿越回去,一定给那个时候的自己两个耳光。你倒是学技术呀,你倒是去实习呀,你不知道我现在已经忙不过来了,你还在这躺着。 后面逐渐想通了,真的,爱你的人会站在你的前途里,不适合你的人也会在你的生活中彻底退出。不断的提高自己,才能遇到更好的人。 # 错误的方向 研一上,已经彻底从大学的阴影里走出来了。此时的我信心满满。虽然不知道哪里来的信心。可能是经过两年的休息,感觉自己身上有使不完的力气吧。研一是需要上课的,所以我就,上课,论文,实习三手抓。幻想着自己成为算法工程师,年入百万的生活。但是理想很丰满,现实很骨感。从第一个月的信心满满,到第二个月的力不从心,再到第三个月的疲惫不堪,到第四个月的忙不过来,因为要准备期末考试啦。自从上了大学,从来没想过自己还会因为考试发愁,但是事实摆在眼前,只好先准备期末考试啦,其他的都放一放,考完试后,我也认真思考了,我真的不适合算法岗,甚至是不适合科研领域,不是单纯的感觉累,而是我感觉又累又没有进步,只是在原地踏步的累。期末考试之后,果断选择Java了。 这里是想告诉大家,选择比努力更重要。虽然我们还年轻,有机会去试错,但是要懂得适可为止,坚持的前提是找到适合自己方向,一个自己努力能获得收获的方向。而不是原地踏步甚至是南辕北辙。 # 匆忙的面试 期末之后的寒假一直在学习Java。准备实习。虽然有一些Java基础,但是只学到了JavaWeb,后面需要学的东西太多了。框架,中间件,而且那个时候我没有背八股文的意识,算法题也只知道hot100,由于本科是没有刷过题的,我甚至对刷题充满畏惧。而且还要准备项目,项目只是跟着B站大学敲的。果不其然,大厂都没有面试机会,看着同学们一个个都有了实习,我也很着急,想着先找个小厂历练一下吧。毕竟自己的能力有限。后面才知道,不是我选择了小厂,而是小厂收留了我。 这里想跟大家说,一定要多关注一些学习的元信息,知道该学习些什么,该怎么学习,不要闭门造车,一直看着自己的一亩三分地。另外就是如果因为学历或者能力原因无法一次就进入大厂的话,先去小厂历练一下也未尝不可,在小厂,你有更多的机会接触到更核心的业务,甚至是整个业务线,自己能参与的东西也更多,实习的话,先在小厂渡个金,然后在大厂面试中能发挥出你意想不到的效果。 # 信息差的影响 其实从前一阶段,我已经在深刻认识到信息差的重要性了,自己也加入了编程导航知识星球,但是认知还是有差异的。在研一下结束小厂实习以后,我开始准备面试大厂。当时是字节和另一家公司在面试,我以为他们都是大厂,但是另一家公司只是中厂。而且另一家公司由于先发了offer,然后业务更核心一些,我就放弃了字节的面试。后悔的我现在肠子都青了。而且自此之后,我字节不是一面挂,就是二面挂。秋招面了5-6次,没见过三面的面试官。只能说是报应啊。 这里主要是想告诉大家,要学会收集信息,要对整个行业有一个自己最基本的认知,就互联网来说,大厂就是你手机上安装的那些常用的软件。可以经常去牛客,脉脉,以及offershow上关注一下想要了解的企业和薪资。 # 缺乏面试经验 之前只有中小厂的实习,而且没参加过几次面试。所以暑期实习我没拿到offer,我只能拿在我的中厂继续实习。分析下来,主要有以下几点原因,第一是对实习期间的业务没有完全的捋顺清楚,一些业务指标不明晰。第二是自己做的工作太少了,没有亮点,面试官甚至不想听。第三,场景题不熟悉,只会一些简单的八股。第四,面试的时候非常紧张,说话太快了。 这里想跟大家说,每一场面试都是历练,成功或者失败,并不是那么重要,你最后只会去一家公司,你只需要通过3-5家公司的面试就已经超过80%的人啦,但是公司很多,我们可以去锻炼自己,可以不断的面试让自己更强大,如果说平时的学习是练兵,那么最后的面试就是上战场。只有多上战场,更多的和面试官进行较量,我们才能获得更快速的成长,在心态和能力上都有一个质的飞跃。 # 总结 今天给大家讲这些,就是想告诉大家,每一个人光鲜亮丽的成功之下,都会经历数不尽的磨难,会不断的走弯路,不断的尝试。最后,我们会找到适合自己的路,也会开出属于自己的花。因为我最近在复习基础知识,也在做项目,写代码,后面觉得对大家有用的东西会分享给大家,今天就到这里啦。
大家好,我是念,其实我已经加入星期快满一年了,自从开学后,就没有在星球里活跃了,也是因为学校刚开学各种比赛和项目有点忙,而且最近还跟最近的情感经历有很关系[流泪][流泪],不过我已经走出来看。正好我的星球时间也快过期了,而且最近很很多小伙伴私信我想让我再出一下我寒假发的那个mqtt物联网的项目。思考了很久,还是决定以学习为主,感情的事还是先放放,刚好把星球续费,往后的一年继续跟小伙伴一起加油。 那个mqtt的项目我晚些时候再发到星球中,因为这个项目最近也快完结了,而且有些东西不能暴露,所以我会把能抽出来的东西尽量抽出来,希望能给大家提供一些帮助
chatGPT大火,来看看chatGPT的创始人对于程序员成功的分享
<html> <head></head> <body> <div class="content ql-editor"> <p><img src="https://pic.code-nav.cn/planet_post_image/1619930914211520514/14bjubmc.jpeg"></p> <p><br></p> <ol> <li data-list="bullet"><span class="ql-ui"></span><span style="font-size: 15px;">如果你觉得文字读起来太累:</span><a href="https://www.bilibili.com/video/BV1bs4y1a7B7/?spm_id_from=333.337.search-card.all.click&vd_source=ce628a5bd43df277d141676215ef5ff3" target="_blank" style="font-size: 15px; background-color: transparent; color: rgb(9, 105, 218);">https://www.bilibili.com/video/BV1bs4y1a7B7/?spm_id_from=333.337.search-card.all.click&vd_source=ce628a5bd43df277d141676215ef5ff3</a></li> <li data-list="bullet"><span class="ql-ui"></span><span style="font-size: 15px;">如果你想阅读英文原文:</span><a href="http://blog.samaltman.com/how-to-be-successful" target="_blank" style="font-size: 15px; background-color: transparent; color: rgb(9, 105, 218);">http://blog.samaltman.com/how-to-be-successful</a></li> </ol> <p><br></p> <p><br></p> <p><br></p> <p><strong>1.选择复利增长</strong></p> <p><br></p> <p>复利具有神奇的魔力,现在处处都在强调复利,这其中的奥秘就是指数曲线,因为指数曲线是创造财富的关键。</p> <p>一家中型企业的价值如果按照每年50%的速度增长,那么它的规模可以在短时间内极速扩张。世界上少有企业具有真正的网络效应和高度的可扩展性,但是随着技术进步,这种情况会逐渐改变,这值得我们不断为之努力。</p> <p>对个体的人生道路来说,我们也应该走成一条指数曲线。也就是说,我们要遵循不断向右增长的人生轨迹。在进行职业规划时,要选择具有复合效应的职业,而大多数职业的发展轨迹都是一条线性直线。</p> <p>在线性职业领域,工作二十年的效率并不会比工作两年的效率高,像这样的职业不利于个人发展。</p> <p>我们需要的是一份能保持不断学习的职业。随着职业发展,我们需要产出越来越多的成果。达成这一目标的途径多种多样,比如说资本、技术、品牌、网络效应和做管理。</p> <p>专注于将你所定义的成功指标增加十倍是有用的,这些指标可以是赚钱、社会地位、世界级影响力或者其他东西。我乐意接受挑战,愿意在各种项目上花时间以解锁下一个项目。但是我希望在每一个项目上都能取得最大成就,创造职业生涯新高度。但是大多数人都被困于线性发展的泥潭,往往捡了芝麻丢了西瓜,我们要学会抓大放小,寻求跳跃式提升。</p> <p>在我看来,无论是企业还是个人,最大的竞争优势就是要把目标放长远。我们要打开眼界,看出世界上不同体系之间交融互动的方式。复合增长最重要的就是眼光要尽可能放长远,这样的人才能抢占市场先机,获得最大回报。</p> <p>要相信指数曲线,耐心坚持下去,最后一定会有惊喜。</p> <p><br></p> <p><br></p> <p><strong>2.要有绝对自信</strong></p> <h4><br></h4> <p><br></p> <p>自信拥有不可思议的力量,就我认识的人来说,最成功的往往都是那些自信到离谱的人。</p> <p>我们要尽早树立自信。如果你的判断常常都很准确,能带来很好的结果,那么你一定要加倍自信。</p> <p>对自己不自信的人很难对未来抱有逆向思维,但是往往逆向思维才能创造出最大的价值。还记得很多年前马斯克带我参观SpaceX工厂,他详细地谈到了制造火箭的一些细节,但是让我印象最深的还是马斯克谈到向火星发射火箭时的表情,离开工厂时我就在想 “啊,这就是自信的样子”。</p> <p>对大多数创业者来说,激发自己以及团队的士气可以说是最大的挑战之一,如果没有自信,这就成了几乎不可能完成的任务。但往往一个人越有雄心壮志,其受到的打击就会越多。大多数非常成功的人在面对人们的质疑时至少有一次决定是正确的,否则他们面临的挑战会更多。</p> <p>我们在自信的同时也要保持清醒的自我认知,才能避免盲目自大。我曾经非常讨厌受到批评和质疑,并且总是设法规避这些批评。但现在我开始尝试听取这些意见,我会先设想这些批评是正确的,然后在这个基础上调整我的计划。做决定的过程充满了艰辛和痛苦,但也只有经历了这个过程才能将自信和自欺欺人区分开来。</p> <p>保持自信与自我认知之间的平衡可以让人免于傲气、避免与他人脱节。</p> <p><br></p> <p><br></p> <p><strong>3.学会独立思考</strong></p> <h4><br></h4> <p><br></p> <p>创业很难,因为培养原创性思维很难。这种思维在学校里面是学不到的,实际上学校培养的是一种相反的思维方式,所以只能靠我们自己来培养原创性思维。</p> <p>我们可以从第一性原理(first principles) 出发,从中想出新的点子,然后与人交流沟通,对这些想法进行改良,之后我们再用轻松快捷的方式进行实际测试。</p> <p>对创业者来说,失败是家常便饭,但我们一定要抱有必胜的信念,要不断尝试、不断试错,只有这样才能得到幸运之神的眷顾。在这个过程中,最宝贵的经验之一就是,我们要学会在绝境中找到一线生机。我们经历的越多就会越对此深信不疑。要知道勇气来自于多次失败后的坚持不懈。</p> <p><br></p> <p><br></p> <p><strong>4.做一个好销售</strong></p> <h4><br></h4> <p><br></p> <p>光有自信是不够的,我们还要具备说服他人的能力。就某种程度来说,所有职业的本质都是销售。你必须向客户、潜在职员、媒体、投资者等宣传兜售你的计划。想要说服他们,首先你的计划要有广阔的发展前景。对于个人而言,你要具备良好的沟通能力、一定的个人魅力以及强大的执行能力。</p> <p>具备良好的沟通能力十分重要,尤其是书面沟通。在这方面我的建议是:首先要保持思路清晰,然后就是尽量使用简洁明了的语言。</p> <p>而要做好“销售”最好的方式就是真诚,要对自己推销的产品抱有自信。销售其实无异于其他技能,我们可以通过可以练习提高销售技能。但是出于某些原因(比如人们可能不喜欢销售),很多人认为销售技能不可习得。</p> <p>做销售的另一个秘诀是:重要的事情要亲力亲为。在刚开始创业时,我非常乐意出差办事,这在很多人看来是不必要的,但是事事亲力亲为却给我带来了三次职业生涯的转折点,如果当时没有选择这样做,我可能会走上另一条道路。</p> <p><br></p> <p><br></p> <p><strong>5.要有冒险精神</strong></p> <h4><br></h4> <p><br></p> <p>大多数人往往都高估了风险低估了回报。冒险对我们来说也很重要,因为人不可能永远不犯错,我们需要不断试错,学习并快速适应。</p> <p>在职业生涯早期,人们往往更愿意冒险,因为那时你没有什么可失去的东西,但却可能得到很多。一旦一个人履行了自己的基本责任义务,就可以大胆冒险了。我篇幅可以先下小的赌注,如果赌输了会输掉1倍,但如果成功了,则可以赚到100倍。之后我们再沿着这个方向下更大的赌注。</p> <p>但是要注意不能一直待在舒适圈。在YC,我们从谷歌和脸书长期工作的创始人身上看到了这样一个问题:当人们习惯了舒适的生活、稳定的工作和无论做什么都会取得成功的名气时,就很难将这些置之于身后了(人们总是将他们的生活方式与下一年的工资相匹配)。即使他们真的离开了,也非常有可能再回来。与长期利益相比,短期诱惑和便利往往更具吸引力,也更符合人的天性。</p> <p>但当你摆脱了这些枯燥无味的工作,你可以跟随直觉将时间花在那些有趣的事情上。而想做到这一点,尽可能长时间地过着朴素灵动的生活是一个很好的方法。当然,任何选择背后都有相应的代价。</p> <p><br></p> <p><br></p> <p><strong>6.保持专注</strong></p> <h4><br></h4> <p><br></p> <p>专注可以让我们在工作中取得事半功倍的效果。磨刀不误砍柴工,在我认识的人中,那些花时间想明白了未来方向的人最后都得到了不错的结果。由此可见,做正确的事比长时间做事更重要。很多人都将自己的时间花在了无关紧要的事情上面。</p> <p>一旦你想明白了该做什么,就不要犹豫,快速行动起来去完成优先事项。毕竟成功人士就没有执行力弱的。</p> <p><br></p> <p><br></p> <p><strong>7.努力工作</strong></p> <h4><br></h4> <p><br></p> <p>通过运用自己的聪明才智或者勤奋努力,一个人可以达成工作领域里百分之九十的成就,能做到这一点已经很不错了,但是想要尽量做到完美,达成百分之九十九的成就,那就必须要兼顾聪明与勤奋,因为这一阶段你的竞争者往往是两者兼备的人。</p> <p>有付出才有收获,付出越多收获也就越大。努力工作可能会造成工作与生活失衡,我完全可以理解有的人选择去更好地平衡工作与生活,在工作中不那么拼命,但是拼命工作确实有很多好处,在多数情况下,努力工作会产生叠加效应,越是成功的人就越能成功。</p> <p>这通常很有趣。生活中最大的乐趣之一就是找到你的目标,并且有所建树,然后你会发现你在这件事上的影响力比你自己本身更重要。一位YC创始人表示:他在离开一家大公司后,尽力发挥了自己的最大影响力,此时他发现自己变得更快乐、更充实。</p> <p>为发挥出自己最大影响力而努力工作是值得庆祝的。我完全不能理解为什么在美国某些地区努力工作反而成了一件坏事,但我知道世界其他地区肯定不是这样的,那些地区的企业家表现出来的精力和干劲正在快速成为新的社会标杆。</p> <p>你必须想出一条平衡之策,在努力工作的同时,又不至于透支身体。对此,虽然人们的应对之策不尽相同,但有条几乎不会出错的黄金准则,那就是与相处愉快的人一起从事喜欢的工作。</p> <p>我认为,那些假装(在你生命中的某个时期)不用把精力放在工作上,就能平步青云的人,其实是在误人子弟。事实上,判断一个人能否笑到最后的关键因素之一就是工作耐力。</p> <p>另外,我认为刚入职场时就应该要努力工作。努力工作就像利滚利一样,越早开始,获利时间就越长。一般来说,人们身上背负的责任越少,就越容易施展身手。</p> <p><br></p> <p><br></p> <p><strong>8.大胆一点</strong></p> <h4><br></h4> <p><br></p> <p>在我看来,与轻松创业相比,人们多半会选择更具挑战性的事业。因为后者往往更激动人心,能带来更大的成就感和满足感。如果你在某个重大问题上取得了进展,就会有源源不断的人前来帮忙。志当存高远,不要害怕去做你真正想做的事情。</p> <p>如果别人都在创办 meme 公司,而唯独你想创办一家基因编辑公司那就去做吧,不要犹豫。</p> <p>追随你的好奇心。那些让你感到兴奋的事情,通常也适用于别人。</p> <p><br></p> <p><br></p> <p><strong>9.足够坚定</strong></p> <h4><br></h4> <p><br></p> <p>很多人都不知道,只要你足够坚持,世界就会以你的意志为转移。但大多数人甚至都不会去尝试,只单纯认为世界有其自身的运作规律。</p> <p>人的潜力是巨大的,只要敢想就能做成很多事。但大多数人都会怀疑自我、过早放弃,同时又不够努力,种种原因导致大多数人无法充分发挥自身潜能。</p> <p>询问自身诉求,你通常不能得偿所愿,而且被拒绝的滋味往往不好受。但若一旦成功,效果就会好得出奇。</p> <p>那些声称“我将永不言弃,直到梦想成真,不论前方有多少艰难险阻,我也会迎难而上”,并将其付诸行动的人,最后几乎总能获得成功。因为他们坚持了足够久,所以最终迎来了幸运之神的眷顾。</p> <p>在这方面,爱彼迎 (Airbnb)是我认为的行动标杆。业内流传着许多有关爱彼迎的逸闻趣事,虽然我并不推崇他们的做法(比如透支信用卡、每顿都吃一元店买的麦片、乐此不疲地与强劲的对手进行较量等等) 但是正因为他们足够坚持,最后终于时来运转。</p> <p>只有保持乐观才能足够坚定,而乐观这种性格特征是可以通过练习逐步提升的,而悲观者是很难成功的。</p> <p><br></p> <p><strong>10.保持强劲的市场竞争力</strong></p> <p><br></p> <p>大多数人都明白,企业竞争力越强,价值就越高。这点至关重要,而且也是显而易见的。这同样也适用于个人。如果你所从事的工作具有可替代性,那么你最终就会被薪资要求更低的人所取代。</p> <p>增强竞争力的最佳方式就是建立话语权。例如,你可以利用好个人关系,打造强大的个人品牌,或是在不同领域的交叉点建立起自己的个人优势。当然增强竞争力的方式还有很多但不论采取什么方式,关键是你必须要做到这一点。</p> <p>大多数人会模仿身边人的做法,但这种方式并不可取,如果一味模仿他人,那你还有什么竞争优势可言呢?</p> <p><br></p> <p><br></p> <p><strong>11.建立人际网络</strong></p> <h4><br></h4> <p><br></p> <p>出色的工作需要团队合作。打造既可密切合作又可轻松相处的优质人际网络是事业成功的必要因素。拥有优秀人才的人际网络的规模会决定你能成功的上限。</p> <p>建立人际网络的有效方法之一是尽可能多帮助他人。长期以来,这种行为方式给我带来了最佳职场机遇以及四项最佳投资中的三项。我总是惊讶与发生在自己身上的意外之喜,仅仅因为我十年前曾帮助过一位企业创始人。</p> <p>建立人际网络的另一个途径是拥有好的名声,不亏待每一个一起共事的人。要大方慷慨地与他人分享资源,这会给你带来10倍、100倍的回报。此外,要知人善用,让每个人都能充分施展自己的才华。</p> <p>我们既要尽力挖掘他人的潜力但是又不能逼得太紧,这容易让人感到精疲力尽。每个人都有各自擅长的领域,因此,我们要多看看自己的优点,不要总盯着缺点,要用优点来定义自身。面对缺点,我们要承认它,想办法弥补它,不要让缺点成为我们前进路上的阻碍。我常能在一些创业者口中听到这样的说法“我不能做A,因为我不擅长B”。这种思维方式让我十分吃惊。这反映出他们缺乏创造力。弥补弱点的最佳方式是聘请互补的团队成员,而不是雇佣那些跟你擅长相同事情的人。</p> <p>慧眼识珠挖掘未被发掘的人才是建立人际网络的有效途径。通过练习,我们能快速识别那些优质有动力、有创造力的人才。挖掘人才最简单的方式就是多社交,多与他人打交道并且与那些给你留下深刻印象的人保持联系。要记住一点,不要局限于他人过往的工作经验和当前成就,我们需要发掘那些有潜力且能在短时间激发潜能的人。</p> <p>每当遇到新人,我都会扪心自问“这个人有异于常人的能力吗?”对于渴求人才的人来说,这个问题很值得思考。</p> <p>建立人际网络的特例是找到你生命中的贵人,特别是在职业生涯早期。毫无疑问,能做到这点的最佳方法就是主动去帮助他人(记住,你必须在日后回报你的贵人!)</p> <p>最后,我们要结交那些积极向上且志同道合之人。</p> <p><br></p> <p><br></p> <p><strong>12.资产决定财富</strong></p> <h4><br></h4> <p><br></p> <p>小时候,我对经济的最大误解就是人们通过高薪发财致富。虽然也有一些特例,比如说娱乐圈的艺人,但从以往的福布斯榜单来看,几乎没有人是靠高薪荣登榜单的。</p> <p>拥有能迅速增值的东西才能真正发家致富。这些东西可以是商业资产、不动产、自然资源、知识产权等。但无论怎样,你需要实际拥有一些东西,而不是单靠出卖时间赚取工资,出卖时间赢来的财富只会呈慢速线性增长。</p> <p>让事物迅速增值的最佳方法就是大量制造人们想要的东西。</p> <p><br></p> <p><br></p> <p><strong>13.要有内驱力</strong></p> <h4><br></h4> <p><br></p> <p>大多数人主要都是靠外部驱动,他们做事情是为了让别人佩服。这种做法坏处颇多,但以下两点最为突出:</p> <p>首先这会导致你人云亦云,因循守旧。在工作中,你会过于在意他人的看法,这种在意程度可能已经远远超出了你的意识,并且这会阻碍你从事趣味性工作,即使你正在做这样的工作,也不过是在炒冷饭。</p> <p>其次,这会让你误判风险等级。从短期影响来看,你会将注意力主要放在和他人的竞争上,以确保不会在竞争游戏中落后。</p> <p>聪明人似乎更容易受到这种外驱力的影响。了解到了这一点可以帮助你摆脱这种影响,但帮助不大,我们必须要极其谨慎才能不至于掉入模仿他人的陷阱中。</p> <p>我认识的大多数成功人士都是靠自我驱动。他们做事情是为了让自己心悦诚服,因为他们觉得给世界带来改变是自己的责任。当你赚得盆满钵满并且拥有了较高的社会地位之后,金钱和名誉对你的吸引力开始逐渐消失,这时候内驱力就成为了唯一的动力,推动你向更高的地方攀登。</p> <p>这就是驱动力重要性的体现。驱动力是我了解他人时最先考察的点。我们很难用一套规则去定义正确的驱动力,但是当你遇到它时立刻就能有所体会。在这件事上,Jessica Livingston和Paul Graham是我认为的行动标杆。在YC创办的最初几年,人人都不看好它的发展,没有人认为YC能够成功。但是杰西卡和保罗很看好YC的发展,他们认为如果YC能够成功,将会对世界大有裨益,他们希望能够借此帮助到其他人,并且坚信这种新模式比现存的模式好。</p> <p>最终你会发现成功是在自己看重的领域里做出出色的成绩。向着自己热爱的方向越早出发就能走得越远,没有热爱之事的人是很难取得成就的。</p> <p><br></p> <p>以上就是这篇博客的全文了,感谢也恭喜你看到这里,说明你是一个想要改变自己的人,很喜欢最近听到的一个道理,我总结在最后,与大家共勉!</p> <p><span style="font-size: 15px;">“其实我今天说的这些建议,结论并不重要,因为我相信大家也不会因为今天听我说了一遍,明天你就会去实践,所以最重要的是,你要记得这些事情背后更深层的意义是什么。当你懂的了的事情背后的意义,日积月累,哪天你就可以顿悟,然后你就回去行动,最终带来一些改变 ” - 冴羽</span></p> <p><br></p> <p>本文同步发布在编程导航网站(<a href="https://www.codefather.cn/%EF%BC%89%EF%BC%8Cpc%E7%AB%AF%E9%98%85%E8%AF%BB%E4%BD%93%E9%AA%8C%E6%9B%B4%E5%A5%BD" target="_blank">https://www.codefather.cn/),pc端阅读体验更好</a></p> <p><br></p> </div> </body> </html>
【分享】学会深度思考
<html> <head></head> <body> <div class="content ql-editor"> <p><strong style="font-family: inherit; font-size: inherit;font-style;font-variant-ligatures;font-variant-caps;"> 2月11号!古力执黑今日份思考分享</strong>:今天呢,一大早上的,六点多就被女朋友打电话过来喊醒了,也不算醒,还有点傻傻的,她说睡不着,今天天气挺好的,想出去玩~于是呢,就在我烦恼的去翻小红书APP看下广州有啥好玩的地方时,我女朋友来了一句:我突然想吃火锅!大早上的想吃火锅会不会有病呀!我立马就说:好呀!就去吃火锅!心里想着:嘿嘿!有目标就不用找了;其实女人在征求你意见的时候,她心里就有了选择了,你要做的就是替她做决定!还省事了,你们做男朋友的是不是也有过这样的烦恼呀哈哈哈!</p> <p><strong> </strong>陪完女朋友后,晚上回到家里,我打开了某音,这是我用来放松思维的一种方式,我并没有沉迷于短视频中的擦边、小帅小美的电影解说之类的侵蚀我思维的视频里。同时我也是为了刷到xx朋友圈的今日份思考,想了解这位博主的今天的又有什么样的收获;通过他的思考,我又能得到什么样的收获呢!</p> <p><strong> 第一个思考:</strong>我们都很有必要去构建一套处事之道、原则,这是一种对内的标准;你一旦有了这个标准,很多事情会变得很简单;它先是会筛选靠近你的人和事,进而呢,会改变我们的<strong>人生轨迹</strong>和<strong>体验。</strong>艾?他为什么会有这种思考呢,他说:刚开始做账号的时候,商业上有所求,要拓展;于他来讲,对人,对事的姿态上,都刻意的会低上一点。火了之后呢,大家的称呼就会xxx老师,这个时候怎么看自己呢,身边会有些人和他说,你要<strong>“端”</strong>一点,不要<strong>太客气</strong>,不然大家都觉得你 <strong>好接近</strong>,TA会没有分寸感。都已经大IP了,你可以 <strong>冷 </strong>一点,可以拒绝一些 <strong>社交。</strong>其实这个问题,它根本就没有答案!没有对错!只是你在执行过程中不够丝滑,因为你没有想透它的本质。直到有一天,他就意识到,这件事情跟别人其实根本就没有关系!只和你自己有关。他就发现:<strong style="color: rgb(38, 38, 38);">真诚</strong><strong>、简单、谦虚、务实</strong>是一套对内的标准,有了这一套标准,对人、对事就简单很多,不会受到外界的影响!</p> <p><strong> 第二个思考:</strong>人不可能一直活在<strong>“高维状态”</strong>里的,比如现在他正在做分享,这个时候他是个高维状态,但人总要回到动物性的本能里面去的;或者说,人80%的时间里都是在 <strong>世俗 </strong>当中过活而已,这时候他久思考领悟了这么一段话:可能成功的人,比一般人强在哪呢?就是他 <strong>高维状态 </strong>的时间比一般人要多一些<strong>,</strong>有的人可能一个月都没有一次深度思考,可能一年就浑浑噩噩地过去了;TA就不一样呀!TA可能刻意练习也好,成为TA一种习惯,TA在高维里状态时间多,那TA就比一般人要成功的!</p> <p><strong> 还有一种体验:</strong>就是他每个月会有一些 <strong>超高维的瞬间 </strong>:就是当你完全沉浸在,可能是一个艺术创作,当你完全比如说看一本书,看一本书竟然看出了画面,看出电影感来了;深度的、极度的思考一个问题,慌慌张张的要拿个笔赶紧记下来,不然就过去了;你灵感乍现的瞬间,<strong>这些瞬间!你不是你!你像是被选中的人!不是说我天资聪慧或者生来就有,我觉得如果我们人生中有这样的体验!我们要感激!这是对你努力生活的馈赠!因为它是完全另外一种力量赋予到你身上,你要好好利用,你要想我拿到手里的这个天赋,这个时不时闪过的的技能,我能为别人做点什么,你要感激</strong>~因为这种状态不常有,而每次到来的时候,它确实给到我们的事业、生活一个非常正向的 <strong>促进</strong>和<strong>提高!</strong></p> <p><strong> 这是他2月7号的思考,也一起分享给大家,希望对你们有启发!</strong></p> <p><strong><br></strong></p> <p><strong> 从这两个思考当中</strong>,第二个思考的高维状态,我是非常有同感的,不知道大家有没有过这一瞬间,我基本每个月也会有,就是那一瞬间,我有好多感悟,但是感悟过后,我并没有把我所思所想记下来的习惯,导致过后就忘了,我想了啥东西呀!所以从现在开始,我也要把我的<strong> </strong>的所思所想记录下来;还有2月6号我发的再次自我介绍,其实也是我的 <strong>超高维状态,</strong>也有融入我的思考在里面,我突然就哗啦啦的二十来分钟写了一堆字,写完后才发现,原来已经超过了1000字了,没多想就发布了。所以无论是看了一部电视剧也好,还是看了电影、今天的学习笔记总结当中,都要融入自己的思考,这能够帮助我把模糊的东西,写实出来,或许将来某一天这份思考对我自己有很大的帮助,也能够给我在学习的道路上带来一个很好的正向反馈!我希望我能够坚持去深度思考,这是2月11号,古力执黑今日份思考分享,希望能对你带来启发!一起进入 <strong>超高维状态!</strong></p> <p><br></p> </div> </body> </html>
牛客Java基础专项题 Day 1
<html> <head></head> <body> <div class="content ql-editor"> <p>这里是IT蛋的12月计划之一:刷完牛客的java专项题,</p> <p>展示的是自己还不熟练的知识点,或者认为有必要留着复习的题目,每天记录十题。</p> <p>如果有疏漏不足的地方还请多多指教。</p> <p><br></p> <p>题目展示方式为:</p> <h4>题目</h4> <h5><strong>(答案)</strong></h5> <p>解析(部分参考牛客的解答)</p> <p><br></p> <hr class="article-hr" style="height: 0px"> <p><br></p> <h4><strong style="color: rgb(51, 51, 51);">1.在 JAVA 编程中, Java 编译器会将 Java 程序转换为</strong></h4> <p><strong>( 字节码 )</strong></p> <ol> <li data-list="bullet"><span class="ql-ui"></span>编译器将Java源代码编译成字节码class文件</li> <li data-list="bullet"><span class="ql-ui"></span>类加载到JVM里面后,执行引擎把字节码转为可执行代码</li> <li data-list="bullet"><span class="ql-ui"></span>执行的过程,再把可执行代码转为机器码,由底层的操作系统完成执行。</li> </ol> <p><br></p> <p><br></p> <h4><strong style="color: rgb(51, 51, 51);">2.下面的输出结果是什么?jdk1.8版本</strong></h4> <div class="ql-code-block-container"> <div class="ql-code-block"><span class="ql-token hljs-keyword">public</span> <span class="ql-token hljs-keyword">class</span> <span class="ql-token hljs-title">Demo</span> { </div> <div class="ql-code-block"> <span class="ql-token hljs-keyword">public</span> <span class="ql-token hljs-keyword">static</span> <span class="ql-token hljs-keyword">void</span> <span class="ql-token hljs-title">main(String args[])</span> </div> <div class="ql-code-block"> { </div> <div class="ql-code-block"> String str=<span class="ql-token hljs-keyword">new</span> <span class="ql-token hljs-title">String</span>(<span class="ql-token hljs-string">"hello"</span>); </div> <div class="ql-code-block"> <span class="ql-token hljs-keyword">if</span>(str==<span class="ql-token hljs-string">"hello"</span>) </div> <div class="ql-code-block"> { </div> <div class="ql-code-block"> System.out.println(<span class="ql-token hljs-string">"true"</span>); </div> <div class="ql-code-block"> } </div> <div class="ql-code-block"> <span class="ql-token hljs-keyword">else</span> { </div> <div class="ql-code-block"> System.out.println(<span class="ql-token hljs-string">"false"</span>); </div> <div class="ql-code-block"> } </div> <div class="ql-code-block"> } </div> <div class="ql-code-block"> } </div> </div> <p><strong>(false)</strong></p> <p>“==”判断的是对象引用地址是否相同</p> <p>String str=new String("hello"); 这句话new了一个新的String对象,所以地址与"hello"字符串常量的地址不同</p> <p>如果判断字符串是否相等应给用str.equals("hello")方法</p> <p><br></p> <p><br></p> <h4><strong style="color: rgb(51, 51, 51);">3.实现或继承了Collection接口的是</strong></h4> <p><strong>(List,Iterator,Set)</strong></p> <p>Map接口未实现Collection接口</p> <p>List接口的定义为</p> <div class="ql-code-block-container"> <div class="ql-code-block"><span class="ql-token hljs-keyword">public</span> <span class="ql-token hljs-keyword">interface</span> <span class="ql-token hljs-title">List</span><E> <span class="ql-token hljs-keyword">extends</span> <span class="ql-token hljs-title">Collection</span><E> </div> </div> <p>Vector定义为</p> <div class="ql-code-block-container"> <div class="ql-code-block"><span class="ql-token hljs-keyword">public</span> <span class="ql-token hljs-keyword">class</span> <span class="ql-token hljs-title">Vector</span><E> <span class="ql-token hljs-keyword">extends</span> <span class="ql-token hljs-title">AbstractList</span><E> <span class="ql-token hljs-keyword">implements</span> <span class="ql-token hljs-title">List</span><E>,RandomAccess, Cloneable, Serializable </div> </div> <p>Iterator接口未实现Collection接口</p> <p>Set接口继承自Collection接口</p> <div class="ql-code-block-container"> <div class="ql-code-block"><span class="ql-token hljs-keyword">public</span> <span class="ql-token hljs-keyword">interface</span> <span class="ql-token hljs-title">Set</span><E> <span class="ql-token hljs-keyword">extends</span> <span class="ql-token hljs-title">Collection</span><E> </div> </div> <p><br></p> <p><br></p> <p><strong>4.</strong><strong style="font-size: 1em;font-style;font-variant-ligatures;font-variant-caps; color: rgb(51, 51, 51);">下列程序执行后输出结果为( )</strong></p> <p><br></p> <div class="ql-code-block-container"> <div class="ql-code-block"><span class="ql-token hljs-keyword">class</span> <span class="ql-token hljs-title">BaseClass</span> { </div> <div class="ql-code-block"> <span class="ql-token hljs-keyword">public</span> <span class="ql-token hljs-title">BaseClass()</span> { </div> <div class="ql-code-block"> { </div> <div class="ql-code-block"> System.out.println(<span class="ql-token hljs-string">"I’m BaseClass class"</span>); </div> <div class="ql-code-block"> } </div> <div class="ql-code-block"> <span class="ql-token hljs-keyword">static</span> { </div> <div class="ql-code-block"> System.out.println(<span class="ql-token hljs-string">"static BaseClass"</span>); </div> <div class="ql-code-block"> } </div> <div class="ql-code-block"> } </div> <div class="ql-code-block"> </div> <div class="ql-code-block"> <span class="ql-token hljs-keyword">public</span> <span class="ql-token hljs-keyword">class</span> <span class="ql-token hljs-title">Base</span> <span class="ql-token hljs-keyword">extends</span> <span class="ql-token hljs-title">BaseClass</span> { </div> <div class="ql-code-block"> <span class="ql-token hljs-keyword">public</span> <span class="ql-token hljs-title">Base()</span> {} </div> <div class="ql-code-block"> { </div> <div class="ql-code-block"> System.out.println(<span class="ql-token hljs-string">"I’m Base class"</span>); </div> <div class="ql-code-block"> } </div> <div class="ql-code-block"> <span class="ql-token hljs-keyword">static</span> { </div> <div class="ql-code-block"> System.out.println(<span class="ql-token hljs-string">"static Base"</span>); </div> <div class="ql-code-block"> } </div> <div class="ql-code-block"> <span class="ql-token hljs-keyword">public</span> <span class="ql-token hljs-keyword">static</span> <span class="ql-token hljs-keyword">void</span> <span class="ql-token hljs-title">main(String[] args)</span> { </div> <div class="ql-code-block"> <span class="ql-token hljs-keyword">new</span> <span class="ql-token hljs-title">Base</span>(); </div> <div class="ql-code-block"> } </div> <div class="ql-code-block"> } </div> </div> <p><strong>static BaseClass</strong></p> <p><strong>static Base</strong></p> <p><strong>I’m BaseClass </strong><strong style="font-family: inherit; font-size: inherit;font-style;font-variant-ligatures;font-variant-caps;">class</strong></p> <p><strong>I’m Base class</strong></p> <p><br></p> <p>执行顺序从左到右:</p> <p>父类静态代码块 ->子类静态代码块 ->父类非静态代码块 -> 父类构造函数 -> 子类非静态代码块 -> 子类构造函数。</p> <p>案例代码如下:</p> <div class="ql-code-block-container"> <div class="ql-code-block"><span class="ql-token hljs-keyword">public</span> <span class="ql-token hljs-keyword">class</span> <span class="ql-token hljs-title">Father</span> { </div> <div class="ql-code-block"> <span class="ql-token hljs-keyword">static</span> { </div> <div class="ql-code-block"> System.out.println(<span class="ql-token hljs-string">"父类静态代码块"</span>); </div> <div class="ql-code-block"> } </div> <div class="ql-code-block"> { </div> <div class="ql-code-block"> System.out.println(<span class="ql-token hljs-string">"父类非静态代码块"</span>); </div> <div class="ql-code-block"> } </div> <div class="ql-code-block"> <span class="ql-token hljs-keyword">public</span> <span class="ql-token hljs-title">Father()</span>{ </div> <div class="ql-code-block"> System.out.println(<span class="ql-token hljs-string">"父类构造函数"</span>); </div> <div class="ql-code-block"> } </div> <div class="ql-code-block"> } </div> <div class="ql-code-block"><span class="ql-token hljs-keyword">public</span> <span class="ql-token hljs-keyword">class</span> <span class="ql-token hljs-title">Son</span> <span class="ql-token hljs-keyword">extends</span> <span class="ql-token hljs-title">Father</span>{ </div> <div class="ql-code-block"> <span class="ql-token hljs-keyword">static</span> { </div> <div class="ql-code-block"> System.out.println(<span class="ql-token hljs-string">"子类静态代码块"</span>); </div> <div class="ql-code-block"> } </div> <div class="ql-code-block"> { </div> <div class="ql-code-block"> System.out.println(<span class="ql-token hljs-string">"子类非静态代码块"</span>); </div> <div class="ql-code-block"> } </div> <div class="ql-code-block"> <span class="ql-token hljs-keyword">public</span> <span class="ql-token hljs-title">Son()</span>{ </div> <div class="ql-code-block"> System.out.println(<span class="ql-token hljs-string">"子类构造函数"</span>); </div> <div class="ql-code-block"> } </div> <div class="ql-code-block"> <span class="ql-token hljs-keyword">public</span> <span class="ql-token hljs-keyword">static</span> <span class="ql-token hljs-keyword">void</span> <span class="ql-token hljs-title">main(String[] args)</span> { </div> <div class="ql-code-block"> <span class="ql-token hljs-type">Son</span> <span class="ql-token hljs-variable">son</span> <span class="ql-token hljs-operator">=</span> <span class="ql-token hljs-keyword">new</span> <span class="ql-token hljs-title">Son</span>(); </div> <div class="ql-code-block"> } </div> <div class="ql-code-block"> } </div> <div class="ql-code-block"> </div> <div class="ql-code-block"> 结果为: </div> <div class="ql-code-block"> 父类静态代码块 </div> <div class="ql-code-block"> 子类静态代码块 </div> <div class="ql-code-block"> 父类非静态代码块 </div> <div class="ql-code-block"> 父类构造函数 </div> <div class="ql-code-block"> 子类非静态代码块 </div> <div class="ql-code-block"> 子类构造函数 </div> </div> <p><br></p> <p><br></p> <p><strong>5.</strong><strong style="font-size: 1em;font-style;font-variant-ligatures;font-variant-caps; color: rgb(51, 51, 51);">对于JVM内存配置参数:-Xmx10240m -Xms10240m -Xmn5120m -XXSurvivorRatio=3 </strong></p> <h4><strong style="color: rgb(51, 51, 51);">其最小内存值和Survivor区总大小分别是</strong></h4> <p><strong>(10240m,2048m)</strong></p> <p>-Xmx:最大堆大小 -Xms:初始堆大小 -Xmn:年轻代大小</p> <p>-XXSurvivorRatio:年轻代中Eden区与Survivor区的大小比值 年轻代5120m,</p> <p>Eden:Survivor=3,Survivor区大小=1024m (3x+x+x=5120 x=1024)</p> <p>(Survivor区有两个,即将年轻代分为5份,每个Survivor区占一份),总大小为2048m。</p> <p>-Xms初始堆大小即最小内存值为10240m</p> <p><br></p> <p><br></p> <p><strong>6.</strong><strong style="font-size: 1em;font-style;font-variant-ligatures;font-variant-caps; color: rgb(51, 51, 51);">在Java中,以下数据类型中,需要内存最多的是 :byte long Object int</strong></p> <p><strong>(long)</strong></p> <p>Object 是引用数据类型,只申明而不创建实例,只会在栈内存中开辟空间,默认为空,空占1 bit.</p> <p><br></p> <p><br></p> <h4><strong style="color: rgb(51, 51, 51);">7. 下列可作为java语言标识符的是(a1、 $1、 _1、 11)?</strong></h4> <p><strong>(a1、$1、_1)</strong></p> <p>Java标识符由数字,字母和下划线(_),美元符号($)组成。在Java中是区分大小写的,而且还要求首位不能是数字。最重要的是,Java关键字不能当作Java标识符。</p> <p><br></p> <p><br></p> <h4><strong style="color: rgb(51, 51, 51);">8. 下面说法正确的是?()</strong></h4> <p>A 调用Thread的sleep()方法会释放锁,调用wait()方法不释放锁</p> <p>B 一个线程调用yield方法,可以使具有相同优先级线程获得处理器</p> <p>C 在Java中,高优先级的可运行的线程会抢占低优先级线程的资源</p> <p>D java中,线程可以调用yield方法使比自己低优先级的线程运行</p> <p><strong>(BC)</strong></p> <p>wait():等待时线程别人可以用。</p> <p>sleep():等待时线程还是自己的,别人不能用。</p> <p>yield():释放锁,同优先级的其他线程有机会获得锁。</p> <p><br></p> <p><br></p> <h4><strong style="color: rgb(51, 51, 51);">9. 以下各类中哪几个是线程安全的?(ArrayList、Vector、Hashtable、Stack )</strong></h4> <p><strong>(Vector、Hashtable、Stack )</strong></p> <p>ArrayList线程不安全,Vector线程安全</p> <p>HashMap线程不安全,Hashtable线程安全</p> <p>由于Stack继承了Vector,所以线程也是安全的</p> <p><br></p> <p><br></p> <h4><strong style="color: rgb(51, 51, 51);">10. 假如某个JAVA进程的JVM参数配置如下:</strong></h4> <p>-Xms1G -Xmx2G -Xmn500M -XX:MaxPermSize=64M -XX:+UseConcMarkSweepGC -XX:SurvivorRatio=3,请问eden区最终分配的大小是多少?</p> <p><strong>(300M)</strong></p> <p>先分析一下里面各个参数的含义:</p> <p>-Xms:1G , 就是说初始堆大小为1G -Xmx:2G , 就是说最大堆大小为2G</p> <p>-Xmn:500M ,就是说年轻代大小是500M(包括一个Eden和两个Survivor)</p> <p>-XX:MaxPermSize:64M , 就是说设置持久代最大值为64M</p> <p>-XX:+UseConcMarkSweepGC , 就是说使用使用CMS内存收集算法</p> <p>-XX:SurvivorRatio=3 , 就是说Eden区与Survivor区的大小比值为3:1:1题目中所问的Eden区的大小是指年轻代的大小,直接根据-Xmn:500M和-XX:SurvivorRatio=3可以直接计算得出500M<em>(3/(3+1+1)) =500M</em>(3/5) =500M*0.6 =300M 所以Eden区域的大小为300M。</p> <p><br></p> <p><br></p> <p><br></p> <hr class="article-hr" style="height: 0px"> <p>题外话:</p> <p>想问下大家tag怎么打,因为之前没写过文章,这一下还没找到Tag在哪里打,所以这篇文章应该没有加tag</p> </div> </body> </html>
韩顺平JavaP693 QQ项目采坑分享
<html> <head></head> <body> <div class="content ql-editor"> <p><strong style="color: rgb(77, 77, 77);">因为序列化与反序列化的包名不同</strong><span style="color: rgb(77, 77, 77);">,导致找不到类, 出现报错</span></p> <p><br></p> <p><img src="https://pic.code-nav.cn/planet_post_image/1608460212774109186/sbsc2q5j.jpeg"></p> <p><br></p> <p>解决方法:</p> <p><strong>一:</strong></p> <p><strong><br></strong><img src="https://pic.code-nav.cn/planet_post_image/1608460212774109186/t0a205j0.jpeg"></p> <p><br></p> <p><strong>二:</strong></p> <p><strong><br></strong><img src="https://pic.code-nav.cn/planet_post_image/1608460212774109186/osd0qoxm.jpeg"></p> <p></p> <p>引用见: <a href="https://blog.csdn.net/qq_43510413/article/details/118085492" target="_blank">https://blog.csdn.net/qq_43510413/article/details/118085492</a></p> <p><br></p> </div> </body> </html>
一些关于npm的踩坑总结(持续更新...)
<html> <head></head> <body> <div class="content ql-editor"> <p>#npm#</p> <p><br></p> <p>(图片有防盗链搞不进来了, 以后自己建图床了在来更图)</p> <p><br></p> <h2><strong style="color: rgb(51, 51, 51);">报错-4048</strong></h2> <p><br></p> <p><span class="ql-font-monospace"></span></p> <p><br></p> <p>刚开始百度的时候有的帖子说直接删掉C:\Users\15387目录下的.npmrc文件,试过了之后发现十分可行,问题解决了(完)</p> <p><br></p> <p><span class="ql-font-monospace"> </span></p> <p><br></p> <p><br></p> <p>但是后来了解到.npmrc文件是用来存放npm全局下载路径以及缓存路径,还有npm注册表的地址,删了之后安装有的包时会报错,为了避免给以后留麻烦,我又恢复了这个文件,开始尝试其他方法(已解决安装node.js时的环境变量问题)</p> <p><br></p> <p><span class="ql-font-monospace"> </span></p> <p><br></p> <p>首先就是清除缓存</p> <div class="ql-code-block-container"> <div class="ql-code-block"> npm cache clean --force </div> </div> <p><br></p> <p><span class="ql-font-monospace"> </span></p> <p>但是依然报错(后来发现可能是源比较慢)</p> <p><br></p> <p>再次尝试</p> <div class="ql-code-block-container"> <div class="ql-code-block"> npm cache verify </div> </div> <p><br></p> <p><span class="ql-font-monospace"> </span></p> <p>依然卡到报错, 准备换源</p> <p><br></p> <p>1.查看现在的源</p> <div class="ql-code-block-container"> <div class="ql-code-block"> npm config get registry </div> </div> <p><br></p> <p>2.修改源</p> <div class="ql-code-block-container"> <div class="ql-code-block"> npm config set registry https://registry.npm.taobao.org </div> </div> <p><br></p> <p>3.再次查看现在的源, 确定已经修改</p> <p><span class="ql-font-monospace"> </span></p> <p>检查.npmrc文件</p> <p><span class="ql-font-monospace"> </span></p> <p><br></p> <p>再次尝试清除缓存</p> <p><span class="ql-font-monospace"> </span></p> <p>报错</p> <p><br></p> <p>检查npm版本是否不是最新版</p> <div class="ql-code-block-container"> <div class="ql-code-block"> npm view npm version </div> </div> <p><br></p> <p><span class="ql-font-monospace"> </span></p> <p>这个指令居然也报错???</p> <p><br></p> <p>删除node_cache缓存文件尝试随便一个指令</p> <p><span class="ql-font-monospace"> </span></p> <p>继续报错....</p> <p><br></p> <p>无奈将.npmrc文件删除, 将文件内容留在这里, 以后出错留着备用</p> <div class="ql-code-block-container"> <div class="ql-code-block"> prefix=D:\Compiler\nodejs\node_global </div> <div class="ql-code-block"> cache=D:\Compiler\nodejs\node_cache </div> <div class="ql-code-block"> registry=https://registry.npm.taobao.org/ </div> <div class="ql-code-block"> //nexus.nvware.com.cn/repository/npm-group/:_authToken=NpmToken.3eb6b621-8ba2-3d43-8d63-b3a407785b7c </div> <div class="ql-code-block"> </div> </div> <p>继续寻找无需删除文件的解决方法</p> <p><br></p> </div> </body> </html>
近期总结加未来计划 总结 最近一直在看JAVA韩顺平以及一点MySQL加上一点数据结构,但大部分在JAVA上,其他两样属于边学边忘。不过前段时间的学习也有一点用处,就是通过了学校工作室的考核成功有了自己的一个工位 这个有点开心,以后有一个专属自己学习的位置还配有一台电脑💻 但是在学习进度上只能说每天都有学一点东西,或多或少,但也在遗忘 后续规划 所以后续的计划就是边刷牛客上的JAVA题,一边学习MySQL 以及后面的知识,有一点我想说就是《JAVA核心技术卷》我最开始买回来看了大概一百来页,翻过一些知识复习 但感觉有一点感觉学到了什么但好像也没有 给我的感觉的不如看一下笔记 只是个人看法 复习还是要多多刷题 大概就是MySQL刷JAVA题再花点时间学习算法数据结构 还有一个月考六级 还没怎么复习 也得抓抓时间了[奋斗][奋斗][奋斗]#记录#
