জাভা ১.৪.২ এর পরে আমি কী মিস করেছি তা ধরতে আমাকে সহায়তা করুন [বন্ধ]


14

আমি একটি সফটওয়্যার বিকাশকারী হিসাবে আমার প্রথম পেশাগত ক্যারিয়ার অবস্থান শুরু করতে চলেছি, এবং আমি সম্ভবত জাভা কোড অনেক লিখতে যাচ্ছি। আমি কী লিখব তা সম্পর্কে আমি তেমন কিছুই জানি না এবং তা ছাড়াও কোডের ক্ষেত্রে আমার মোটামুটি বিস্তৃত আগ্রহ রয়েছে।

আলোচনার অযোগ্য কারণগুলির জন্য, আমার শেষ ইন্টার্নশিপটি আমাকে কেবল জাভা 1.3 এবং 1.4 এসডিকে এর জন্য কোডিং করেছিল। এছাড়াও, আমার বিশ্ববিদ্যালয় শিক্ষাগুলি ভাষার বৈশিষ্ট্য বা গ্রন্থাগারগুলিতে নয়, মূলত অ্যালগরিদম, ডেটা স্ট্রাকচার এবং অন্যান্য তত্ত্বের দিকে মনোনিবেশ করেছে।

সুতরাং, উপরের কথাটি মাথায় রেখে জাভার বর্তমান সংস্করণে কোন বৈশিষ্ট্য, শ্রেণি ইত্যাদি রয়েছে (আমরা এখন কী সংখ্যা, যাইহোক?) পড়ার জন্য আমার সময় মূল্যবান হবে এবং কেন? ১.৪.২ এর পরে আমি কী মিস করেছি যা প্রোগ্রামার হিসাবে আপনার জীবনকে সহজ করে তোলে?

আপনি কীভাবে কোনও নির্দিষ্ট প্যাকেজ বা এ জাতীয় কিছু আবিষ্কার করেছেন এবং এটি ব্যবহারের জন্য রেখেছেন তার উদাহরণ এবং গল্পগুলিও দুর্দান্ত।


4
কী কারণে এইগুলি আলোচনা করার মতো নয়? আমাদের মধ্যে অনেকে আগ্রহী ...
5arx

@ 5arx ওয়েল আমি রোবোটিক্স প্রোগ্রামিংয়ের জন্য জাভাটির 1.4 সংস্করণ নিয়ে কাজ করেছি কারণ কিছু কারণে আমাদের প্ল্যাটফর্ম সমর্থন করেছিল।
ড্যানিয়েল গ্রেটজার

উত্তর:


15

যে পরিবর্তনগুলি আমি সবচেয়ে গুরুত্বপূর্ণ বলে মনে করি তা হ'ল:

  • জেনারিকস (যেমন টাইপের সংগ্রহ যেমন সেট এর মত)

  • লুপের জন্য বর্ধিত (স্ট্রিং এর: সেট) {...})

  • অটোবক্সিং / আনবক্সিং (স্বয়ংক্রিয়ভাবে পূর্ণসংখ্যার মতো এবং এর বিপরীতে প্রকারের মধ্যে রূপান্তর করে)

  • টাইপসেফ এনামস (এনাম এখন একটি মূলশব্দ, এনামগুলির মাধ্যমে প্রকার তৈরি করা যেতে পারে)

  • ভারার্গস (প্রিন্টফ () ফাংশনের জন্য, পরিবর্তনশীল সংখ্যক আর্গুমেন্টের অনুমতি দেয়)

  • স্ট্যাটিক আমদানি (এখন কোনও শ্রেণীর স্থির পদ্ধতি যেমন জাভা.লাং.ম্যাথ আমদানি করতে পারে)

  • টীকা

  • java.util.concurrent (জাভা এর সম্মতি প্রদর্শন করে)

আরও পড়ুন আপনি কী জাভা লক্ষ্য করছেন? , তিনটি সংস্করণের প্রতিটি সম্পর্কে আরও ভাল ধারণা পেতে।


