জাভা 7 এ নতুন কোন বৈশিষ্ট্য বাস্তবায়ন হতে চলেছে? তারা এখন কি করছে?
উত্তর:
এটি ওপ্যাজেডকে 7 বৈশিষ্ট্য পৃষ্ঠা থেকে জাভা 7 নতুন বৈশিষ্ট্যগুলির সংক্ষিপ্তসার :
ভিএম জেএসআর 292: গতিশীল টাইপযুক্ত ভাষার জন্য সমর্থন (ইনভোকডিনামিক) কঠোর শ্রেণি-ফাইল পরীক্ষা করা ল্যাং জেএসআর 334: ছোট ভাষার বর্ধিতকরণ (প্রকল্পের মুদ্রা) মূল শ্রেণি-লোডার আর্কিটেকচার আপগ্রেড করুন একটি URLClassLoader বন্ধ করার পদ্ধতি সংকেত এবং সংগ্রহ আপডেট (jsr166y) আই 18n ইউনিকোড 6.0 স্থানীয় বৃদ্ধি পৃথক ব্যবহারকারী লোকেল এবং ব্যবহারকারী ইন্টারফেস লোকেল আয়নেট জেএসআর 203: জাভা প্ল্যাটফর্মের জন্য আরও নতুন আই / ও এপিআই (NIO.2) জিপ / জার সংরক্ষণাগারগুলির জন্য NIO.2 ফাইল সিস্টেম সরবরাহকারী এসসিটিপি (স্ট্রিম কন্ট্রোল ট্রান্সমিশন প্রোটোকল) এসডিপি (সকেট সরাসরি প্রোটোকল) উইন্ডোজ ভিস্তা আইপিভি 6 স্ট্যাকটি ব্যবহার করুন টিএলএস 1.2 সেকেন্ড এলিপটিক-কার্ভ ক্রিপ্টোগ্রাফি (ইসিসি) jdbc জেডিবিসি 4.1 জাভা 2D এর জন্য ক্লায়েন্ট এক্সরেন্ডার পাইপলাইন 6u10 গ্রাফিক্স বৈশিষ্ট্যগুলির জন্য নতুন প্ল্যাটফর্ম এপিআই তৈরি করুন নিমং দোলের জন্য চেহারা এবং অনুভূতি JLayer উপাদান সুইং গ্রাভিল শব্দ সংশ্লেষক [নতুন] ওয়েব এক্সএমএল স্ট্যাক আপডেট করুন এমজিএমটি এমবিয়ান উন্নত [এমপিডেট]
এই:
BufferedReader br = new BufferedReader(new FileReader(path));
try {
return br.readLine();
} finally {
br.close();
}
হয়ে:
try (BufferedReader br = new BufferedReader(new FileReader(path)) {
return br.readLine();
}
বন্ধ করতে আপনি একাধিক সংস্থান ঘোষণা করতে পারেন:
try (
InputStream in = new FileInputStream(src);
OutputStream out = new FileOutputStream(dest))
{
// code
}
int one_million = 1_000_000;
String s = ...
switch(s) {
case "quux":
processQuux(s);
// fall-through
case "foo":
case "bar":
processFooOrBar(s);
break;
case "baz":
processBaz(s);
// fall-through
default:
processDefault(s);
break;
}
int binary = 0b1001_1001;
Map<String, List<String>> anagrams = new HashMap<String, List<String>>();
হয়ে:
Map<String, List<String>> anagrams = new HashMap<>();
এই:
} catch (FirstException ex) {
logger.error(ex);
throw ex;
} catch (SecondException ex) {
logger.error(ex);
throw ex;
}
হয়ে:
} catch (FirstException | SecondException ex) {
logger.error(ex);
throw ex;
}
এই:
@SuppressWarnings({"unchecked", "varargs"})
public static void printAll(List<String>... lists){
for(List<String> list : lists){
System.out.println(list);
}
}
হয়ে:
@SafeVarargs
public static void printAll(List<String>... lists){
for(List<String> list : lists){
System.out.println(list);
}
}
Objects
নাল রেফারেন্সগুলি পরীক্ষা করা এড়াতে স্থির পদ্ধতি সহ নতুন শ্রেণি রয়েছে। উদাহরণ: if (obj != null && obj.equals(anotherObj))
হয়ে যায়if (Objects.equals(obj, anotherObj))
জেলেয়ার ক্লাসের সাথে উপাদানগুলি সাজান:
জে লায়ার ক্লাসটি সুইং উপাদানগুলির জন্য একটি নমনীয় এবং শক্তিশালী সজ্জাকারী। জাভা এসই in এর জেলেয়ার বর্গটি জাভা.নেটের জেক্সলায়ার প্রকল্প প্রকল্পের সাথে একই রকম spirit জেলেয়ার ক্লাসটি প্রাথমিকভাবে জেএক্সলায়ার প্রকল্পের উপর ভিত্তি করে তৈরি হয়েছিল, তবে এর এপিআই পৃথকভাবে বিকশিত হয়েছিল।
স্যুইচ বিবৃতি স্ট্রিংস :
জেডিকে 7-এ, আমরা একটি স্ট্রিং অবজেক্টটি একটি স্যুইচ স্টেটমেন্টের অভিব্যক্তিতে ব্যবহার করতে পারি। জাভা সংকলক সাধারণত সুইড স্টেটমেন্টগুলি থেকে স্টেইনিং অবজেক্টগুলি ব্যবহার করে স্টেইনড অবজেক্টগুলি ব্যবহার করে তবে আরও কার্যকর স্টেটমেন্টগুলি থেকে আরও কার্যকর বাইটকোড উত্পন্ন করে।
জেনেরিক ইনস্ট্যান্সের জন্য টাইপ অনুক্রম:
যতক্ষণ সংকলক প্রসঙ্গ থেকে টাইপ আর্গুমেন্টগুলি অনুমান করতে পারে ততক্ষণ জেনেরিক বর্গের কনস্ট্রাক্টরকে অনুরোধ করার জন্য প্রয়োজনীয় ধরণের আর্গুমেন্টগুলি প্রতিস্থাপন করতে পারি। এই জোড়া কোণ বন্ধনিকে অনানুষ্ঠানিকভাবে হীরা বলা হয়। জাভা এসই 7 জেনেরিক উদাহরণ তৈরির জন্য সীমিত প্রকারের অনুমিতিকে সমর্থন করে; কনস্ট্রাক্টরের প্যারামিটারাইজড ধরণের প্রসঙ্গটি থেকে স্পষ্ট হলে আপনি কেবল প্রকারের অনুক্রম ব্যবহার করতে পারেন। উদাহরণস্বরূপ, নিম্নলিখিত উদাহরণটি সংকলন করে না:
List<String> l = new ArrayList<>();
l.add("A");
l.addAll(new ArrayList<>());
তুলনায়, নিম্নলিখিত উদাহরণটি সংকলন করে:
List<? extends String> list2 = new ArrayList<>();
l.addAll(list2);
উন্নত প্রকারের চেকিং সহ একাধিক ব্যতিক্রমের ধরণ এবং পুনর্বিবেচনা ব্যতিক্রমগুলি ধরা:
জাভা এসই 7 এবং তার পরে, একটি একক ক্যাচ ব্লক একাধিক ধরণের ব্যতিক্রম পরিচালনা করতে পারে। এই বৈশিষ্ট্যটি কোড নকলকে হ্রাস করতে পারে। নিম্নলিখিত কোডটি বিবেচনা করুন, যার প্রতিটি ক্যাচ ব্লকে সদৃশ কোড রয়েছে:
catch (IOException e) {
logger.log(e);
throw e;
}
catch (SQLException e) {
logger.log(e);
throw e;
}
জাভা এসই 7 এর পূর্বে প্রকাশিত ক্ষেত্রে, সদৃশ কোডটি মুছে ফেলার জন্য একটি সাধারণ পদ্ধতি তৈরি করা কঠিন কারণ ভেরিয়েবলের ই বিভিন্ন ধরণের রয়েছে। নিম্নলিখিত উদাহরণটি, যা জাভা এসই 7 এবং পরে বৈধ, সদৃশ কোডটি মুছে ফেলে:
catch (IOException|SQLException e) {
logger.log(e);
throw e;
}
ক্যাচ ক্লজটি ব্লকটি পরিচালনা করতে পারে এমন ব্যতিক্রমগুলির ধরণগুলি নির্দিষ্ট করে এবং প্রতিটি ব্যতিক্রম প্রকারটি উল্লম্ব বার (|) দিয়ে পৃথক করা হয়।
Java.nio.file প্যাকেজ
java.nio.file
প্যাকেজ এবং তার সংশ্লিষ্ট প্যাকেজ, java.nio.file.attribute, ফাইল ইনপুট / আউটপুট এবং ফাইল সিস্টেম ব্যবহার করার জন্য ব্যাপক সহায়তা প্রদান। একটি জিপ ফাইল সিস্টেম সরবরাহকারী জেডিকে in এও উপলব্ধ।
জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজ এনহান্সমেন্টস @ জাভা 7
Simple, Object-Oriented, Portable, Platform independent, Secured...
জন স্কিটি যা বলেছিল তা ছাড়াও, এখানে জাভা 7 প্রকল্পের একটি সংক্ষিপ্তসার রয়েছে । এটি বৈশিষ্ট্যগুলির একটি তালিকা এবং বিবরণ অন্তর্ভুক্ত করে।
দ্রষ্টব্য: জেডিকে 7 জুলাই 28, 2011 এ প্রকাশিত হয়েছিল, সুতরাং আপনার এখন সরকারী জাভা এসই সাইটে যেতে হবে ।
ভাষা পরিবর্তন :
-Project Coin (small changes)
-switch on Strings
-try-with-resources
-diamond operator
গ্রন্থাগার পরিবর্তন :
-new abstracted file-system API (NIO.2) (with support for virtual filesystems)
-improved concurrency libraries
-elliptic curve encryption
-more incremental upgrades
প্ল্যাটফর্ম পরিবর্তন :
-support for dynamic languages
নীচে JAVA 7 এর নতুন যুক্ত বৈশিষ্ট্যগুলি ব্যাখ্যা করে লিঙ্কটি দেওয়া হয়েছে, প্রতিটি বৈশিষ্ট্যের জন্য সম্ভাব্য ছোট উদাহরণগুলির সাথে ব্যাখ্যাটি স্ফটিক স্বচ্ছ:
জেনেরিক উদাহরণ তৈরির জন্য ডায়মন্ড (<>) অপারেটর ব্যবহার করা
Map<String, List<Trade>> trades = new TreeMap <> ();
সুইচ স্টেটমেন্টগুলিতে স্ট্রিং ব্যবহার করে
String status= “something”;
switch(statue){
case1:
case2:
default:
}
সংখ্যার আক্ষরিক মধ্যে বোঝা
ইন্ট ভ্যালি 12_15; লম্বা ফোন নেই = 01917_999_720L;
"|" ব্যবহার করে একাধিক ব্যতিক্রম ছোঁড়ার জন্য একক ধরা স্টেটমেন্ট ব্যবহার অপারেটর
catch(IOException | NullPointerException ex){
ex.printStackTrace();
}
() সংস্থানগুলি বন্ধ করার দরকার নেই কারণ জাভা 7 টি চেষ্টা করে-সংস্থানসমূহের বিবৃতি সরবরাহ করে
try(FileOutputStream fos = new FileOutputStream("movies.txt");
DataOutputStream dos = new DataOutputStream(fos)) {
dos.writeUTF("Java 7 Block Buster");
} catch(IOException e) {
// log the exception
}
উপসর্গ "0 বি" বা "0 বি" সহ বাইনারি আক্ষরিক
নীচের তালিকায় জাভা এসই 7 এর বর্ধিত পৃষ্ঠাগুলির লিঙ্ক রয়েছে।
Swing
IO and New IO
Networking
Security
Concurrency Utilities
Rich Internet Applications (RIA)/Deployment
Requesting and Customizing Applet Decoration in Dragg able Applets
Embedding JNLP File in Applet Tag
Deploying without Codebase
Handling Applet Initialization Status with Event Handlers
Java 2D
Java XML – JAXP, JAXB, and JAX-WS
Internationalization
java.lang Package
Multithreaded Custom Class Loaders in Java SE 7
Java Programming Language
Binary Literals
Strings in switch Statements
The try-with-resources Statement
Catching Multiple Exception Types and Rethrowing Exceptions with Improved Type Checking
Underscores in Numeric Literals
Type Inference for Generic Instance Creation
Improved Compiler Warnings and Errors When Using Non-Reifiable Formal Parameters with Varargs Methods
Java Virtual Machine (JVM)
Java Virtual Machine Support for Non-Java Languages
Garbage-First Collector
Java HotSpot Virtual Machine Performance Enhancements
JDBC