26届0实习java速成求建议

   介绍一下:本人北邮大三下信息安全,前面两三年基本处于摆烂,啥竞赛都没参加,就大一拿了个三等奖学金,然后成绩也是中下水平保研无望,也一直没有什么就业意识😅
    直到上个月月初寒假放假,突然意识到马上快要毕业,然后就在思考要考研还是就业,最后选择倾向于就业。然后之前没学过Java,但有一些c++和算法基础,然后沉浸式学习Java一个半月,结果如我的简历所示,项目就是跟着黑马做了俩烂大街项目。😌
     现在是利抠刷了100题左右,面经看的javaguide粗略的看了一小部分,请问🐮友觉得我下一步应该是花一周做点深度的项目,还是直接拿这个简历面试,然后边面边背面经和巩固算法,还是有什么其他更好的建议?😘😘😘
#你会选择考研还是直接就业# #简历中的项目经历要怎么写# #如果能重来,就业or读研你选哪个?# #你已经投递多少份简历了# #提前批简历挂麻了怎么办# #投了多少份简历才上岸#
全部评论
边面边学吧,一直学是学不完的
11 回复 分享
发布于 2025-02-26 18:34 北京
北邮加大加粗
9 回复 分享
发布于 2025-02-26 17:53 安徽
主修课程里的省略号删掉;专业技能第一条拆开写,java一条,juc一条,jvm一条;关键信息加粗,可以找一些别人的被夸的简历看看哪些地方需要加粗的;redis的使用,逗号后边加上熟悉两个字;AI那条删了,可能会给人留负印象;语言留一个cet6就可以了
3 回复 分享
发布于 2025-03-01 06:49 重庆
快去面试
3 回复 分享
发布于 2025-02-26 18:11 广东
学历应该加错,还有你这个网上找的项目你都不改一下名字吗?多少自己简单包装一下呀。你对项目的描述也有点一般,每一条感觉就是你使用了哪些技术,然后实现了这个技术基本的功能。包装包装再投递吧,面试会多一些,包装不好的话可以私信我。
2 回复 分享
发布于 2025-02-26 23:36 浙江
嗨,有兴趣来华为终端BG实习吗 核心支付业务
点赞 回复 分享
发布于 2025-04-14 12:26 山东
北邮✌海投就行了,八股和算法要多准备,第二个外卖项目可以换个项目
点赞 回复 分享
发布于 2025-03-17 15:49 江苏
不读研?本科出来有点可惜啊
点赞 回复 分享
发布于 2025-03-13 21:09 浙江
北邮 用宋体一号字加粗加斜加下划线
点赞 回复 分享
发布于 2025-03-03 12:56 上海
简历模版能发一下嘛?你的简历模版看着不错
点赞 回复 分享
发布于 2025-02-26 19:52 陕西

相关推荐

