Я сталкиваюсь с ошибкой java.lang.OutOfMemoryError при попытке изменить размер больших изображений с помощью зависимости Thumbnailator в Springboot. Размер моей кучи ограничен значениями -Xms256m -Xmx512m, и я считаю, что проблема возникает из-за размера обрабатываемых изображений. Ниже приведен фрагмент кода, который я использую. чтобы изменить размер и сжать изображения:
org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.OutOfMemoryError: Java heap space
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1006)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:925)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:974)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:877)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:851)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
Зависимость Maven
net.coobird
thumbnailator
0.4.20
Размер кучи:
-Xms256m -Xmx512m
Вопросы:< /strong>
Как я могу оптимизировать свой текущий подход для обработки изменения размера больших изображений в рамках заданных ограничений памяти?
Есть ли лучший способ обработки больших файлов изображений с помощью библиотеки миниатюр или любых альтернативных библиотек?
Будем признательны за любые предложения и рекомендации!
Я сталкиваюсь с ошибкой java.lang.OutOfMemoryError при попытке изменить размер больших изображений с помощью зависимости Thumbnailator в Springboot. Размер моей кучи ограничен значениями -Xms256m -Xmx512m, и я считаю, что проблема возникает из-за размера обрабатываемых изображений. [b]Ниже приведен фрагмент кода, который я использую. чтобы изменить размер и сжать изображения:[/b] [code] private static void compressImage(File file) throws IOException { Path tempFile = Files.createTempFile("temp", ".jpg"); try { Thumbnails.of(file) .rotate(0) .scale(0.75f) .outputQuality(0.9f) .outputFormat("jpg") .toFile(tempFile.toFile());
Files.move(tempFile, file.toPath(), StandardCopyOption.REPLACE_EXISTING); } finally { Files.deleteIfExists(tempFile); } } [/code] [b]Сведения об ошибке:[/b] [code]org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.OutOfMemoryError: Java heap space at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1006) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:925) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:974) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:877) at javax.servlet.http.HttpServlet.service(HttpServlet.java:661) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:851) at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:123) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [/code] [b]Зависимость Maven[/b]
net.coobird thumbnailator 0.4.20
[b]Размер кучи:[/b] -Xms256m -Xmx512m Вопросы:< /strong> [list] [*]Как я могу оптимизировать свой текущий подход для обработки изменения размера больших изображений в рамках заданных ограничений памяти? [*] Есть ли лучший способ обработки больших файлов изображений с помощью библиотеки миниатюр или любых альтернативных библиотек? [/list] Будем признательны за любые предложения и рекомендации!
Я столкнулся с ошибкой java.lang.OutOfMemoryError при попытке изменить размер больших изображений с помощью библиотеки миниатюр в Java. Размер моей кучи ограничен значениями -Xms256m -Xmx512m, и я считаю, что проблема возникает из-за размера...
Я столкнулся с ошибкой java.lang.OutOfMemoryError при попытке изменить размер больших изображений с помощью библиотеки миниатюр в Java. Размер моей кучи ограничен значениями -Xms256m -Xmx512m, и я считаю, что проблема возникает из-за размера...
Я новичок в Java и только начал использовать IntelliJ IDEA в качестве своей IDE.
Когда я использую ее, иногда она работает с задержкой.
Я изменил свои xms и xmx на больший размер кучи (xms = 1024, xmx = 2048), но выдает ошибку. Итак, я откатил его....
Друзья, нужна ваша помощь, мне приходится обрабатывать очень большой файл с информацией (около файла весит 30 Мб). При обработке этого информационного файла Java выдает следующую ошибку: