V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
neptuno
V2EX  ›  Java

请问一下大家, Java 中动态代理是线程安全的吗?

  •  
  •   neptuno · Aug 24, 2018 · 3371 views
    This topic created in 2804 days ago, the information mentioned may be changed or developed.
    neptuno
        1
    neptuno  
    OP
       Aug 24, 2018
    初学没多久,想问一下大家,java 中动态代理是线程安全的吗?
    neptuno
        2
    neptuno  
    OP
       Aug 24, 2018
    还是说我对线程安全有什么误解
    hduwillsky
        3
    hduwillsky  
       Aug 24, 2018 via iPhone
    先要弄清是什么,再问为什么
    codechaser
        4
    codechaser  
       Aug 24, 2018 via Android
    @xumincheng123 得看什么处理
    neptuno
        5
    neptuno  
    OP
       Aug 24, 2018 via Android
    @hduwillsky 所以动态代理线程安全吗
    neptuno
        6
    neptuno  
    OP
       Aug 24, 2018 via Android
    @codechaser 比如说里面获取代理类 class 的时候,获取字节码
    BBCCBB
        7
    BBCCBB  
       Aug 24, 2018
    你对线程安全有误解.. 动态代理只是生成一个代理类而已, 和代理模式一样的道理, 线程安全和是不是动态代理没啥关系
    neptuno
        8
    neptuno  
    OP
       Aug 24, 2018 via Android
    @BBCCBB 好的👌谢谢,看了下源码,获取代理类的时候,是对 cache 进行了同步的
    CoderEQ
        9
    CoderEQ  
       Aug 24, 2018 via Android
    你找你同学替你去买早饭,如果你说:你们谁帮我去买个早饭?然后没啥限制,导致有俩同学都买来了早饭。那就是不安全的。如果你说:你们谁帮我去买早饭,买一份就行了,然后大家举手,然后你点名说,张三就你去吧。然后你就只会买到一份早饭。嗯,不知道我的理解有没有问题,仅供参考
    neptuno
        10
    neptuno  
    OP
       Aug 24, 2018
    @CoderEQ 谢谢你,这个是我懂的,可能我提问没说清楚,我的意思是获取代理对象的时候会不会有多个对象,刚才看了下源码,发现获取代理类的时候是对 cache 进行同步的
    ClutchBear
        11
    ClutchBear  
       Aug 24, 2018
    是不是线程安全根本在于
    多个线程是不是对同一个数据进行写操作.
    如果没有, 就永远不会有线程安全的问题.
    neptuno
        12
    neptuno  
    OP
       Aug 24, 2018
    @ClutchBear 好的,我明白了,谢谢哈
    deming
        13
    deming  
       Aug 24, 2018
    动态代理可以理解为是一种模式,一种编程的手段和方式,作用就是生产代理对象,完成某些额外功能。

    线程安全,则是另外一个概念。线程安全跟是否有“共享资源”,是否有多线程访问“共享资源”有关系。
    neptuno
        14
    neptuno  
    OP
       Aug 24, 2018
    @deming 谢谢,受益匪浅
    hduwillsky
        15
    hduwillsky  
       Aug 24, 2018
    @neptuno 楼上各位大佬已经帮你弄清楚了。
    neptuno
        16
    neptuno  
    OP
       Aug 24, 2018
    @hduwillsky 好的,谢谢,麻烦你了
    hduwillsky
        17
    hduwillsky  
       Aug 24, 2018 via iPhone
    @neptuno 不客气,李时珍的皮
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4068 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 50ms · UTC 04:16 · PVG 12:16 · LAX 21:16 · JFK 00:16
    ♥ Do have faith in what you're doing.