როგორ არის განხორციელებული მონაცემთა სტრუქტურა HashMap და როგორ უზრუნველყოფს ის სწრაფ წვდომას ელემენტებზე?
Java
როგორ განვსაზღვროთ, არის თუ არა გამონაკლისი პროგრამირების ენაში შემოწმებადი ან არა?
რა არის ხელით კოდის გამოყენებით Singleton-ის განხორციელების ნაკლოვანება და რატომ ითვლება ეს ცუდი პრაქტიკად?
გთხოვთ, მოგვიყევით Java-ს მეხსიერების შიდა მოწყობილობისა და მტვრის შეგროვების პროცესების შესახებ.
გაამართეთ პარალელური ნაკადების კონცეფცია Stream API-ში და მათი მახასიათებლები
თუ გამონაკლისი მოხდა როგორც try-ში, ასევე რესურსის დახურვის დროს (try-with-resources), რა დავიჭიროთ catch-ში?
შეგიძლიათ ახსნათ, რას ნიშნავს ტერმინი 'შეუცვლელი ობიექტი' და რა არის მისი ძირითადი მახასიათებლები?
როგორ შევარჩიოთ კონკრეტული განხორციელება Bean კომპონენტის Spring პროექტში ჩასაშენებლად?
JPA და JDBC-ს უპირატესობები და ნაკლოვანებები?
პროგრამირებაში ანოტაციების გამოყენების მიზანია რა?
რა სარგებელი და ნაკლია Spring Boot-ის გამოყენებაში Java პროგრამების განვითარებაში?
პროგრამირებაში უცვლელი ობიექტების როლი რა არის და რა სარგებელს იძლევა ისინი?
რა ძირითადი კატეგორიებია მეთოდების, რომლებიც მონაცემების დამუშავების შესაძლებლობებს სთავაზობენ Stream API-ში?
რის დროს Spring-ში @Transactional ნიშნის გამოყენება არ უზრუნველყოფს ელოდებოდე ტრანზაქციის ქცევას?
როგორ შეიძლება ფუნქციის არგუმენტი გადაეცეს მითითებით, რათა ფუნქციის შიგნით ცვლილებები აისახოს თავდაპირველ ცვლადზე?
როგორ ხორციელდება მნიშვნელობების გადაცემა Java-ში მეთოდების გამოძახებისას — რჩევით თუ მნიშვნელობით?
როგორ გავამარტივოთ დამუშავება, თუ გვინდა ერთნაირად მოვიქცეთ რამდენიმე გამონაკლისთან (Multi-catch)?
რატომ არის რეკომენდებული გამოიყენოთ POST ნაცვლად GET საიდუმლო მონაცემებისთვის?
public class Accumulator { private Map<String, Object> data = new HashMap<>(); // მიმდინარე მონაცემთა ნაკრები private List<Map<String, Object>> dataList = new ArrayList<>(); // მონაცემთა პარტია private Map<Instant, String> responses = new HashMap<>(); // პასუხები სერვერიდან, რომელიც იღებს მონაცემებს private int dataId; /** * დამატება ველი field და მნიშვნელობით value ნაკრებში */ public void add(String field, String value) { data.put(field, value); } /** * მნიშვნელობის დაბრუნება ველის სახელით field */ public <T> T get(String field) { return (T) data.get(field); } /** * პასუხების დაბრუნება სერვერიდან, რომელიც იღებს მონაცემებს */ public String getResponses() { String out = ""; for (String resp : responses.values()) { out += "; " + resp; } return out; } /** * მიმდინარე მონაცემთა ნაკრების დასრულება და მისი გაგზავნა */ public synchronized void push() { dataList.add(data); if (dataList.size() == 100) { send(); dataList.clear(); } data = new HashMap<>(); data.put("id", dataId++); } /** * მონაცემთა პარტიის გაგზავნა სერვერზე, რომელიც იღებს მონაცემებს */ private void send() { RestTemplate restTemplate = new RestTemplate(); HttpEntity<List<Map<String, Object>>> request = new HttpEntity<>(dataList); String url = "localhost:20808/msg/incoming"; ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, request, String.class); responses.put(Instant.now(), response.getBody()); } }