126
127
128
 
 

Link to the thread: https://programming.dev/post/8969747

Hello everyone, I've followed this thread yesterday and noticed a few very negative reactions towards the choice of Java. I follow Java evolution from far away, but it seemed like it was evolving in a good direction since the last few years, and that performance-wise it would make sense for the back-end of a Lemmy-like platform.

Is it indeed the case? I was just curious to see that much negativity towards one of the most popular languages.

129
 
 

cross-posted from: https://programming.dev/post/9037890

The article discusses the key improvements and changes in observability for Spring Boot 3.2, including enhanced tracing options, testing observability, new annotations in Micrometer, and other relevant changes.

130
 
 

cross-posted from: https://programming.dev/post/8901750

Tips for resolving common Java performance problems, including preventing memory leaks, avoiding thread deadlocks, and optimizing garbage collection. Article Added by: LeeS // digma.ai

131
132
133
134
135
 
 

Version 0.5.1 of my IRC Client has been released. This time around it was mostly focussed around bug fixes largely to do with updating the styles. But I also added a couple of features. This was a shorter release from 0.4.0 as the changes weren't as significant.

Profile Handling

I wanted a way to easily manage profiles, especially during development. With this release i've added a Profiles page, which allows you to Create new profiles, clone an existing profile, rename, and delete profiles. You can also set a profile as the default to be used when loading the app.

A majority of the effort went into keeping the Profile Picker (the combobox that changes the active profile) and the profiles page in sync which was done using listeners. New listeners were created for DELETE,CREATE, and CHANGE events as other components needed to add their own listeners to the queue to make sure they were also kept in sync, but also to update styles etc when the profile changes.


public static void fireListeners (EventType eventType)
{
    if(!listenerLists.containsKey(eventType))
        listenerLists.put(eventType, new EventListenerList());

    Object[] listeners = listenerLists.get(eventType).getListenerList();

    // Reverse order
    for (int i = listeners.length - 2; i >= 0; i -= 2)
    {
        if (listeners[i] == ActionListener.class)
        {
            if (actionEvent == null)
            {
                actionEvent = new ActionEvent(listeners, i, null);
            }

            ((ActionListener) listeners[i + 1]).actionPerformed(actionEvent);
        }
    }
}

All of this profile work was also used to centralise the loading and saving of profile information through the URProfileUtil helper class. This should hopefully help down the track.

Profiles Page

Custom Nick Format

This was similarly difficult to when I implemented the custom Date formatting. At least this time around I had an idea of how it might be implemented. However the difference was that I couldn't treat the resultant String as a whole, for example setting the Date format to [HHmm] i'd just return [0652] then insert that into the document, I had to contend with nick styles as well.

In the end I settled with splitting whatever was placed into the Nick format field into three parts (Prefix, nick, Suffix). If you want something just on the right side of the nick, you put nick in the Nick format field, then whatever you want next to that. When placing the nick in the document, I set the attributes according to which part and then use this when updating the styles etc.

Custom Nick format

136
137
 
 

Advances in the java programming language, version 16 and newer, slashed a million lines of code from my codebase. Maintaining my programs became easier overnight, due to this 1 secret trick: Records. 
Unfortunately version 16 was not LTS, so I had to wait until this year's release of version 21, which is LTS. 
 Go read the linked article. It explains Java Records in a very approachable manner.

138
139
 
 

The title says it all: which version of Java do you work with?

Upvote any version that you work on a weekly basis. Vote on as many as you'd like.

140
141
142
143
144
145
146
Value Objects in Valhalla (www.youtube.com)
submitted 2 years ago by to c/java@programming.dev
 
 

Presented by Dan Smith - Senior Developer (Java Platform Group - Oracle) during the JVM Language Summit 2023 (Santa Clara CA).

Project Valhalla ➱ https://openidk.org/projects/valhalla/
Early-Access builds ➱ https://jdk.java.net/valhalla/
Development ➱ https://github.com/openjdk/valhalla

Follow along Expert Group design discussion ➱ https://mail.openjdk.org/pipermail/valhalla-spec-experts/
Implementation & usage discussion ➱ https://mail.openjdk.org/pipermail/valhalla-dev/
Design feedback (write-only) ➱ valhalla-spec-comments@openjdk.org

147
148
149
150
view more: ‹ prev next ›