1
++ লুপ, অটোবক্সিং / আনবক্সিং, ভারার্গস, স্ট্যাটিক আমদানির জন্য বর্ধিত কাজগুলি সহজ
মাইকেল উইলস

জাভা প্রোগ্রামাররা কেন প্রতিটি লুপকে "বর্ধিত forলুপগুলি " ডাকবে ?
ম্যাক্সপাম

2
@ ম্যাক্সপিএম কারণ এটি জাভা ল্যাঙ্গুয়েজ স্পেসিফিকেশনে বলা হয়। জেএলএস অনুসারে লুপগুলির জন্য বেসিক এবং লুপগুলির জন্য বর্ধিত রয়েছে। আমি নিশ্চিত নই কেন তারা কেন সেভাবে করার সিদ্ধান্ত নিয়েছে। সম্ভবত সিনট্যাক্সটি কোনও বিশেষ কীওয়ার্ড এবং সাধারণ লুপগুলির সাথে বিভিন্ন ধরণের মিশ্রণ ব্যবহার করে না।
ম্যালকম

10

আপনার প্রতিদিনের প্রোগ্রামিং জীবনের একমাত্র গুরুত্বপূর্ণ পরিবর্তন হ'ল জেনারিক্সের পরিচিতি যা সম্ভবত আপনাকে লিখতে বলা হবে এমন প্রতিটি নতুন মডিউলে ব্যবহৃত হবে এবং এটি একটি বিভ্রান্তিকর নতুন বাক্য গঠন।

জেনেরিক্স হ'ল মেকানিজমকে উদাহরণস্বরূপ, কাকে Listনগ্ন বস্তুর পরিবর্তে স্ট্রিংগুলি ধারণ করতে সক্ষম করা হয়, যেখানে সংকলক প্রয়োগ করে যে কোনও আইটেমকে তালিকায় রাখার জন্য একটি স্ট্রিং, এবং এটি জানে যে আপনি যখন তালিকা থেকে একটি আইটেম পাবেন তখন এটি একটি স্ট্রিং is ।

এটি লক্ষণীয় ধরণের স্পষ্টভাবে রানটাইম কাস্ট এড়ানো হিসাবে আপনার আরও ভাল প্রোগ্রাম তৈরি করে (এটি যদি আপনি ভুল হয়ে থাকেন তবে এটির ঘন ঘন উত্স) এবং আইডিই আপনাকে সমস্ত নোংরা কাজ করতে সহায়তা করতে পারে কারণ এটি আপনার কোড সম্পর্কে আরও অনেক কিছু জানে as এটি তখন যখন এটি কেবলমাত্র বস্তুর তালিকা ছিল।

জশুয়া ব্লচ জেনারিক্স সম্পর্কে একটি ভাল পরিচয় লিখেছেন, যা http://java.sun.com/docs/books/effective/ এ স্যাম্পল অধ্যায় হিসাবে উপলব্ধ


গ্রোভি লোকদের বলবেন না! "আপনি লক্ষ্য প্রকারের রানটাইম কাস্ট এড়ানোর কারণে এটি আরও ভাল কর্মসূচী তৈরি করে।" def whatever....
ড্যান রোজনস্টার্ক

@ ইয়ার, আরও সুস্পষ্ট হতে সম্পাদিত। আমি চাই ভালোবাসেন "Def" বা "Var" অ্যাট্রিবিউট। আমার জীবনকে কিছুটা সহজ করে তুলবে।

হ্যাঁ, আমি সম্প্রতি এটি ওজেক্টিভ-সি দিয়েই ভাবছিলাম idযা যা defবা var.... তবে আবার, 100% স্থির টাইপিংয়ের সুরক্ষা আশ্চর্যজনক, সত্যিই।
ড্যান রোজনস্টার্ক

@ ইয়ার: আপনি অ্যাডাকে পছন্দ করবেন :)
ম্যাটনজ

@ ম্যাটনজ কেন, বিশেষত? এবং যখন আমরা এখানে আছি, এটি কি জেভিএম-এ চলে?
ড্যান রোজনস্টার্ক

6

