1
00:00:00,330 --> 00:00:06,090
Veamos otros métodos útiles de la clase existen, por ejemplo, para manejar error, para liberar espacio

2
00:00:06,090 --> 00:00:06,730
de la memoria.

3
00:00:06,780 --> 00:00:13,260
En fin, y también recuerden que Sistem esta clase contiene solamente métodos y atributos estáticos,

4
00:00:13,290 --> 00:00:13,860
nada más.

5
00:00:13,980 --> 00:00:19,920
De hecho, la clase System está diseñada para que no se pueda instancia con el operón neo no se puede

6
00:00:19,920 --> 00:00:25,920
crear una instancia y tampoco se puede crear una clase que extienda de ella una subclase o clase.

7
00:00:26,230 --> 00:00:28,200
Bueno, después vamos a saber lo que es herencia.

8
00:00:28,380 --> 00:00:34,860
En ciertos casos se puede aplicar por diseño y también por seguridad que algunas clases no tengan descendencia.

9
00:00:35,070 --> 00:00:40,230
Es decir, que no se puedan extender, heredar y también que no se puedan instancias, solamente invocar

10
00:00:40,230 --> 00:00:46,470
métodos o atributos estáticos, tal como la clase system, como la clase matemática que puede saber

11
00:00:46,530 --> 00:00:48,150
la clase Mat Villaba.

12
00:00:48,590 --> 00:00:54,180
Y hay otra clase que tienen tanto atributos y métodos estáticos que se invocan de forma directa con

13
00:00:54,180 --> 00:00:56,100
el punto nombre, la clase, el punto.

14
00:00:56,130 --> 00:00:58,590
Pero también se puede crear la instancia con el New.

15
00:00:59,010 --> 00:01:01,810
Veamos otra características de la clase System.

16
00:01:02,460 --> 00:01:06,480
Por ejemplo, para manejar errores no podríamos ir a la clase.

17
00:01:06,750 --> 00:01:12,600
Ejemplo asignar propiedades de sistema aka carga un archivo confi punto properties que existe.

18
00:01:12,660 --> 00:01:13,740
De hecho acá la tenemos.

19
00:01:13,770 --> 00:01:15,690
Pero qué pasa si no existiera?

20
00:01:15,960 --> 00:01:21,530
Le voy a colocar, por ejemplo, CONFIG 2 acá como nombre Confit 2 Properties.

21
00:01:22,020 --> 00:01:23,040
Entonces ejecuto.

22
00:01:24,380 --> 00:01:25,350
Van a ser un error.

23
00:01:26,650 --> 00:01:33,290
Bijan No existe el archivo ya, pero estamos imprimiendo con el otro también para errores con el troikas

24
00:01:33,520 --> 00:01:34,960
puede ocupar el error.

25
00:01:35,200 --> 00:01:41,740
Otro atributo que para error la diferencia es que muestra el mensaje, el texto como un error.

26
00:01:44,500 --> 00:01:46,940
Se fijen, de hecho parece en color rojo como un error.

27
00:01:47,990 --> 00:01:51,800
Es mucho mejor para textos o mensajes de error usar esta forma.

28
00:01:51,880 --> 00:01:59,600
Si este punto era un atributo estático, que también es un print stream igual que el out, pero para

29
00:01:59,600 --> 00:02:05,030
error, otro método que también hemos visto por ahí es el éxito.

30
00:02:05,360 --> 00:02:10,760
Por ejemplo, ocurre un error el Estatut, cuando todo sale correcto, es el cero, pero cuando hay

31
00:02:10,760 --> 00:02:12,130
un error es distinto cero.

32
00:02:12,230 --> 00:02:13,610
Por ejemplo, puede ser menos.

33
00:02:13,730 --> 00:02:20,790
1 Un error, simplemente un error básico, o bien con uno una falla del sistema cuando se lanza una

34
00:02:20,790 --> 00:02:21,160
excepción.

