Size: a a a

2020 August 12

A

Anton in learn.java
ek man
При удалении элементов, веутренний массив не уменьшается, память останется занятой.

а почему нельзя эту память как-то использовать? или типа памяти много, можно эту в покое оставить
В Guava по-моему или у Apache есть реализации, уменьшающие массив при удалении. Но это редко надо.
Например для задач вроде очередей используется внутри LinkedList, где массива нет.
источник

GV

Gukov Viktor in learn.java
Алекандр Dontsov
Ребят, привет) Возникла ошибка, не понимаю как исправить, сталкивались с такой ошибкой?
org.springframework.orm.jpa.JpaSystemException: More than one row with the given identifier was found: 38614, for class: ru.fabit.offence.lawn.model.Decree; nested exception is org.hibernate.HibernateException: More than one row with the given identifier was found: 38614, for class: ru.fabit.offence.lawn.model.Decree
       at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:333) ~[spring-orm-4.3.13.RELEASE.jar!/:4.3.13.RELEASE]
       at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:244) ~[spring-orm-4.3.13.RELEASE.jar!/:4.3.13.RELEASE]
       at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:503) ~[spring-orm-4.3.13.RELEASE.jar!/:4.3.13.RELEASE]
       at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:59) ~[spring-tx-4.3.13.RELEASE.jar!/:4.3.13.RELEASE]
       at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:209) ~[spring-tx-4.3.13.RELEASE.jar!/:4.3.13.RELEASE]
       at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:147) ~[spring-tx-4.3.13.RELEASE.jar!/:4.3.13.RELEASE]
       at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.3.13.RELEASE.jar!/:4.3.13.RELEASE]
       at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:133) ~[spring-data-jpa-1.11.9.RELEASE.jar!/:na]
       at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.3.13.RELEASE.jar!/:4.3.13.RELEASE]
       at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92) [spring-aop-4.3.13.RELEASE.jar!/:4.3.13.RELEASE]
       at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.3.13.RELEASE.jar!/:4.3.13.RELEASE]
       at org.springframework.data.repository.core.support.SurroundingTransactionDetectorMethodInterceptor.invoke(SurroundingTransactionDetectorMethodInterceptor.java:57) ~[spring-data-commons-1.13.9.RELEASE.jar!/:na]
       at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.3.13.RELEASE.jar!/:4.3.13.RELEASE]
       at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213) ~[spring-aop-4.3.13.RELEASE.jar!/:4.3.13.RELEASE]
       at com.sun.proxy.$Proxy208.save(Unknown Source) ~[na:na]
       at ru.fabit.offence.lawn.service.impl.DecreeService.save(DecreeService.java:277) [classes!/:1.6.0]
Возможные варианты решения проблемы отлично гуглятся
источник

DC

Denis Chikanov in learn.java
Алекандр Dontsov
Ребят, привет) Возникла ошибка, не понимаю как исправить, сталкивались с такой ошибкой?
org.springframework.orm.jpa.JpaSystemException: More than one row with the given identifier was found: 38614, for class: ru.fabit.offence.lawn.model.Decree; nested exception is org.hibernate.HibernateException: More than one row with the given identifier was found: 38614, for class: ru.fabit.offence.lawn.model.Decree
       at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:333) ~[spring-orm-4.3.13.RELEASE.jar!/:4.3.13.RELEASE]
       at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:244) ~[spring-orm-4.3.13.RELEASE.jar!/:4.3.13.RELEASE]
       at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:503) ~[spring-orm-4.3.13.RELEASE.jar!/:4.3.13.RELEASE]
       at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:59) ~[spring-tx-4.3.13.RELEASE.jar!/:4.3.13.RELEASE]
       at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:209) ~[spring-tx-4.3.13.RELEASE.jar!/:4.3.13.RELEASE]
       at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:147) ~[spring-tx-4.3.13.RELEASE.jar!/:4.3.13.RELEASE]
       at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.3.13.RELEASE.jar!/:4.3.13.RELEASE]
       at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:133) ~[spring-data-jpa-1.11.9.RELEASE.jar!/:na]
       at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.3.13.RELEASE.jar!/:4.3.13.RELEASE]
       at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92) [spring-aop-4.3.13.RELEASE.jar!/:4.3.13.RELEASE]
       at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.3.13.RELEASE.jar!/:4.3.13.RELEASE]
       at org.springframework.data.repository.core.support.SurroundingTransactionDetectorMethodInterceptor.invoke(SurroundingTransactionDetectorMethodInterceptor.java:57) ~[spring-data-commons-1.13.9.RELEASE.jar!/:na]
       at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.3.13.RELEASE.jar!/:4.3.13.RELEASE]
       at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213) ~[spring-aop-4.3.13.RELEASE.jar!/:4.3.13.RELEASE]
       at com.sun.proxy.$Proxy208.save(Unknown Source) ~[na:na]
       at ru.fabit.offence.lawn.service.impl.DecreeService.save(DecreeService.java:277) [classes!/:1.6.0]
