Uproszczając to, tak aby nie wdrażać tutaj tego co dzieje się na wątkach i tego czym jest Java Memory Model bo to i tak na początku jest zbyt trudne, generalnie takie operacje mają znaczenie jest kilka ważnych kwesti jaka też ma być oczekiwana z twojej strony sytuacja?
- po pierwsze w obiektowym programowaniu dążymy do tego żeby obiekty były immutable, nie ważne jak to osiągamy w pewnym momencie, ale ważne aby jak najczęściej to się udawało w miare możliwości
Czy liczba użyc ma znaczenie ?
- nie ma to jest odowłanie się do właściwości obiektu, tzn nie ma ona gdy odwołujesz się raz do danej właściwości samo odwołąnie jest niczym, gorzej jesli masz złożoną funkcje- jako działanie na obiekcie, która jeszcze go modyfikuje to lepiej wtedy przemyśleć czy nie napisać lepiej metody jeśli w ramach 1 akcji ona ma się powielać
carInGarage.getCar.getModel();
tu nie tworzysz nowego obiektu, tylko jesli do czegoś to przypiszesz - to tworzysz referencje- wiązanie do adresu w pamięci gdzie są te obiekty... więc jeśli potem masz kilka odwołań do tego samego adresu, warto go przechować włąsnie przypisując do zmiennej np carModels.
Car car = carInGarage.getCar();
Tutaj tez nie tworzysz nowego obiektu tylko przypisujesz własnie to co mówiłem -> referencje do obiektuCar... nic więcej to nie tworzenie nowego obiektu i jeśli potem stosujesz car....jakaś funkcja to faktycznie to jest czytelniejsze i lepsze rozwiązanie niż poprzednio.
Ale tutaj nigdzie nie katujesz bazy ... widać że nie rozumiesz nawet tego co piszesz nawet jeśli odwołasz się z obiektu car do metody z bazy to korzystając z hibernate/springa on za Ciebie stuknie do bazy, docelowo nei załaduje pokrewnych obiektów i całej encji bo to tzw. LazyLoading, zresztą po co baza ma wykonywac zapytanie ... po np silniki w samochodzie jak na razie użytkownik potrzebuje sam samochód, może wcale nie bedzie chcial informacji o silniku to póki o to NIE POPROSI nie będzie strzała do bazy
Czy gdy przesyłam na endpoint jakiś obiekt w RequestBody to lepiej jest się do niego odwoływać czy lepiej będzie utworzyć nowy obiekt z obiektu w metodzie?
nigdzie na obu przypadkach nie tworzysz nowego obiektu tylko zawsze sie odwolujesz do tego samego raz bezposrednio a potem w nr 2 przez inna referencje do tego samego obiektu