03-07 00:21
已编辑
门头沟学院 Java
1. 作用:用于修饰方法或代码块,确保在同一时刻只有一个线程能够执行该方法或代码块,实现互斥访问。2. synchronized底层,会不会牵扯到 os 层面会,synchronized 升级为重量级锁时,依赖于操作系统的互斥量——mutex 来实现,mutex 用于保证任何给定时间内,只有一个线程可以执行某一段特定的代码段。3. synchronized如何保证可见性?Step 1: 加锁时,线程必须从主内存中读取数据。Step 2: 释放锁时,线程必须将修改的数据刷回主内存。4. synchronized如何保证有序性?synchronized 通过 JVM 指令 monitorenter 和 monitorexit,来确保加锁代码块内的指令不会被重排。5. synchronized 怎么实现可重入的呢?可重入意味着同一个线程可以多次获得同一个锁,而不会被阻塞。synchronized 之所以支持可重入,是因为 Java 的对象头包含了一个 Mark Word,用于存储对象的状态,包括锁信息。当一个线程获取对象锁时,JVM 会将该线程的 ID 写入 Mark Word,并将锁计数器设为 1。 如果一个线程尝试再次获取已经持有的锁,JVM 会检查 Mark Word 中的线程 ID。如果 ID 匹配,表示的是同一个线程,锁计数器递增。当线程退出同步块时,锁计数器递减。如果计数器值为零,JVM 将锁标记为未持有状态,并清除线程 ID 信息。6. synchronized锁升级过程‼️无锁 ——> 偏向锁(记住你了,熟客专用) ——> 轻量级锁(在线排队) ——> 重量级锁(去休息室等叫号)为了提升 synchronized 的性能,引入了锁升级机制,从低开销的锁逐步升级到高开销的锁,以最大程度减少锁的竞争。没有线程竞争时,就使用低开销的“偏向锁”,此时没有额外的 CAS 操作(同一个线程可以多次获取同一把锁,无需重复加锁);轻度竞争时,使用“轻量级锁”,采用 CAS 自旋,避免线程阻塞;只有在重度竞争时,才使用“重量级锁”,由 Monitor 机制实现,需要线程阻塞。1️⃣ 无锁状态,对象未被锁定,Mark Word 存储对象的哈希码等信息。2️⃣ 偏向锁,当一个线程第一次获取锁时,JVM 会在对象头的 Mark Word 记录这个线程 ID,下次进入 synchronized 时,如果还是同一个线程,可以直接执行,无需额外加锁。3️⃣ 轻量级锁,当多个线程尝试获取锁但不是同一个时段,偏向锁会升级为轻量级锁,等待锁的线程通过 CAS 自 旋避免进入阻塞状态。4️⃣ 重量级锁,如果自旋失败,锁会升级为重量级锁,等待锁的线程会进入阻塞状态,等待监视器 Monitor 进行调度。7. synchronized 和 ReentrantLock 的区别1️⃣ synchronized 由 JVM 内部的 Monitor 机制实现,ReentrantLock基于 AQS 实现。2️⃣ synchronized 可以自动加锁和解锁,ReentrantLock 需要手动 lock() 和 unlock() 。8. 并发量大的情况下,使用 synchronized 还是 ReentrantLock?ReentrantLock,因为:ReentrantLock 提供了超时和公平锁等特性,可以应对更复杂的并发场景。ReentrantLock 允许更细粒度的锁控制,能有效减少锁竞争。ReentrantLock 支持条件变量 Condition,可以实现比 synchronized 更友好的线程间通信机制。9. Lock 了解吗?Lock 是 JUC (Java 并发工具包)中的一个接口,最常用的实现类包括可重入锁 ReentrantLock、读写锁 ReentrantReadWriteLock等。lock 方法会首先尝试通过 CAS 来获取锁。如果当前锁没有被持有,会将锁状态设置为 1,表示锁已被占用。否则,会将当前线程加入到 AQS(抽象队列同步器) 的等待队列中。(CAS获取——>AQS等待)10. AQS 了解多少?AQS 是一个抽象类。AQS 的思想是,如果被请求的共享资源处于空闲状态,则当前线程成功获取锁;否则,将当前线程加入到等待队列 中,当其他线程释放锁时,从等待队列中挑选一个线程,把锁分配给它。11. ReentrantLock 的实现原理ReentrantLock 是基于 AQS 实现的可重入排他锁,使用 CAS 尝试获取锁,失败的话,会进入 CLH 阻塞队列,支持公平锁、非公平锁,可以中断、超时等待。12. 非公平锁和公平锁有什么不同?公平锁意味着在多个线程竞争锁时,获取锁的顺序与线程请求锁的顺序相同,即先来先服务。 非公平锁不保证线程获取锁的顺序,当锁被释放时,任何请求锁的线程都有机会获取锁,而不是按照请求的顺序。如何实现非公平锁?实现非公平锁的关键在于不检查 AQS 等待队列的状态。在线程尝试获取锁(tryAcquire)时,直接通过 CAS 修改 state 变量。如果修改成功,就视为获取锁成功。补充:对象锁的核心:Monitor在 JVM 层面,每个对象都关联着一个 Monitor(监视器)。当线程 A 想要执行被 synchronized 保护的代码时,它必须先去拿这个对象的 Monitor。如果拿到了,锁计数器就从 0 变成 1,这个线程就成了锁的拥有者。其他线程再想拿这把锁,就只能在外面排队等待(Entry Set)。
点赞 评论 收藏
分享
评论
7
25
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务