Costo de flujo con excepción

La diferencia de rendimiento en las JVM actuales debe ser insignificante. Sin embargo, cumpla con la regla de que las excepciones deben usarse en situaciones excepcionales. Es un flujo normal no tener fondos suficientes, por lo que usaría un método public boolean transferFund()que devuelva truesi tiene éxito, y de lo falsecontrario. Esta sugerencia viola la separación comando / consulta , pero creo que está bien.

Respuesta 1

En tiempo de ejecución, los bloques try-catch no afectan significativamente el rendimiento. Solo cuando se produce una excepción y, en estos casos, debe manejar la excepción de todos modos. Pero debe usar excepciones solo cuando son necesarias (cuando la aplicación no puede preceder normalmente).

Respuesta: 2

Esta tarea es más sobre operaciones atómicas. En el primer escenario, es posible sobregirar una cuenta, mientras que en el segundo revierte todo (o debería hacerlo).

En términos de rendimiento cada vez que genera un seguimiento de pila que consume memoria y tiempo. Iirc hace que una ruta de ejecución sea 70 veces más costosa.

Respuesta: 3

Si estaba haciendo una revisión de código y alguien motivaba la elección entre usar excepciones frente a llamadas de método por consideraciones de rendimiento, rebajaría a ese desarrollador. Es un caso de sub-optimización de libros de texto y una pérdida de tiempo. Optimice donde importa y tenga un impacto medible. No afeite milisegundos a costa de la calidad y la solidez del código.

En cuanto a este caso, a algunas personas les gusta usar excepciones como mecanismo de control de flujo. Yo no. Las excepciones, en mi opinión, se utilizan para indicar alcanzar un estado inesperado. A menudo, esto es análogo a un error. Las excepciones marcadas implican que el estado es algo que podría recuperarse dentro del alcance de la transacción o conversación actual. Una excepción no verificada implica que no hay una recuperación confiable y que el sistema debe alertar al usuario.

Respuesta: 4

Estoy trabajando en una aplicación de prueba que requiere conexión al servidor y guardo la respuesta. La respuesta en realidad es un paquete de datos, por lo que necesito entender qué tipo de paquete es y ...

Si presiono el botón Atrás de mi actividad principal, aparece una pantalla en negro. ¿Es este comportamiento normal? Para solucionar esto, he puesto el siguiente código: ¿es esto una solución alternativa? vacío público ...

He agregado una nueva actividad a mi aplicación que ya tenía algunas otras actividades. Estoy tratando de hacer mi nueva actividad como actividad principal. Cuando se hace clic en un botón de las actividades existentes anteriormente ...

Estoy usando el siguiente método para descargar imágenes de un servidor para servir en una aplicación de Android. public static void downloadToFile (archivo de archivo, URL URL, int connectTimeout, int readTimeout) ...