35
00:02:21,260 --> 00:02:27,200
Generalmente usamos uno cuando se lanza una sección, cuando ocurre una falla y se interrumpe el flujo

36
00:02:27,290 --> 00:02:31,200
de nuestra aplicación e flujo normal y nos salimos del programa.

37
00:02:31,340 --> 00:02:34,280
Entonces, con Exit 1 terminamos incluso después.

38
00:02:34,460 --> 00:02:39,170
Si todo sale bien AQAP debajo del catch podríamos tener mucho más código.

39
00:02:39,290 --> 00:02:42,890
Otras sentencias, otro algoritmo y continuar con un flujo.

40
00:02:43,140 --> 00:02:45,860
Pero si ocurre un error, simplemente nos salimos.

41
00:02:46,310 --> 00:02:47,240
Termina la aplicación.

42
00:02:51,040 --> 00:02:53,840
Acá cambia el código a uno con un error.

43
00:02:54,050 --> 00:02:57,100
Entonces de cierta forma estamos manejando ya un error.

44
00:02:58,090 --> 00:03:01,690
Voy a volver a renombrar el Koffi para que quede como estaba.

45
00:03:01,840 --> 00:03:04,900
Y también vamos a hacer algo parecido en la clase.

46
00:03:04,990 --> 00:03:07,330
Ejemplo lleva útil Depaz.

47
00:03:08,550 --> 00:03:11,230
Acá también acá también tenemos un ICCAT.

48
00:03:12,430 --> 00:03:15,330
Entonces podría cambiar esto, lo podemos comentar.

49
00:03:25,040 --> 00:03:27,850
En la fecha tenía un formato incorrecto.

50
00:03:28,600 --> 00:03:32,690
Punto concatenados con el objeto de decepción.

51
00:03:32,990 --> 00:03:33,540
Punto.

52
00:03:33,880 --> 00:03:36,670
Get Me Sacho obtener message.

53
00:03:44,110 --> 00:03:46,990
El formato debe ser y vamos a copiar el formato que tenemos acá.

54
00:03:52,960 --> 00:03:59,460
Con las comillas y hoy tenemos dos opciones nos salimos, por ejemplo, con éxito.

55
00:04:01,600 --> 00:04:09,610
El código 1 ya que se lanza una acepción o bien volver a invocar el men para que se vuelva a pedir la

56
00:04:09,610 --> 00:04:13,060
fecha con un formato correcto, entonces vamos a ejecutar.

57
00:04:14,600 --> 00:04:23,960
Por ejemplo, una fecha con ese lart se fijen la fecha tiene un formato incorrecto, no se puede leer

58
00:04:24,020 --> 00:04:25,630
la fecha con este formato.

59
00:04:26,620 --> 00:04:30,400
El formato debe ser tanto, se fijan y finaliza una alternativa.

60
00:04:31,060 --> 00:04:33,960
Otra forma es volver a invocar el mail.

61
00:04:34,750 --> 00:04:36,190
Esto acá lo comento

62
00:04:38,800 --> 00:04:41,380
y volvemos a invocar M€ con los argumentos.

63
00:04:50,780 --> 00:04:57,920
Se fijan el error y se vuelve a ejecutar el método Me dejan, vuelve a entrar y vuelve a preguntar.

64
00:04:58,060 --> 00:05:01,950
Ingresa una fecha, ingresamos otra fecha, cualquiera da lo mismo.

65
00:05:02,160 --> 00:05:05,470
Vuelve a ocurrir el error y vuelve a preguntar hasta que ingresemos.

66
00:05:05,490 --> 00:05:06,300
Con ese formato.

67
00:05:10,650 --> 00:05:11,090
Finjan.

68
00:05:12,050 --> 00:05:19,070
Diferente forma para el ejemplo lo con dejar así o bien con salirnos con el éxito.

69
00:05:19,220 --> 00:05:19,490
1.

70
00:05:21,740 --> 00:05:22,800
Voy a cerrar todo.

71
00:05:27,580 --> 00:05:28,930
Y nos vamos al ejemplo.

