V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
morgan1freeman
V2EX  ›  职场话题

来点 Java 8 股文吧,准备出去看看机会了,顺便问下上海 Java 现在行情怎么样

  •  
  •   morgan1freeman · 261 天前 · 2369 次点击
    这是一个创建于 261 天前的主题,其中的信息可能已经有所发展或是发生改变。
    23 条回复    2024-02-27 13:48:30 +08:00
    foolishcrab
        1
    foolishcrab  
       261 天前 via iPhone
    你还不如发下项目让大家问
    morgan1freeman
        2
    morgan1freeman  
    OP
       261 天前
    @foolishcrab 发啥项目?
    zuosiruan
        3
    zuosiruan  
       261 天前
    java 需求最大,但相对的学的人也多。
    yumenawei
        4
    yumenawei  
       261 天前 via Android
    @morgan1freeman 应该是说简历的项目
    cathub86
        5
    cathub86  
       261 天前
    说下 mysql 什么时候页分裂
    morgan1freeman
        6
    morgan1freeman  
    OP
       261 天前
    @yumenawei CRUD 项目 没啥好问,
    morgan1freeman
        7
    morgan1freeman  
    OP
       261 天前
    @cathub86 id 自增的话,看页的大小,分裂吧,id 不是自增的,看情况吧,毕竟 B+树 叶子节点 ,不是自增的 肯定分裂比自增的频繁
    xiaoyukid
        8
    xiaoyukid  
       261 天前
    先 Java 简历都是爆仓
    cathub86
        9
    cathub86  
       261 天前
    @morgan1freeman 大佬 syn 锁升级后 并发结束 会做什么动作 会一直维持重锁状态(不管之后是不是并发请求) 直到程序死掉么
    morgan1freeman
        10
    morgan1freeman  
    OP
       261 天前
    @cathub86 #9 维持重锁?这个不是很理解啥意思,锁升级,不是一开始偏向锁,然后 cas 相关的 做一个标记没成功,然后出现第二个线程 开始竞争 就会自旋锁,至于如何竞争激烈,变成重量级锁, 这种重量级锁也不会让等待锁的线程死掉,只是线程因为锁进入内核态,等到锁释放的时候,系统的线程调度机制 会唤醒 等待这个锁的线程, 线程调度这块的话 需要看操作系统机制,反正没有得到锁的线程 会进入内核态,等待下次系统调度
    wxm
        11
    wxm  
       261 天前
    同上海 Java ,不太乐观,有八股一同分享一下啊
    MTg3MTAwNzg3Njk=
    chihiro2014
        12
    chihiro2014  
       261 天前
    javaguide
    romisanic
        13
    romisanic  
       261 天前   ❤️ 1
    来,给你个好东西:
    https://pdai.tech/
    mayday1997
        14
    mayday1997  
       261 天前
    现在还考八股文吗,好像都在考场景题
    hapeman
        15
    hapeman  
       261 天前
    @morgan1freeman 应该是说 Synchronize 会不会有锁降级这个过程,Synchronize 是只有锁升级没有降级的;使用 RentrantReadWriteLock 可以手动实现锁降级(把持写锁,获取读锁,释放写锁),但是不能实现锁升级(把持读锁,获取写锁,释放读锁)
    morgan1freeman
        16
    morgan1freeman  
    OP
       261 天前
    @hapeman 感谢,又学习到了
    morgan1freeman
        17
    morgan1freeman  
    OP
       261 天前
    @hapeman 因为之前了解过的 也没看到说有 降级的过程,而且通常来讲,降级并没有什么必要,竞争激烈的话,这种 data race 必然会再次出现,而且降级确实 我看不到使用场景,
    morgan1freeman
        18
    morgan1freeman  
    OP
       261 天前
    @mayday1997 场景题 有没有 案例,老哥讲讲?
    cathub86
        19
    cathub86  
       261 天前
    @morgan1freeman 竞争结束后 这个重锁 会一直维持重锁状态么 不管后续的是单线程 还是多线程 都是重锁状态 一直到 java 程序死掉 可以这样理解吗
    morgan1freeman
        20
    morgan1freeman  
    OP
       261 天前
    @cathub86 #19 可以理解 只有锁升级 ,没有锁降级哈,从计算机的角度来讲,确实没有必要自动降级,因为竞争激烈,下次大概率还是会竞争激烈,而且锁的性能消耗并不大的(自旋除外),即使后面不再竞争激烈(没有线程持有这个锁),突然有一个线程需要持有 这个 重锁(互斥量 操作系统提供的功能)性能消耗也是极其小的

    所谓的锁升级 ,本身优化的场景就是 JVM 虚拟机在赌你 这个锁,不会有两个并行的线程 同时需要这个锁,因为大部分 Synchronize 代码块,可能这辈子都不会 升级成重量级锁
    cathub86
        21
    cathub86  
       261 天前
    @morgan1freeman 受教了 谢谢大佬 大佬几年了
    anson2017
        22
    anson2017  
       261 天前
    可以看看这个: 面试的资源导航 包含 web 前端、JAVA 、Go 、PHP 、C\C++、C#、移动端 ios 、安卓的面试题, 地址: https://github.com/AnsonZnl/interview-nav
    hapeman
        23
    hapeman  
       261 天前
    @morgan1freeman #17 其实 Synchronize 有一个偏向锁撤销的过程会短暂的回到无锁状态(我个人感觉这一步可以称之为降级),但是这个场景是在其它线程尝试获取偏向锁并且原来拥有偏向锁的线程已经不活动的状况下,在这之后又会升级成偏向锁,但是一般好像不会前面这一半过程称为锁降级,因为他立马又变回了偏向锁
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5586 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 06:33 · PVG 14:33 · LAX 22:33 · JFK 01:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.