RFR: 8277848 Binding and Unbinding to List leads to memory leak [v3]
    Michael Strauß 
    mstrauss at openjdk.java.net
       
    Wed Jan  5 19:35:19 UTC 2022
    
    
  
On Wed, 5 Jan 2022 18:14:44 GMT, Florian Kirmaier <fkirmaier at openjdk.org> wrote:
>> Making the initial listener of the ListProperty weak fixes the problem.
>> The same is fixed for Set and Map.
>> Due to a smart implementation, this is done without any performance drawback.
>> (The trick is to have an object, which is both the WeakReference and the Changelistener)
>> By implying the same trick to the InvalidationListener, this should even improve the performance of the collection properties.
>
> Florian Kirmaier has updated the pull request incrementally with one additional commit since the last revision:
> 
>   JDK-8277848
>   Further optimization based code review.
>   This Bugfix should now event improve the performance
modules/javafx.base/src/main/java/javafx/beans/property/ListPropertyBase.java line 338:
> 336:         public void onChanged(Change<? extends E> change) {
> 337:             ListPropertyBase<E> ref = get();
> 338:             if(ref != null) {
Minor: space after `if`
modules/javafx.base/src/main/java/javafx/beans/property/MapPropertyBase.java line 339:
> 337:         public void onChanged(Change<? extends K, ? extends V> change) {
> 338:             MapPropertyBase<K,V> ref = get();
> 339:             if(ref != null) {
Minor: space after `if`
modules/javafx.base/src/main/java/javafx/beans/property/SetPropertyBase.java line 341:
> 339:         public void onChanged(Change<? extends E> change) {
> 340:             SetPropertyBase<E> ref = get();
> 341:             if(ref != null) {
Minor: space after `if`
-------------
PR: https://git.openjdk.java.net/jfx/pull/689
    
    
More information about the openjfx-dev
mailing list