1) пользуйся pastebin.com/gist.github.com, пожалуйста, эти простыни в чате - очень больно
2) ну, пишет, что у тебя больше одного ряда с заданным идентификатором - не создавать ситуацию, где таких рядов больше одного?
источник

АD

Алекандр Dontsov... in learn.java
Возможно связано с зависимостями OneToOne, однако их 7 штук, а дебаг недоступен, доступа к бд тоже нет, добавлять каскады опасно, на самом деле очень сложно определить с чем связана ошибка(
источник

АD

Алекандр Dontsov... in learn.java
Неужели могло появится две сущности с одним id (primary key)?)
источник

DS

Dmitriy Shilnikov in learn.java
Алекандр Dontsov
Возможно связано с зависимостями OneToOne, однако их 7 штук, а дебаг недоступен, доступа к бд тоже нет, добавлять каскады опасно, на самом деле очень сложно определить с чем связана ошибка(
Ну да, а чатик тебе поможет путём спиритического сеанса? )
источник

АП

Артур Петров... in learn.java
Переслано от Артур Петров...
Хм, а на 32 битных системах нельзя использовать типы данных long, double? Просто я только что прочёл что это 64 разрядные типы данных
источник

A

Anton in learn.java
Алекандр Dontsov
Неужели могло появится две сущности с одним id (primary key)?)
Почему две? 38614
источник

DS

Dmitriy Shilnikov in learn.java
Артур Петров
Переслано от Артур Петров
Хм, а на 32 битных системах нельзя использовать типы данных long, double? Просто я только что прочёл что это 64 разрядные типы данных
Можно
источник

DS

Dmitriy Shilnikov in learn.java
Артур Петров
Переслано от Артур Петров
Хм, а на 32 битных системах нельзя использовать типы данных long, double? Просто я только что прочёл что это 64 разрядные типы данных
В джаве тебе вообще редко надо задумываться о том, скольки битная система у тебя.
источник

DC

Denis Chikanov in learn.java
Артур Петров
Переслано от Артур Петров
Хм, а на 32 битных системах нельзя использовать типы данных long, double? Просто я только что прочёл что это 64 разрядные типы данных
Можно, у тебя для этого JVM есть.
источник

DC

Denis Chikanov in learn.java
Dmitriy Shilnikov
В джаве тебе вообще редко надо задумываться о том, скольки битная система у тебя.
По-хорошему никогда
источник

DS

Dmitriy Shilnikov in learn.java
Denis Chikanov
По-хорошему никогда
Иногда всё-таки приходится.
источник

A

Anton in learn.java
Артур Петров
Переслано от Артур Петров
Хм, а на 32 битных системах нельзя использовать типы данных long, double? Просто я только что прочёл что это 64 разрядные типы данных
Можно. JVM - виртуальная машина, предоставляющая гарантии исполняемым программам независимо от платформы.
Хоть на 8-битной, всё равно можно long и double.
источник

DC

Denis Chikanov in learn.java
Dmitriy Shilnikov
Иногда всё-таки приходится.
Например (если отбросить JNI и подобные извращения)?
источник

DS

Dmitriy Shilnikov in learn.java
Denis Chikanov
Например (если отбросить JNI и подобные извращения)?
Ну лично мне нужны однажды были нужны подобные извращения для подключения либ, для работы с оборудованием.
источник

DS

Dmitriy Shilnikov in learn.java
Ещё и разница линукс / винда была в итоге
источник

DC

Denis Chikanov in learn.java
Dmitriy Shilnikov
Ну лично мне нужны однажды были нужны подобные извращения для подключения либ, для работы с оборудованием.
Ну вот я поэтому говорю "по-хорошему". :)
Покуда речь о работе в пределах JVM-экосистемы - не должна. А снаружи драконы, да.
источник

DS

Dmitriy Shilnikov in learn.java
Denis Chikanov
Ну вот я поэтому говорю "по-хорошему". :)
Покуда речь о работе в пределах JVM-экосистемы - не должна. А снаружи драконы, да.
Ну объём доступной памяти ещё.
источник

DS

Dmitriy Shilnikov in learn.java
Но это уже скорее не сама джава, а то, где это всё запускаться будет.
источник