@@ -1127,4 +1127,144 @@ concurrency/thread-sleep-duration: |-
11271127
11281128 🔗 https://javaevolved.github.io/concurrency/thread-sleep-duration.html
11291129
1130+ #Java #JavaEvolved
1131+ datetime/locale-of : |-
1132+ ☕ Locale constructors to Locale.of()
1133+
1134+ Create language and region locales with Locale.of() instead of deprecated constructors.
1135+
1136+ Locale constructors → Locale.of() (JDK 19+)
1137+
1138+ 🔗 https://javaevolved.github.io/datetime/locale-of.html
1139+
1140+ #Java #JavaEvolved
1141+ language/anonymous-classes-to-lambdas : |-
1142+ ☕ Anonymous classes to lambdas and method references
1143+
1144+ Replace single-method anonymous classes with concise lambdas and method references.
1145+
1146+ Anonymous class → Method reference (JDK 8+)
1147+
1148+ 🔗 https://javaevolved.github.io/language/anonymous-classes-to-lambdas.html
1149+
1150+ #Java #JavaEvolved
1151+ collections/legacy-synchronized-collections : |-
1152+ ☕ Legacy synchronized collections to modern alternatives
1153+
1154+ Replace Vector and Hashtable with collections selected for actual mutability a…
1155+
1156+ Hashtable → ConcurrentHashMap (JDK 5+)
1157+
1158+ 🔗 https://javaevolved.github.io/collections/legacy-synchronized-collections.html
1159+
1160+ #Java #JavaEvolved
1161+ collections/collection-bulk-operations : |-
1162+ ☕ Collection bulk operations instead of mutation loops
1163+
1164+ Use removeIf(), replaceAll(), and List.sort() for direct collection…
1165+
1166+ Manual iterator removal → Collection.removeIf() (JDK 8+)
1167+
1168+ 🔗 https://javaevolved.github.io/collections/collection-bulk-operations.html
1169+
1170+ #Java #JavaEvolved
1171+ io/finalizers-to-resource-cleanup : |-
1172+ ☕ Finalizers to deterministic resource cleanup
1173+
1174+ Replace finalization with AutoCloseable and use Cleaner only as a defensive fall…
1175+
1176+ Override finalize() → AutoCloseable and Cleaner (JDK 9+)
1177+
1178+ 🔗 https://javaevolved.github.io/io/finalizers-to-resource-cleanup.html
1179+
1180+ #Java #JavaEvolved
1181+ io/url-constructors-to-uri : |-
1182+ ☕ Deprecated URL constructors to URI
1183+
1184+ Parse and compose resource identifiers as URI values before converting to URL when necessary.
1185+
1186+ Direct URL construction → URI then URL (JDK 20+)
1187+
1188+ 🔗 https://javaevolved.github.io/io/url-constructors-to-uri.html
1189+
1190+ #Java #JavaEvolved
1191+ enterprise/spring-boot-mvc-config : |-
1192+ ☕ Spring Boot MVC Configuration
1193+
1194+ Replace the removed WebMvcConfigurerAdapter …
1195+
1196+ WebMvcConfigurerAdapter with @EnableWebMvc → WebMvcConfigurer with Spring Boot Auto-Configuration (JDK 17+)
1197+
1198+ 🔗 https://javaevolved.github.io/enterprise/spring-boot-mvc-config.html
1199+
1200+ #Java #JavaEvolved
1201+ collections/comparator-factories : |-
1202+ ☕ Comparator factories and fluent ordering
1203+
1204+ Build readable, composable ordering rules with Comparator factory methods.
1205+
1206+ Anonymous Comparator → Comparator factories (JDK 8+)
1207+
1208+ 🔗 https://javaevolved.github.io/collections/comparator-factories.html
1209+
1210+ #Java #JavaEvolved
1211+ tooling/class-file-api : |-
1212+ ☕ Class-file parsing with the standard API
1213+
1214+ Use the standard Class-File API for class-file parsing and transformation.
1215+
1216+ ASM ClassReader → Class-File API (JDK 24+)
1217+
1218+ 🔗 https://javaevolved.github.io/tooling/class-file-api.html
1219+
1220+ #Java #JavaEvolved
1221+ collections/stack-to-deque : |-
1222+ ☕ Stack to Deque and ArrayDeque
1223+
1224+ Use the Deque interface with ArrayDeque instead of the legacy Stack class.
1225+
1226+ Stack → Deque with ArrayDeque (JDK 6+)
1227+
1228+ 🔗 https://javaevolved.github.io/collections/stack-to-deque.html
1229+
1230+ #Java #JavaEvolved
1231+ security/standard-base64 : |-
1232+ ☕ Standard Base64 encoding and decoding
1233+
1234+ Use java.util.Base64 instead of internal JDK classes or third-party codecs.
1235+
1236+ sun.misc encoder → Standard Base64 API (JDK 8+)
1237+
1238+ 🔗 https://javaevolved.github.io/security/standard-base64.html
1239+
1240+ #Java #JavaEvolved
1241+ tooling/stack-walker : |-
1242+ ☕ Lazy stack inspection with StackWalker
1243+
1244+ Inspect stack frames lazily with StackWalker instead of materializing a complete stack trace.
1245+
1246+ Thread.getStackTrace() → StackWalker (JDK 9+)
1247+
1248+ 🔗 https://javaevolved.github.io/tooling/stack-walker.html
1249+
1250+ #Java #JavaEvolved
1251+ collections/map-compute-and-merge : |-
1252+ ☕ Atomic map updates with compute and merge
1253+
1254+ Replace multi-step map lookup and mutation with computeIfAbsent(), compute(), and me…
1255+
1256+ get() + null check + put() → computeIfAbsent() (JDK 8+)
1257+
1258+ 🔗 https://javaevolved.github.io/collections/map-compute-and-merge.html
1259+
1260+ #Java #JavaEvolved
1261+ io/http-websocket-client : |-
1262+ ☕ WebSocket clients with java.net.http
1263+
1264+ Use the standard asynchronous WebSocket client instead of adding a third-party dependency.
1265+
1266+ Third-party WebSocket client → java.net.http.WebSocket (JDK 11+)
1267+
1268+ 🔗 https://javaevolved.github.io/io/http-websocket-client.html
1269+
11301270 #Java #JavaEvolved
0 commit comments