Project Valhalla: революция в памяти Java

Java-разработчики годами жили по принципу «Everything is an object». И всё бы хорошо, если бы за это нам не приходилось платить «налогом на объект»: каждый раз, когда вы создаёте простой класс из двух полей int , JVM бережно дописывает к нему тяжёлый заголовок, упаковывает в ссылку и разбрасывает по куче, заставляя процессор страдать от постоянных промахов кеша. Мы привыкли к этому компромиссу. Мы научились использовать примитивные коллекции и костыли, чтобы выжать производительность там, где объектная модель Java начинает буксовать. Project Valhalla призван изменить сами правила игры.

https://habr.com/ru/companies/domclick/articles/1004646/

#project_valhalla #valhalla #java #kotlin #jvm #spring #память #оптимизация #valueобъект #valueobject

Project Valhalla: революция в памяти Java

Java-разработчики годами жили по принципу «Everything is an object». И всё бы хорошо, если бы за это не приходилось платить «налогом на объект». Каждый раз, когда вы создаёте простой класс из двух...

Хабр
【DDD】そのValueObjectまじで意味ないっす - Qiita

0. はじめに ValueObjectって"不変性"や"同一性を持たない"という点が特徴ですよね。 あなたのドメインモデリングは、その特徴を消した実装になっていませんか? ソフトウェア業界で著名な Vladimir Khorikov 氏は以下のように言及されています。 ...

Qiita

Ruby Data class, an Introduction if you are not aware of it.

https://hsps.in/post/intro-to-ruby-data-and-comparable/

#ruby #valueobject #software #pattern

Ruby `Data` Class – A Convenient Way to Create Value Objects

Ruby `Data` Class – A Convenient Way to Create Value Objects. An Introduction to Ruby Data class and comparable module of Ruby.

Harisankar P S | Ruby on Rails Developer
Ruby Benchmark: Data.define, Struct, OpenStruct

Compare `Data.define`, `Struct`, `OpenStruct` in Ruby: object creation and accessing attributes

All about coding

Accessing attributes

This time `Data.define` is maybe the fastest one but there is not a signifiant difference to `Struct`. On the other side `OpenStruct` is almost twice as slow.

#Ruby #Benchmark #ValueObject

Creating new objects

Here is a ``bmbm` benchmark result

#Ruby #Benchmark #ValueObject

ふわっと理解するDDD ~ドメイン駆動設計~ - Qiita

はじめに本記事では、初学者向けにドメイン駆動設計(domain-driven design)についての、基本的な考え方と実装における基本概念について解説を行います。ドメイン駆動設計(domain…

Qiita