powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / вопросы...
8 сообщений из 8, страница 1 из 1
вопросы...
    #38864537
no56892
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
добрый день!

1.Может кто-то внятно объяснить на палцах, что такое бизнес логика? Есть например UserDAO, там есть addUser(String name), removeUser(String name). Тогда что здесь будет бизнес логикой? Т.е. в данном примере я делаю UserBusinessLogic класс, туда инжектится UserDAO, а там те же 2 метода, что и в DAO в данном случае?

2. В хибернейте, если ставить LAzyLoading, то по выходу из контекста сессии я не могу их загрузить (LazyLoadingException), как тогда быть? Делать в DAO несколько методов для случая когда надо/не надо подгружать др. данные? т.е.:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
public List<User> getUsers(){ //просто список пользователей, например для ComboBox'a
....
}

public List<User> getUsersWithFotos(){
...
users.getFotos(); //тупо вызываем, для случая, если нужны и фотографии пользователей
retrun users;
}



3.
Код: java
1.
2.
3.
4.
5.
public static void main(String[] args){
    while(true){
        new String();
   }
}


Сработает ли здесь GC или будет OutOfMemory и почему?

Спасибо!
...
Рейтинг: 0 / 0
вопросы...
    #38864560
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
no56892Сработает ли здесь GC или будет OutOfMemoryGC
no56892и почему?Ссылки на объект не сохраняются (счетчик ссылок равен 0) - в итоге получаем "выметабельный" объект
...
Рейтинг: 0 / 0
вопросы...
    #38864576
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
3.
4.
5.
while (true) {
    new String();
    System.out.printf("%d %d%n", Runtime.getRuntime().freeMemory(), Runtime.getRuntime().totalMemory());
    // Runtime.getRuntime().gc(); // форсируем GC
}
...
Рейтинг: 0 / 0
вопросы...
    #38864586
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если объект назвать Адам - то получается что GC говорит - "Ану выметайся Адам из Эдема..."
...
Рейтинг: 0 / 0
вопросы...
    #38864592
no56892
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, я тоже так предполагал, спасибо.

А по первым двум ?
...
Рейтинг: 0 / 0
вопросы...
    #38864608
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1.Может кто-то внятно объяснить на палцах, что такое бизнес логика?

Любая логика, реализуемая в приложении, собственно, то, ради чего приложение создаётся.

Например, ты пишешь Web-магазин. Пользователь должен найти товары, выбрать нужные ему, сформировать заказ, оплатить его,
и затем оформить доставку или отгрузку и т.п. -- вот всё это и есть бизнес-логика.






Есть например UserDAO, там есть addUser(String name), removeUser(String name). Тогда что здесь будет бизнес логикой?



Ничего, скорее всего.




Код: java
1.
2.
3.
4.
5.
public static void main(String[] args){
    while(true){
        new String();
   }
}


Сработает ли здесь GC или будет OutOfMemory и почему?


Когда сработает, и сработаел ли GC -- ты никогда не знаешь.
Будет ли OutOfMemory -- также.
Увы, это -- замечательные технологии Java.
...
Рейтинг: 0 / 0
вопросы...
    #38864615
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
no56892,

1) У CRUD бизнес логика тривиальна. Но, например, вдруг понадобилось отправлять письмо при создании\удалении пользователя. При создании приветсвенное самому пользователю. При удалении - напоминание админу позакрывать связанные учетные записи. Это и есть бизнес-логика.

2) Есть такой Web Anti-Pattern - open session in view. Сессия держится открытой пока не отрендерится страница.
По-хорошему в каждом сценарии программист знает какие именно ему данные нужны. Поэтому с помощью Fetch/FetchMode он может указать, что в это случае сразу грузи такие-то ассоциации, а в другом случае - другие. Использование ленивости при этом сводится к минимуму, так как ленивость ещё и по производительности может быть затратной. Но есть нюансы.

3) Зависит от типа GC и количества CPU. Можно умудрится занять всё процессорное время генерацией объектов, так что у GC даже не будет шанса встрять в этот процесс.
...
Рейтинг: 0 / 0
вопросы...
    #38864660
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще странно что этот пустой и неиспользуетмый объект компиллятор задействовал и заставил исполняться.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
   Signature: ()V
    flags: ACC_PUBLIC, ACC_STATIC

    Code:
      stack=2, locals=0, args_size=0
         0: new           #2                  // class java/lang/String (аллоцирован пустой объект)
         3: dup                                   // ссылка продублирована на стеке
         4: invokespecial #3                  // Method java/lang/String."<init>":()V вызвана функция дефолтного конструктора для строки.
         7: pop                                  // занавес закрывается :))
         8: goto          0                     // Зовут на БИС! 
      StackMapTable: number_of_entries = 1
           frame_type = 0 /* same */
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / вопросы...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]