Guava merupakan salah satu proyek Google dalam menyediakan
beberapa library Java inti. Library ini telah digunakan dalam banyak
proyek berbasis Java milik Google. Guava menyuguhkan berbagai fitur
seperti collections, caching, primitive support, concurrency, common,
string processing, I/0 dan masih banyak lagi.
Guava sampai saat ini sudah menginjak versi yang ke-19. Pada tanggal 9 desember 2015 kemarin, Google telah merilisnya. Banyak penambahan dan perubahan fitur terbaru pada Guava 19, apa saja? Ini dia.
common.base
Sebenarnya package ini masih beta, dan mula dicoba dalam library ini untuk menguji kestabilannya.
Guava sampai saat ini sudah menginjak versi yang ke-19. Pada tanggal 9 desember 2015 kemarin, Google telah merilisnya. Banyak penambahan dan perubahan fitur terbaru pada Guava 19, apa saja? Ini dia.
common.base
- Penambahan CharMatcher static factory methods yang sama dengan
konstan CharMatcher. Contoh, penambahan CharMatcher.whitespace() yang
sama dengan CharMatcher.WHITESPACE. Dengan adanya fungsi tersebut,
konstan tersebut akan dianggap usang dan dihapus pada rilis Guava
mendatang
- Mengapa demikian? Hal ini disebabkan karena penggunaan konstan dalam classes membutuhkan integer yang besar yang bisa membuat proses lambat
- Penambahan Throwables.lazyStackTrace(Throwable) yang berguna mengembalikan List<StackTraceElement>, fungsi ini bisa juga untuk memuat elemen stack trace. Sangan efisien, jika kita menginginkan elemen pertama dari stack trace tersebut
- Penambahan lazyStackTraceIsLazy() yang mengembalikan nilai boolean apakah mampu digunakan sebagai implementasi spesial dalam platform yang digunakan atau tidak
- Penambahan VerifyException untuk konstruktor dan bersifat Throwable
Sebenarnya package ini masih beta, dan mula dicoba dalam library ini untuk menguji kestabilannya.
- Penambahan visibilitas untuk CacheLoader.UnsupportedLoadingOperationException
- Penambahan RemovalNotification.create. Perlu dicatat, fungsi ini hanya akan bekerja jika dibuat untuk implementasi khusus saja.
- Penambahan factory dan builder methods untuk varian ImmutableMaps dan ImmutableMultimaps yang digunakan untuk iterasi <Map.Entry>
- Penambahan FluentIterable.toMultiset()
- Penambahan RangeSet.asDescendingSetOfRanges() dan RangeMap.asDescendingMapOfRanges()
- Penambahan Lists.cartesianProduct(List…) dan Lists.cartesianProduct(List<List>>)
- Penambahan Maps.newLinkedHashMapWithExpectedSize(int)
- Penambahan kembali Multisets.removeOccurrences(Multiset, Multiset) dimana fitur ini dilewatkan dan digantikan Multisets.removeOccurences(Multiset, Iterable) pada Guava 18.0
- MapConstraint dan MapConstraints sudah dianggap usang
- Penambahan Sets.newSetFromMap(Map) untuk Java 6
- Penambahan EventBus.identifier()
- Penghapusan protected method AsyncEventBus.dispatchQueuedEvents() (made package-private)
- Penambahan ByteSource.sizeIfKnown()
- Penambahan CharSource.length()
- Penambahan CharSource.lengthIfKnown()
- Penambahan sepasang konstan untuk HttpHeaders dan MediaType
- Update daftar suffix publik untuk InternetDomainName
- Penambahan TypeToken.isSubtypeOf(TypeToken) dan TypeToken.isSupertypeOf(TypeToken)
- Fungsi TypeToken.isAssignableFrom(TypeToken) dan TypeToken.isAssignableFrom(Type) yang telah usang bisa digantikan dengan isSupertypeOf yang menyediakan fungsi yang sama namun dengan nama fungsi yang tidak membingungkan
- Penambahan BloomFilter.create untuk penanganan expectedInsertions yang lama
- Penambahan Hashing.sha384()
- Penambahan Hashing.concatenating(HashFunction, HashFunction, HashFunction…) dan Hashing.concatenating(Iterable<HashFunction>)
Tidak ada komentar:
Posting Komentar