অটোবক্সিং জাভা 5 এর সাথে প্রবর্তিত একটি দুর্দান্ত বৈশিষ্ট্য যা ঠিক সি # এর মতো সংকলক এখন আদিম (বেসিক) ধরণের এবং তাদের সম্পর্কিত অবজেক্ট র‌্যাপার ক্লাসগুলির (পূর্বে পূর্ণসংখ্যার ইত্যাদির) মধ্যে আবার একটি স্বয়ংক্রিয় রূপান্তর করে। যা জাভা সংগ্রহগুলির সাথে কাজ করতে অনেক কম ব্যথা করে।

জাভা 5-এও প্রতিটি লুপিং ছিল নতুন I এটি অ্যারেগুলিতে পুনরাবৃত্তি (এবং সংগ্রহগুলি) আরও সহজ করে তোলে, কারণ এটি সূচক পরিবর্তনশীল বা পুনরুক্তি স্থাপন এবং পরিচালনা জড়িত স্বাভাবিক বিশৃঙ্খলার অনেকাংশ সরিয়ে দেয়। উদাহরণস্বরূপ:

void myMethod(Collection<myObjectType> c) {
    for (myObjectType o : c)
        o.foo();
}

6

চূড়ান্ত স্ট্যাটিক্স এবং ধ্রুবকগুলি প্রতিস্থাপন করতে এবং স্ট্রিং এবং যাদু সংখ্যার উল্লেখগুলি সরিয়ে দিতে আপনাকে এনামগুলিসূর্য / ওরাকলে ভাল লোকদের কাছ থেকে নেওয়া একটি উদাহরণ :

public enum Planet {
    MERCURY (3.303e+23, 2.4397e6),
    VENUS   (4.869e+24, 6.0518e6),
    EARTH   (5.976e+24, 6.37814e6),
    MARS    (6.421e+23, 3.3972e6),
    JUPITER (1.9e+27,   7.1492e7),
    SATURN  (5.688e+26, 6.0268e7),
    URANUS  (8.686e+25, 2.5559e7),
    NEPTUNE (1.024e+26, 2.4746e7),
    PLUTO   (1.27e+22,  1.137e6);

    private final double mass;   // in kilograms
    private final double radius; // in meters
    Planet(double mass, double radius) {
        this.mass = mass;
        this.radius = radius;
    }
    public double mass()   { return mass; }
    public double radius() { return radius; }

    // universal gravitational constant  (m3 kg-1 s-2)
    public static final double G = 6.67300E-11;

    public double surfaceGravity() {
        return G * mass / (radius * radius);
    }
    public double surfaceWeight(double otherMass) {
        return otherMass * surfaceGravity();
    }
}

এবং

public static void main(String[] args) {
        double earthWeight = Double.parseDouble(args[0]);
        double mass = earthWeight/EARTH.surfaceGravity();
        for (Planet p : Planet.values())
           System.out.printf("Your weight on %s is %f%n",
                             p, p.surfaceWeight(mass));
    }

6

java.util.concurrent প্রবর্তিত হয়েছিল 1.5। এটি শেখার সর্বোত্তম উত্স হ'ল (সম্ভবত) অনুশীলন বইতে জাভা কনকুরেন্সি । আইএমএইচও সম্মতিটি অন্য যে কোনও কিছুর তুলনায় জাভার সবচেয়ে গুরুত্বপূর্ণ প্রতিযোগিতামূলক সুবিধা তাই এটি অবশ্যই ভালভাবে জানার পক্ষে।


1
+1 সমবর্তী প্যাকেজটি উল্লেখ করার জন্য sad এটি দুঃখের বিষয় যে এতগুলি বিকাশকারী এখনও থ্রেডসের মতো সম্মতিমূলক আদিম ব্যবহার করেন, অপেক্ষা করুন () / বিজ্ঞপ্তি () এবং সিঙ্ক্রোনাইজ করুন, ...
অলিভার ওয়েইল

