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()); } }
Java
Ինչու է խորհուրդ տրվում օգտագործել POST՝ փոխարեն GET-ի՝ գաղտնագրային տվյալների համար։
Ի՞նչ է հիշողության արտահոսքը (Memory Leak):
Կարո՞ղ է ծրագրավորման մեջ փոփոխել տվյալների պահպանման համար հատկացված ստեկի տարածքի չափը։
Դասընթաց #3 Ի՞նչ արդյունք կլինի սեսիայում Session #1: Կապվել տվյալների բազայի հետ t աղյուսակով և կատարել INSERT INTO t(id,val) VALUES (3,'c'); COMMIT; Սեսիա #1 ------------------------ psql> BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ; -- T1 ------------------------ Սեսիա #2 ------------------------ psql(T2)> UPDATE t SET val='c2' WHERE id=3; COMMIT; ------------------------ Սեսիա #1 ------------------------ psql(T1)> SELECT id,val FROM t WHERE id=3 ------------------------
Ի՞նչ է հոսքի սովը (starvation):
Ի՞նչ մեթոդներ և գործիքներ սովորաբար օգտագործում եք Spring հավելվածների շրջանակում տվյալների բազայի հետ փոխազդեցության համար։
Ի՞նչ տարբերություն կա @Bean և @Component նշումներում Spring-ում և ինչ իրավիճակներում են դրանք օգտագործվում:
Նշեք, թե ինչ են unchecked exceptions-ը ծրագրավորման մեջ
public static void main(String args[]) { checkMap(new HashMap<>()); checkMap(new LinkedHashMap<>()); checkMap(new TreeMap<>()); } private static void checkMap(Map<Person, String> map) { System.out.println("Ստուգում " + map.getClass()); Person ivan = new Person("Иван"); Person peter = new Person("Пётр"); Person maria1 = new Person("Мария"); Person maria2 = new Person("Мария"); map.put(ivan, ivan.name); map.put(peter, peter.name); map.put(maria1, maria1.name); map.put(maria2, maria2.name); // կրկնություն և տպում for (Map.Entry<Person, String> entry : map.entrySet()) { System.out.println(entry); } // maria1.setName("Աննա-Մարիա"); // maria2.setName("Աննա-Մարիա"); System.out.println(map.get(maria1)); System.out.println(map.get(maria2)); System.out.println("==================================="); }
Կարող եք բացատրել, թե ինչ է Spring-ը և ինչու է այն օգտագործվում Java զարգացման մեջ?
Կարող է արդյոք որոշել փոխազդեցության տեսակը URL-ի վրա հիմնվելով?
Ի՞նչ է անում parallelStream մեթոդը։
Որ տեսակների JOIN կան?
Ինչ է հիշողության արտահոսքը Java-ում: Ի՞նչ ալգորիթմ է օգտագործվում դրա որոնման համար։
Կարող եք նշել ExecutorService ինտերֆեյսի հիմնական մեթոդները և բացատրել նրանց նպատակները?
Ինչպես գտնել հիշողության արտահոսք (Heap Dump վերլուծություն)?
Ի՞նչ տարբերություն կա ArrayDeque և LinkedList տվյալների կառուցվածքների միջև, որոնք օգտագործվում են հերթերի և սղոցների կազմակերպման համար:
Ի՞նչ փորձ ունեք JDBC-ով տվյալների բազաներով աշխատելու համար։