¿En qué se diferencia valueOf de fromString?
Java
¿Cuáles son las estrategias de entrega de mensajes en Kafka y cómo se implementan?
producer 1 consumer 4 partition 3 topic 1
Escriba un método que devuelva el enésimo elemento de la secuencia de Fibonacci
Cuéntame sobre ti, tu experiencia, qué tareas has resuelto, por qué decidiste irte
¿Comenzaste a trabajar en 2020 en 'Sistemas de Transporte Automatizados'; tenías 17 años?
¿Por qué es popular ExecutorService? ¿Cuál es su ventaja frente a crear hilos directamente?
¿En qué consistía la optimización de consultas SQL?
¿En qué se diferencia un contenedor Docker de una máquina virtual?
¿Cómo implementar llamadas paralelas en Java 17 sin hilos virtuales?
¿Cuáles fueron las etapas de desarrollo e implementación de software en su equipo?
¿Qué cachés hay en Hibernate?
¿Cuál de los parámetros de las interacciones de integración no mejora con el aumento de la capacidad de transmisión?
¿Cuáles son las opciones para evitar problemas de acceso concurrente al trabajar con HashMap?
¿Cómo funciona Spring Security?
La base de datos es grande, construimos índices, revisamos el plan — ¿qué más se puede hacer para optimizar?
¿Cómo implementar el patrón Strategy para la selección dinámica de un servicio según el tipo de entidad en Spring (tarea de código)?
¿Qué casos de prueba escribirías para este método?
import java.util.Arrays; import java.util.HashMap; import java.util.Map; public class badCounter { public static Map<String, Integer> mapOfBadNames = new HashMap<>(); protected void doProcessing(String filePath) throws IOException { try { FileInputStream fis = new FileInputStream(filePath); BufferedReader br = new BufferedReader(new InputStreamReader(fis)); while((br.readLine())!=null){ processWords(br.readLine()); } br.close(); fis.close(); } catch (IOException | NullPointerException ex) { System.out.println(ex.getMessage()); } } private void processWords(String line) { Arrays.stream(line.split(" ")) .map(String::trim) .forEach(word -> { if(mapOfBadNames.containsKey(word)){ mapOfBadNames.put(word, mapOfBadNames.get(word)+1); } else{ mapOfBadNames.put(word, 1); } }); } public void writeResultToFile(String path) throws IOException { try { PrintWriter out = new PrintWriter(path); out.println("word,frequency"); for(Map.Entry<String, Integer> entry : mapOfBadNames.entrySet()){ out.println(entry.getKey() + "," + entry.getValue()); } out.close(); } catch (NullPointerException | IOException ex) { throw new RuntimeException("Error writing to file", ex); } } public boolean isEverythingFine() { return true; } public static void main(String[] args) { badCounter bcn = new badCounter(); try { bcn.doProcessing("bad_input.txt"); bcn.writeResultToFile("result.csv"); bcn.doProcessing("bad_input1.txt"); bcn.writeResultToFile("result1.csv"); } catch (IOException ex) { System.out.println("Something went wrong"); } } }
Si aumentas el número de particiones de uno a diez, ¿cómo distribuir los mensajes de manera uniforme entre ellas?