JAVA

Java არის ზოგადი დანიშნულების, კონკურენტული, ობიექტურად ორიენტირებული პროგრამირების ენა.

ქსელთან მუშაობის საფუძვლები

ქსელთან მუშაობის საფუძვლები

Java-ს ქსელურ მხარდაჭერას საფუძვლად სოკეტის (socket) კონცეფცია უდევს. ქსელის საბოლოო წერტილის იდენტიფიცირებას სოკეტი ახდენს. სოკეტის პარადიგმა გასული საუკუნის 80ან წლებში 4.2 BSD Berkley UNIX ვერსიაში გამოჩნდა. სწორედ ამ მიზეზით გამოიყენება ტერმინი ბერკლის სოკეტი. სოკეტები თანამედროვე ქსელების საფუძვლებია, რადგან სოკეტი ცალკეულ კომპიუტერს უფლებას აძლევს ერთდროულად გაუწიოს მომსახურება როგოც მრავალ კლიენტს, ასევე სხვადასხვა ტიპის არაერთ ინფორმაციას. ეს პორტის (port) გამოყენების ხარჯზე მიიღწევა, რომელიც განსაზღვრულ კომპიუტერზე ნუმირებულ სოკეტს წარმოადგენს. ამბობენ, რომ სერვერული პროცესი პორტს მანამდე „უსმენს“, სანამ კლიენტი არ დაუკავშირდება მას. სერვერს მრავალი კლიენტის მიღება შეუძლია, რომლებიც პორტის ერთსა და იმავე ნომერთან არიან ჩართულები, თუმცა ყოველი სეანსი უნიკალურია. სოკეტური კომუნი
პარალელური დაპროგრამება

პარალელური დაპროგრამება

პარალელური დაპროგრამება თანამედროვე დაპროგრამების ერთ-ერთი მნიშვნელოვანი შემადგენელი ნაწილია. ვინაიდან ის გარკვეულწილად ითვალისწინებს განსაკუთრებულ სიტუაციებს (გამონაკლისებს), ამიტომ აღნიშნული საკითხის განხილვა  მიზანშეწონილად ჩავთვალეთ.  განსაკუთრებული სიტუაციების (გამონაკლისების) დამუშავება გამონაკლისი არასტანდარტული სიტუაციაა, რომელიც კოდის შესრულების დროს წარმოიქმნება. სხვა სიტყვებით, რომ ვთქვათ, გამონაკლისი შეცდომაა, რომელიც პროგრამის შესრულების დროს იჩენს თავს. დაპროგრამების ენებში, სადაც გამონაკლისების, ანუ განსაკუთრებული სიტუაციების დამუშავება ავტომატურად არ ხდება, შეცდომები „ხელით“ უნდა შესწორდეს პროგრამისტის მიერ, რაც საკმაოდ დამღლელი და შრომატევადი პროცესია. გამონაკლისების დამუშავების თვალსაზრისით, Java ამ პრობლემებისგან გვათავისუფლებს და მათი მართვა ობიექტზე ორიენტირებულ სამ
ინტერფეისები

ინტერფეისები

interface საკვანძო სიტყვის გამოყენება საშუალებას გვაძლევს კლასის ინტერფეისი სრულად გამოვყოთ მისი რეალიზაციისგან. სხვა სიტყვებით რომ ვთქვათ, interface საკვანძო სიტყვის გამოყენებით შეგვიძლია მივუთითოთ ის მოქმედებები, რაც კლასმა უნდა შეასრულოს, მაგრამ არა ის, თუ როგორ შეასრულოს ეს მოქმედებები. სინტაქსური თვალსაზრისით, ინტერფეისები კლასების ანალოგიურია, მაგრამ ისინი არ შეიცავენ ეგზემპლიარის ცვლადებს, ხოლო მათი მეთოდების გამოცხადება არ მოიცავს მეთოდების ტანს. პრაქტიკაში ეს ნიშნავს, რომ ინტერფეისები ისე შეგვიძლია გამოვაცხადოთ, რომ მათი რეალიზაცია არ იქნეს მითითებული. ინტერფეისის განსაზღვრის შემდეგ, მისი რეალიზება კლასების ნებისმიერ რაოდენობას შეუძლია. ამას გარდა, ერთ კლასს ინტერფეისების ნებისმიერი რაოდენობის რეალიზება შეუძლია. ინტერფეისის რეალიზებისთვის კლასმა უნდა შექმნას ინტერფეისის მიერ გა
Modern Java Recipes

Modern Java Recipes

წელი: 2017 ავტორი: Kousen K. გამოცემლობა: O'Reilly Media ISBN: 978-1491973172 ენა: ინგლისური ფორმატი:PDF გვერდები: 322 აღწერა: The introduction of functional programming concepts in Java SE 8 was a drastic change for this venerable object-oriented language. Lambda expressions, method references, and streams fundamentally changed the idioms of the language, and many developers have been trying to catch up ever since. This cookbook will help. With more than 70 detailed recipes, author Ken Kousen shows you how to use the newest features of Java to solve a wide range of problems. For developers comfortable with previous Java versions, this guide covers nearly all of Java SE 8, and includes a chapter focused on changes coming in Java 9. Need to understand how functional idioms will