প্রকৃতপক্ষে. java.util.concurrentএকচেটিয়া আদিমত্বগুলি ম্যানুয়াল মেমরি পরিচালনায় স্বয়ংক্রিয় মেমরি পরিচালনার মতো। পরবর্তীটি ডিবাগিংয়ের জন্য আপনার বেশিরভাগ সময় ব্যয় করার জন্য কেবল একটি রেসিপি এবং কোনও সুবিধা দেয় না।
জুনাস পুলাক্কা

উদ্ধারকারীরা! জাভা 6

+1000 যদি আমি পারতাম - সেই বইটি আশ্চর্যজনক
গ্যারি রোয়ে

4

ঠিক আছে, StringBuilderআমার প্রোগ্রামটি দ্রুত করতে আমাকে সাহায্য করেছে। StringBufferএটি থ্রেড বিহীন সুরক্ষার সমতুল্য ।


হাঁ। কার্যকর জাভা জানিয়েছে যে স্ট্রিংবুফার অপ্রচলিত এবং স্ট্রিংবুডার দ্বারা প্রতিস্থাপন করা উচিত।
গ্যারি রোয়ে

1
স্ট্রিংগুলির সাথে +সংঘবদ্ধকরণ উত্স স্তরের 1.5 এবং উচ্চতর স্ট্রিংবুফারের পরিবর্তে স্বয়ংক্রিয়ভাবে স্ট্রিংবুডার ব্যবহার করে।

4

আমি @ ইয়াকম্বিনেটর থেকে সহায়ক উত্তর শ্রেণীবদ্ধ করে সাহায্য করব। তার তালিকাটি সেই উপাদানগুলির একটি তালিকা যা আপনি "সাধারণ" জাভা বিকাশ করার সময় প্রতিদিন ব্যবহার করবেন।

কম প্রভাব এবং কম অসুবিধা:

  • লুপের জন্য বর্ধিত (স্ট্রিং এর: সেট) {...})
  • অটোবক্সিং / আনবক্সিং (স্বয়ংক্রিয়ভাবে পূর্ণসংখ্যার মতো এবং এর বিপরীতে প্রকারের মধ্যে রূপান্তর করে)
  • ভারার্গস (প্রিন্টফ () ফাংশনের জন্য, পরিবর্তনশীল সংখ্যক আর্গুমেন্টের অনুমতি দেয়)
  • স্ট্যাটিক আমদানি (এখন কোনও শ্রেণীর স্থির পদ্ধতি যেমন জাভা.লাং.ম্যাথ আমদানি করতে পারে)

উচ্চ প্রভাব এবং মাঝারি অসুবিধা:

  • টাইপসেফ এনামস (এনাম এখন একটি মূলশব্দ, এনামগুলির মাধ্যমে প্রকার তৈরি করা যেতে পারে)

উচ্চ প্রভাব এবং উচ্চ অসুবিধা:

  • টীকা
  • জেনেরিক্স

কম প্রভাব এবং উচ্চতর কঠিন (কেবলমাত্র আপনি উন্নত থ্রেডিং না করলেই ব্যবহৃত হবে)

  • java.util.concurrent (জাভা এর সম্মতি প্রদর্শন করে)

আমি আপনাকে সুপারিশ করব যাতে আপনি ডক্স / অল্প প্রভাবের উপর নির্ভর করে কম অসুবিধাগুলি পড়ুন - সেগুলি বেছে নেওয়া সহজ। টিকা এবং জেনারিক্সে একটি দীর্ঘ সময় ব্যয় করুন - টিকাগুলি খুব দরকারী এবং জেনেরিকগুলি জটিল হয়ে উঠতে পারে।

আপনার যদি থ্রেডিংয়ের দরকার হয় তবে কেবল নতুন সম্মতিযুক্ত সামগ্রীটি দেখুন।


4

