Quelles sont les stratégies de livraison de messages dans Kafka et comment sont-elles mises en œuvre?
Java
En quoi consistait l'optimisation des requêtes SQL?
Écrivez une méthode qui renvoie le n-ième élément de la séquence de Fibonacci
Comment implémenter des appels parallèles en Java 17 sans threads virtuels?
Pourquoi ExecutorService est-il populaire ? Quel est son avantage par rapport à la création directe de threads ?
Comment fonctionne Spring Security?
Comment lancer une tâche dans un thread séparé en Java?
Quelle est la différence entre un conteneur Docker et une machine virtuelle?
Quelle est la différence entre valueOf et fromString?
Parlez du contrat equals/hashCode.
Quels cas de test écririez-vous pour cette méthode?
Quel paramètre des interactions d'intégration ne s'améliore pas avec l'augmentation de la capacité de bande passante?
Pourquoi et comment avez-vous migré vers Kafka pour le traitement asynchrone et la réduction de la charge?
Comment implémenter le pattern Strategy pour le choix dynamique d'un service selon le type d'entité dans Spring (exercice de code) ?
Quelles sont les options pour éviter les problèmes d'accès concurrent lors de l'utilisation de HashMap?
La base de données est grande, nous avons construit des index, vérifié le plan — que peut-on faire d'autre pour optimiser ?
Quelles ont été les étapes de développement et de mise en œuvre du logiciel dans votre équipe?
Quels caches existent dans Hibernate?
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"); } } }
Pourquoi avez-vous augmenté la taille du pool de connexions sous une charge élevée et en quoi cela diffère-t-il de l'augmentation du nombre total de requêtes?