72
00:05:29,060 --> 00:05:30,180
Test rendimiento.

73
00:05:31,960 --> 00:05:36,630
En este ejemplo se crean muchos objetos de streeck, por lo tanto se carga la memoria con mucha distancia

74
00:05:36,630 --> 00:05:43,350
de muchos objetos y ya va de forma automática, maneja un recolector de basura que se encarga de eliminar

75
00:05:43,470 --> 00:05:47,280
desechar todas las instancias que nos están utilizando, que están en desuso.

76
00:05:47,400 --> 00:05:52,530
En otras palabras, que no se hace referencia de estas instancia en ninguna parte, entonces simplemente

77
00:05:52,650 --> 00:05:53,550
las elimina.

78
00:05:53,610 --> 00:05:59,280
Pero cuando tenemos un programa muy cargado como este caso, con muchos objetos, muchas instancias

79
00:05:59,280 --> 00:06:04,610
que se están creando, en este caso del tipo string, preocúpese cualquiera, podemos acelerar el garbage

80
00:06:04,680 --> 00:06:10,050
collector o el recolector de basura, entonces lo podemos invocar de forma explícita y de esa forma

81
00:06:10,170 --> 00:06:15,840
invocamos el recolector y automáticamente va liminar todos los objetos que nos están utilizando, que

82
00:06:15,840 --> 00:06:20,460
están en desuso, que no se están referenciando en ninguna parte de nuestra aplicación.

83
00:06:20,520 --> 00:06:26,430
Puede que estas instancias se hayan utilizado anteriormente, pero después se tienen que borrar, eliminar

84
00:06:26,430 --> 00:06:28,050
de la memoria para liberar espacio.

85
00:06:28,140 --> 00:06:28,490
Entonces?

86
00:06:28,500 --> 00:06:32,130
Bueno, eso lo podemos hacer con la clase System, por ejemplo.

87
00:06:32,150 --> 00:06:35,020
Bueno, puede ser al final de la aplicación o entremedio.

88
00:06:35,430 --> 00:06:44,160
Por ejemplo, acá después del foro, entonces existen punto G de Garbage c colector o recolector de

89
00:06:44,160 --> 00:06:44,490
basura.

90
00:06:44,640 --> 00:06:51,120
Entonces esta forma lo invocamos de forma explícita para liberar espacio, pero es opcional solamente

91
00:06:51,120 --> 00:06:55,830
cuando estamos trabajando con muchas instancias, muchos objetos, porque esto también se hace de forma

92
00:06:55,830 --> 00:07:01,590
automática por la máquina virtual de Java, pero de esta forma estamos acelerando el proceso, lo estamos

93
00:07:01,590 --> 00:07:02,130
forzando.

94
00:07:02,490 --> 00:07:08,280
Al final lo que hace es reciclar las instancias, limpiarlas las que nos están utilizando y también

95
00:07:08,370 --> 00:07:11,550
opcional también, porque eso también se hace de forma automática.

96
00:07:11,640 --> 00:07:15,210
El system éxito si todo sale bien.

97
00:07:15,810 --> 00:07:17,670
Recuerden, siempre salimos con cero.

98
00:07:18,960 --> 00:07:25,440
Entonces, la clase system nos permite varias características y funcionalidades, siempre de forma estática,

99
00:07:25,650 --> 00:07:28,800
tanto para imprimir en la pantalla con el out para salirnos.

100
00:07:28,860 --> 00:07:29,250
En fin.

101
00:07:36,360 --> 00:07:43,630
Ahora, obviamente no vemos el resultado del colector porque trabaja en un proceso paralelo independiente

102
00:07:43,750 --> 00:07:45,560
y se ejecuta a muy bajo nivel.

103
00:07:45,610 --> 00:07:50,620
Pero si siempre está reciclando nuestras instancias, objetos que nos estamos utilizando.

104
00:07:50,800 --> 00:07:52,650
Continuamos en la siguiente clase.