যেহেতু আমি মন্তব্য করতে পারছি না কারণ আমি 50 এর নিচে রয়েছি আমি একটি উত্তর ছেড়ে দেব। এটি ইতিমধ্যে উল্লেখ করা হয়েছে তবে আমি আবার এটি পুনরাবৃত্তি করব: টিকা! এই জাতীয় মেটাটাটা আমার জাভা অভিজ্ঞতার বছরগুলিতে সবচেয়ে গুরুত্বপূর্ণ বিষয় হয়ে উঠেছে। এটি বেশ কয়েকটি ফ্রেমওয়ার্কের মতো ব্যবহার করা এটি কোডটিকে আরও সংক্ষিপ্ত এবং পরিষ্কার করে তোলে। উদাহরণস্বরূপ, টীকাগুলি এগুলি করতে পারে:

  • কোনও বস্তুকে একটি সত্তা @ এন্টিটিতে রূপান্তর করুন
  • কোনও পদ্ধতিটিকে একটি আরএসটি পরিষেবা @ জিইটি তে রূপান্তর করুন
  • ব্যাখ্যা করুন যে কোনও পদ্ধতি কখনই শূন্য @ অন্নুল ফিরে আসবে না
  • নির্ভরতা ইনজেকশনের জন্য কোনও ক্ষেত্রের জন্য কোনও বস্তু সেট করুন @ ইনজেক্টের

এবং অবশ্যই আপনি নিজের টীকা তৈরি করতে পারেন এবং প্রতিস্থাপন ব্যবহার করে কোনও পদ্ধতি, শ্রেণি বা ক্ষেত্রটি টীকাযুক্ত করা হয়েছে কিনা তা জানতে পারবেন।


2
হতে সুনির্দিষ্ট টীকা না পারেন না এই জিনিস, যেমন তারা শুধু কোড, যা অন্যান্য কোডে মেটা-তথ্য করা - প্রায়শই একটি বিশেষ classloader - কর্মের উপর গ্রহণ করতে পারেন। আমি টীকাগুলি অনেক সমস্যার একটি খুব ভাল সাধারণ সমাধান হিসাবে বিবেচনা করি।

3

উদাহরণস্বরূপ শেখা আমার পক্ষে কাজ করে

এখানে আইডোমেটিক জাভা 6 এর একটি দ্রুত উদাহরণ is

public class Main {
  public static void main(String[] args) {
    // Shows a list forced to be Strings only
    // The Arrays helper uses generics to identify the return type
    // and takes varargs (...) to allow arbitary number of arguments
    List<String> genericisedList = Arrays.asList("A","B","C");

    // Demonstrates a for:each loop (read as for each item in genericisedList)
    for (String item: genericisedList) {
      System.out.printf("Using print formatting: %s%n",item);
    }

    // Note that the object is initialised directly with a primitive (autoboxing)
    Integer autoboxedInteger = 1;
    System.out.println(autoboxedInteger);

  }
}

জাভা 5 নিয়ে বিরক্ত করবেন না, এটি জাভা 6 এর ক্ষেত্রে অবমূল্যায়ন করেছেন।

পরবর্তী পদক্ষেপ, টিকা। এগুলি কেবল আপনার কোডের এমন দিকগুলি সংজ্ঞায়িত করে যা টীকা পাঠকদের আপনার জন্য বয়লারপ্লেট কনফিগারেশন পূরণ করতে দেয়। JAX-RS স্পেসিফিকেশন ব্যবহার করে এমন একটি সাধারণ ওয়েব পরিষেবা বিবেচনা করুন (এটি RESTful ইউআরআই বোঝে)। আপনি সমস্ত দুষ্টু ডাব্লুএসডিএল এবং অ্যাক্সিস 2 ইত্যাদি নিয়ে মাতামাতি করতে বিরক্ত করতে চান না, আপনি দ্রুত ফলাফল চান। ঠিক আছে, এটি করুন:

// Response to URIs that start with /Service (after the application context name)
@Path("/Service")
public class WebService {

  // Respond to GET requests within the /Service selection
  @GET
  // Specify a path matcher that takes anything and assigns it to rawPathParams
  @Path("/{rawPathParams:.*}")
  public Response service(@Context HttpServletRequest request, @PathParam("rawPathParams") String rawPathParams) {
    // Do some stuff with the raw path parameters 

    // Return a 200_OK
    return Response.status(200).build();
  }
}

