Foros del Web » Programación para mayores de 30 ;) » Java »

Eficiencia y manejo de strings en java

Estas en el tema de Eficiencia y manejo de strings en java en el foro de Java en Foros del Web. Hola gente. Estoy aprendiendo Java, y todo me parece buenísimo, pero tengo dudas acerca de la eficiencia del compilador de Java. Tengo la idea o ...
  #1 (permalink)  
Antiguo 21/04/2009, 09:39
 
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 90
Antigüedad: 18 años, 10 meses
Puntos: 2
Eficiencia y manejo de strings en java

Hola gente.
Estoy aprendiendo Java, y todo me parece buenísimo,
pero tengo dudas acerca de la eficiencia del compilador de Java.
Tengo la idea o creencia de que si hago un mismo programa en C++ y en Java,
entonces el programa C++ va a correr más rápido.
¿Es cierto esto?
¿Qué diferencias hay en la eficiencia?

También me llama la atención el mecanismo de ''objetos basura'' de Java,
del cual el programador no tiene control alguno.
Me pregunto si esto repercute en la eficiencia del programa,
ya que al haber memoria aún no liberada,
el JVM ocupa tiempo administrando los recursos de memoria antiguos y nuevos.

De todos modos, las diferencias generales a lo mejor no sean tan graves...
salvo el tema del manejo de datos String.
En C++ tenemos la posibilidad de manejar una cadena de caracteres,
cambiando caracteres individuales si nos place,
y en caso de trabajar asiduamente con Strings,
uno puede manejar cadenas y subcadenas de forma eficiente,
compartiendo trozos de memoria entre distintas cadenas de caracteres por ejemplo, o cambiando un solo caracter si hace falta, entre otras cosas.

Pero en Java estamos obligados a crear un nuevo dato String por cada cambio que hagamos, incluso si este cambio es pequeño, digamos de un solo caracter.
Cuando uno trabaja asiduamente con cadenas de caracteres, esto representa un inconveniente, porque el programa comienza a llenar la memoria rápidamente,
además de que el hecho de estar copiando cadenas completas todo el tiempo es más lento que la manipulación directa de ciertos bytes individuales de la cadena.

Entiendo que esto contribuye a la fiabilidad del sistema, pero lo que estoy discutiendo acá es el tema de la eficiencia.

Si tengo pensado trabajar asiduamente con cadenas de caracteres,
¿es Java tan ineficiente como lo veo yo a simple vista?
¿Es mejor usar otro lenguaje para este tipo de tarea?
¿O existen alternativas en Java que permiten un código eficiente en el trabajo con Strings?

Saludos
  #2 (permalink)  
Antiguo 21/04/2009, 09:46
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Eficiencia y manejo de strings en java

StringBuffer, StringBuilder.
  #3 (permalink)  
Antiguo 21/04/2009, 10:47
 
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 90
Antigüedad: 18 años, 10 meses
Puntos: 2
Respuesta: Eficiencia y manejo de strings en java

Gracias.
Voy a chequear eso
  #4 (permalink)  
Antiguo 08/09/2011, 13:41
 
Fecha de Ingreso: septiembre-2011
Mensajes: 3
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Eficiencia y manejo de strings en java

Escribo en este foro para pedir ayuda en un script Java que me permita resolver el siguinete problema de manejo de strings:

Variable [texto]

Si el string: [href="http://en.wikipedia.org/wiki/"] existe en la variable [texto] y si [href="http://en.wikipedia.org/wiki/] + los 5 caracteres siguientes es diferente a [href="http://en.wikipedia.org/wiki/File]

Entonces: Remplaza todo lo que esta a la derecha de [href="] hasta ["] por [#]

Si no: No hacer nada.

El script tiene que hacer eso hasta que recorra toda la variable [texto].


Saludos y gracias de ante mano por la buena voluntad
  #5 (permalink)  
Antiguo 08/09/2011, 17:15
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Eficiencia y manejo de strings en java

Debiste haber creado un tema nuevo para esto, este tiene varios años inactivo.

Con el metodo indexOf puedes hacer todo lo que te piden:
http://download.oracle.com/javase/6/...va.lang.String)
Puedes encontrar unos cuantos metodos mas que te pueden ser utiles en la clase String.
  #6 (permalink)  
Antiguo 09/09/2011, 02:57
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Eficiencia y manejo de strings en java

también hay que tener en cuenta que para reconocer un carácter "especial" como " hay que poner \ delante para escaparlo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:15.