মুহূর্তেই। আপনার ওয়েব.এক্সএমএল এ কনফিগারেশন জাদুটির সামান্য ছিটিয়ে দিয়ে you're আপনি যদি মাভেনের সাথে নির্মাণ করছেন এবং জেটি প্লাগইনটি কনফিগার করেছেন, আপনার প্রকল্পটির বাক্সের ঠিক বাইরে নিজের নিজস্ব ওয়েব সার্ভার থাকবে (আপনার জন্য জেবস বা টমক্যাট নিয়ে কোনও বিড়বিড়তা নেই), এবং উপরের কোডটি ইউআরআইগুলিকে প্রতিক্রিয়া জানাবে গঠন:

GET http://localhost:8080/contextName/Service/the/raw/path/params

কাজ শেষ.


3

বাহ যে অতীত থেকে একটি বিস্ফোরণ ছিল! আমি এখন 4 বছর জাভা ব্যবহার করি নি - এবং সেই সময়ে কিছুই বদল হয়নি!

সংস্করণ অনুসারে বৈশিষ্ট্যগুলির একটি তালিকা রয়েছে , তবে এখানে গুরুত্বপূর্ণ বিট (অবশ্যই চুরি করা হয়েছে) ...

জে 2 এসই 5.0 (30 সেপ্টেম্বর, 2004)

  • জেনারিক্স: সংগ্রহের জন্য সংকলন-সময় (স্ট্যাটিক) ধরণের সুরক্ষা সরবরাহ করে এবং বেশিরভাগ টাইপকাস্টের (ধরণের রূপান্তর) প্রয়োজনীয়তা দূর করে।
  • মেটাডেটা: এনেটেশনও বলা হয়; ভাষা কাঠামো যেমন শ্রেণি এবং পদ্ধতিগুলিকে অতিরিক্ত ডেটা দিয়ে ট্যাগ করার অনুমতি দেয় যা পরে মেটাডেটা-সচেতন ইউটিলিটিগুলি দ্বারা প্রক্রিয়া করা যায়।
  • অটোবক্সিং / আনবক্সিং: আদিম ধরণের (যেমন ইন্টের মতো) এবং আদিম মোড়কের ক্লাসগুলির মধ্যে স্বয়ংক্রিয় রূপান্তর (যেমন পূর্ণসংখ্যার)।
  • গণনা: এনাম কীওয়ার্ডটি টাইপসেফ, অর্ডার করা মানগুলির তালিকা তৈরি করে (যেমন দিবস। সোমবার, দিবস T দিন, ইত্যাদি)। পূর্বে এটি কেবল নন-টাইপসেফ ধ্রুবক পূর্ণসংখ্যার বা ম্যানুয়ালি নির্মিত ক্লাসগুলি (টাইপসেফ এনাম প্যাটার্ন) দ্বারা অর্জন করা যেতে পারে।
  • দোল: নতুন চামড়াযুক্ত চেহারা এবং অনুভূতি, যাকে সিন্থ বলা হয়।
  • ভারার্গস: একটি পদ্ধতির শেষ প্যারামিটারটি এখন একটি টাইপ নাম ব্যবহার করে তিনটি বিন্দু (উদাহরণস্বরূপ শূন্য ড্রইটেক্সট (স্ট্রিং ... লাইন)) ব্যবহার করে ঘোষণা করা যেতে পারে। কলিং কোডে এই ধরণের যে কোনও সংখ্যক পরামিতি ব্যবহার করা যেতে পারে এবং সেগুলি পদ্ধতিতে পাস করার জন্য একটি অ্যারেতে স্থাপন করা হয়, অথবা বিকল্পভাবে কলিং কোডটি সেই ধরণের একটি অ্যারে পাস করতে পারে।
  • প্রতিটি লুপের জন্য বর্ধিত: ফর্মের একটি গঠন ব্যবহার করে লুপ সিনট্যাক্সটি একটি অ্যারে বা কোনও আইট্রেবল, যেমন স্ট্যান্ডার্ড কালেকশন ক্লাসের মতো প্রতিটি সদস্যের উপরে পুনরাবৃত্তি করার জন্য বিশেষ সিনট্যাক্স দিয়ে প্রসারিত:

জাভা এসই 6 (11 ডিসেম্বর, 2006)

  • পুরানো Win9x সংস্করণগুলির জন্য সমর্থন বাদ দেওয়া হয়েছে। আনঅফিসিয়ালি জাভা 6 আপডেট 7 উইন্ডোজের এই সংস্করণগুলিতে কাজ করার জন্য জাভা দেখানো সর্বশেষ প্রকাশ। এটি আপডেট 10 এ বড় পরিবর্তনের কারণে বলে মনে করা হচ্ছে।
  • স্ক্রিপ্টিং ল্যাঙ্গুয়েজ সাপোর্ট: স্ক্রিপ্টিং ভাষার সাথে টান সংহতকরণের জন্য জেনেরিক এপিআই এবং বিল্ট-ইন মজিলা জাভাস্ক্রিপ্ট রাইনো ইন্টিগ্রেশন
  • মূল প্ল্যাটফর্ম এবং সুইংয়ের জন্য নাটকীয় পারফরম্যান্সের উন্নতি।
  • জ্যাকস-ডাব্লুএস এর মাধ্যমে উন্নত ওয়েব পরিষেবা সমর্থন
  • জেডিবিসি 4.0 সমর্থন।
  • জাভা কম্পাইলার এপিআই একটি জাভা প্রোগ্রামকে একটি জাভা প্রোগ্রামার নির্বাচন এবং জাভা সংকলক প্রোগ্রামিংয়ে অনুরোধ করতে অনুমতি দেয় API
  • JAXB এর সংস্করণ 2.0 তে আপগ্রেড করুন: স্ট্যাক্স পার্সারের সংহতকরণ সহ।
  • প্লাগেবল টীকাগুলির জন্য সমর্থন
  • জিআইআই এর অনেকগুলি উন্নতি, যেমন এপিআইতে সুইং ওয়ার্কার একীকরণ, টেবিল বাছাই এবং ফিল্টারিং এবং সত্য সুইং ডাবল-বাফারিং (ধূসর-অঞ্চল প্রভাবটি বাদ দিয়ে)।
  • জেভিএম উন্নতিগুলির মধ্যে রয়েছে: সিঙ্ক্রোনাইজেশন এবং সংকলক পারফরম্যান্স অপটিমাইজেশন, নতুন অ্যালগরিদম এবং বিদ্যমান আবর্জনা সংগ্রহের অ্যালগরিদমে আপগ্রেড এবং অ্যাপ্লিকেশন স্টার্ট-আপ পারফরম্যান্স।

এটা সম্বন্ধে. জাভা এসই 7.0 আরও আকর্ষণীয় দেখায় তবে প্রকাশিত হয় নি।

গত 4 বছরে সি # তে কতগুলি নতুন ভাষা বৈশিষ্ট্য এবং এপিআই যুক্ত হয়েছে তা বিবেচনা করে আমি বেশ অবাক হয়েছি। সান / ওরাকল এ কি চলছে?


সূর্য সোর্স জাভা খোলার সিদ্ধান্ত নিয়েছে। এই জিনিস যে ওরাকল না করার সিদ্ধান্ত নেয় নির্বিশেষে কি আমরা এখনও লিনাক্স বাক্সে OpenJDK চালাতে পারেন নিশ্চিত করেছে যে। এটি কেবল তাদের 18-24 মাস বিলম্ব করেছে ...

@ থরবজর্ন - এটি এটি ব্যাখ্যা করতে পারে। এই অধিগ্রহণ কতটা ব্যাঘাত ঘটাচ্ছে তা লজ্জার বিষয়। আমার ধারণা সি # তুলনামূলক স্থিতিশীলতা উপভোগ করেছে: 2006 সাল থেকে আমাদের ল্যাম্বডাস ছিল - যেখানে তারা মনে হয় তারা এখন 2012 পর্যন্ত জাভাতে নামবে না।
শেইজবাবুটি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.