Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
Java 9µÄ14¸öÐÂÌØÐÔ×ܽá
 
À´Ô´£º¼«¿ÍÍ·Ìõ ·¢²¼ÓÚ£º 2017-5-22
  2299  次浏览      27
 

Java 9 °üº¬Á˷ḻµÄÌØÐÔ¼¯¡£ËäÈ»Java 9ûÓÐеÄÓïÑÔ¸ÅÄµ«ÊÇÓпª·¢Õ߸ÐÐËȤµÄеÄAPIºÍÕï¶ÏÃüÁî¡£

ÎÒÃǽ«¿ìËٵģ¬×ÅÖØµÄä¯ÀÀÆäÖеöÐÂÌØÐÔ£»

Ä£¿é»¯ÏµÍ³¨CJigsaw ÏîÄ¿

Ä£¿é»¯ÊÇÒ»¸öºÜͨÓõĸÅÄî¡£ÔÚÈí¼þÖУ¬Ä£¿é»¯¿ÉÒÔÔËÓõ½±àдºÍʵÏÖÒ»¸ö³ÌÐòºÍ¼ÆËãϵͳ£¬ËûÃǶ¼ÊÇ×÷Ϊ¶ÀÁ¢µÄÄ£¿é£¬¶ø²»ÊÇ×÷Ϊһ¸öµ¥Ò»µÄºÍÍêÕûµÄÉè¼Æ¡£

Java 9ÖÐÖ÷ÒªµÄ±ä»¯ÊÇÒѾ­ÊµÏÖµÄÄ£¿é»¯ÏµÍ³¡£Ä£¿é»¯µÄÒýÈëʹµÃJDK¿ÉÒÔÔÚ¸üСµÄÉ豸ÖÐʹÓᣲÉÓÃÄ£¿é»¯ÏµÍ³µÄÓ¦ÓóÌÐòÖ»ÐèÒªÕâЩӦÓóÌÐòËùÐèµÄÄDz¿·ÖJDKÄ£¿é£¬¶ø·ÇÊÇÕû¸öJDK¿ò¼ÜÁË¡£Ä£¿é»¯ÏµÍ³Ò²¿ÉÒÔ½«¹«¹²µÄÀà·â×°µ½Ò»¸öÄ£¿éÖС£Òò´ËÒ»¸ö·â×°ÔÚÄ£¿éÖе͍ÒåΪpublicµÄÀ಻ÄÜÔÙÈκεط½Ê¹Ó㬳ý·ÇÒ»¸öÄ£¿éÏÔʽµÄ¶¨ÒåÁËÕâ¸öÄ£¿é¡£ÓÉÓÚJava 9µÄÕâ¸ö±ä»¯£¬JavaÄÚ²¿µÄAPI£¨ÀýÈçcom.sun.*£©Ä¬ÈÏÇé¿öÏÂÊDz»ÄÜʹÓõġ£

¼ò¶øÑÔÖ®£¬ËùÓеÄÄ£¿é½«ÐèÒªÔÚËùνµÄmodule-info.javaÎļþÖнøÐÐÃèÊö£¬Õâ¸öÎļþÊÇλÓÚJava´úÂë½á¹¹µÄ¶¥²ã¡£

module me.aboullaite.java9.modules.car {
requires me.aboullaite.java9.modules .engines;//ÒÀÀµµÄÄ£¿é
exports me.aboullaite.java9.modules. car.handling;//ÔÚÄ£¿éÖе¼³ö°ü
}

ÎÒÃǵÄÄ£¿écar£¨Æû³µ£©ÐèÒªÒÀÀµ+Ä£¿éengine£¨ÒýÇæ£©ºÍÐèÒªµ¼³öhandling£¨²Ù×Ý£©°ü¡£

ÐèÒª¸ü¶àÉîÈëµÄÀý×Ó¿ÉÒԲ鿴OpenJDKÖÐÏîÄ¿Jigsaw£ºÄ£¿é»¯ÏµÍ³¿ìËÙÈëÃÅ¡£

JShell¨CJava 9 REPL

Äã¿ÉÄÜÎÊ£º¡°REPLÊÇʲô¡±?REPLÊÇÒ»ÖÖ¿ìËÙÔËÐÐÓï¾äµÄÃüÁîÐй¤¾ß¡£

ÔÚJavaÖУ¬Èç¹ûÄãÏëÖ´ÐÐÒ»¸ö¼òµ¥µÄÓï¾ä£¬ÎÒÃÇҪô´´½¨Ò»¸ö´ømain·½·¨µÄÀ࣬Ҫô´´½¨Ò»¸ö¿ÉÒÔÖ´ÐеÄTestÀà¡£µ±ÄãÕýÔÚÆô¶¯Java³ÌÐòµÄʱºò£¬Èç¹ûÄãÏëÖ´ÐÐijЩÓï¾ä²¢ÇÒÏëÁ¢¿Ì¿´¼ûÖ´Ðнá¹û£¬ÉÏÃæµÄ×ö·¨¿´ÆðÀ´²»ÊÇÄÇôÓÐÓÃÁË¡£

JShellÊÔͼȥ½â¾öÕâ¸öÎÊÌâ¡£Java¿ª·¢Õß¿ÉÒÔÀûÓÃJShellÔÚûÓд´½¨ÀàµÄÇé¿öÏÂÖ±½ÓÉùÃ÷±äÁ¿£¬¼ÆËã±í´ïʽ£¬Ö´ÐÐÓï¾ä¡£JShellÒ²¿ÉÒÔ´ÓÎļþÖмÓÔØÓï¾ä»òÕß½«Óï¾ä±£´æµ½ÎļþÖС£²¢ÇÒJShellÒ²¿ÉÒÔÊÇtab¼ü½øÐÐ×Ô¶¯²¹È«µÄÌØÐÔ¡£

¼¯ºÏ¹¤³§·½·¨

ÔÚJava 9֮ǰ£¬JavaÖ»ÄÜÀûÓÃһЩʵÓ÷½·¨£¨ÀýÈ磺Collections.unmodifiableCollection(Collection<? extends T> c)£©´´½¨Ò»¸ö²»¿ÉÐÞ¸ÄÊÓͼµÄ¼¯ºÏ¡£ÀýÈ磬ÎÒÃÇ¿ÉÒÔÔÚJava 8ÖÐʹÓÃÒ»ÌõÈçÏÂËùʾµÄÓï¾ä£¬´´½¨Ò»¸öCollectionµÄ²»¿ÉÐ޸ĵÄÊÓͼ¡£ËäÈ»ÕâÊÇ×î¼òµ¥µÄ´´½¨·½Ê½£¬µ«ÊÇ¿´ÆðÀ´ºÜÔã¸â£¡²»ÊÇÂð£¿

Map<String, String> immutableMap =
Collections.unmodifiableMap(
new HashMap<String, String>() {{
put("key1", "Value1");
put("key2", "Value2");
put("key3", "Value3");
}});

ÏÖÔÚ£¬Java 9ÒýÈëÁËһЩÓÐÓõŤ³§·½·¨À´´´½¨²»¿ÉÐ޸ĵļ¯ºÏ¡£ÎÒÃÇÏÖÔÚÔÚJava 9Öд´½¨²»¿ÉÐ޸ĵÄMap¼¯ºÏ£¬ÈçÏÂËùʾ¡£

Map<String, String> immutableMap =
 Map.of("key1", "Value1", "key2", "Value2"
£¬"key3", "Value3");

ÏÂÃæÊǹ¤³§·½·¨µÄÀý×Ó£º

 // empty immutable collections 
²»¿ÉÐ޸ĵĿռ¯ºÏ
List<String> emptyImmutableList = List.of();
Set<String> emptyImmutableSet = Set.of();
Map emptyImmutableMap = Map.of();

// immutable collections ²»¿ÉÐ޸ĵļ¯ºÏ
List<String> immutableList = List.of("one",

"two");
Set<String> immutableSet = Set.of("value1",

"value2");
Map<String, String> immutableMap = Map.of

("key1", "Value1", "key2", "Value2", "key3", "Value3");

½Ó¿ÚÖеÄ˽Óз½·¨

Java 8µÄ½Ó¿ÚÒýÈëÁËĬÈÏ·½·¨ºÍ¾²Ì¬·½·¨¡£ËäÈ»Java 8Ê״μƻ®ÊµÏÖ½Ó¿ÚµÄ˽Óз½·¨£¬È´ÊÇÔÚJava 9ÖÐʵÏÖ¡£Ä¬ÈÏ·½·¨ºÍ¾²Ì¬·½·¨¿ÉÒÔ¹²Ïí½Ó¿ÚÖеÄ˽Óз½·¨£¬Òò´Ë±ÜÃâÁË´úÂëÈßÓ࣬ÕâҲʹ´úÂë¸ü¼ÓÇåÎú¡£Èç¹û˽Óз½·¨ÊǾ²Ì¬µÄ£¬ÄÇÕâ¸ö·½·¨¾ÍÊôÓÚÕâ¸ö½Ó¿ÚµÄ¡£²¢ÇÒûÓо²Ì¬µÄ˽Óз½·¨Ö»Äܱ»ÔÚ½Ó¿ÚÖеÄʵÀýµ÷Óá£

interface InterfaceWithPrivateMethods {
private static String staticPrivate() {
return "static private";
}

private String instancePrivate() {
return "instance private";
}

default void check() {
String result = staticPrivate();

InterfaceWithPrivateMethods pvt = new

InterfaceWithPrivateMethods() {
// anonymous class ÄäÃûÀà
};

result = pvt.instancePrivate();
}

}

ÏìӦʽÁ÷

JDK9ÖеÄFlow API¶ÔÓ¦ÏìӦʽÁ÷¹æ·¶£¬ÏìӦʽÁ÷¹æ·¶ÊÇÒ»ÖÖÊÂʵ±ê×¼¡£JEP 266°üº¬ÁËÒ»×é×îС½Ó¿Ú¼¯ºÏ£¬Õâ×é½Ó¿ÚÄܲ¶»ñºËÐĵÄÒì²½·¢²¼Óë¶©ÔÄ¡£Ï£ÍûÔÚδÀ´µÚÈý·½Äܹ»ÊµÏÖÕâЩ½Ó¿Ú£¬²¢ÇÒÄܹ²ÏíÆä·½Ê½¡£

java.util.concurrent.Flow°üº¬ÒÔÏÂ4¸ö½Ó¿Ú£º

1.Flow.Processor£¨´¦ÀíÆ÷£©

2. Flow.Publisher£¨·¢²¼Õߣ©

3.Flow.Subscriber£¨¶©ÔÄÕߣ©

4. Flow.Subscription£¨¶©ÔĹÜÀíÆ÷£©

ÕâЩ½Ó¿Ú¶¼Ö§³ÖÏìӦʽÁ÷·¢²¼-¶©ÔÄ¿ò¼Ü¡£Java 9Ò²ÌṩÁËʵÓÃÀàSubmissionPublisher¡£Ò»¸ö·¢²¼Õß²úÉúÒ»¸ö»ò¶à¸öÎïÆ·£¬ÕâЩÎïÆ·ÓÉÒ»¸ö»ò¶à¸öÏû·ÑÕßÏûºÄ¡£²¢ÇÒ¶©ÔÄÕßÓɶ©ÔĹÜÀíÆ÷¹ÜÀí¡£¶©ÔĹÜÀíÆ÷Á¬½Ó·¢²¼ÕߺͶ©ÔÄÕß¡£

¶à·Ö±æÂÊͼÏñAPI¨CJEP 251

Ä¿±êÊǶ¨Òå¶à·Ö±æÂÊͼÏñAPI£¬ÕâÑù¿ª·¢Õß¾ÍÄܺÜÈÝÒ׵IJÙ×÷ºÍչʾ²»Í¬·Ö±æÂʵÄͼÏñÁË¡£

Õâ¸öеÄAPI¶¨ÒåÔÚjava.awt.image°üÖУ¬Õâ¸öAPIÄܸøÎÒÃÇ´øÀ´ÈçϵİïÖú£º

1.½«²»Í¬·Ö±æÂʵÄͼÏñ·â×°µ½Ò»ÕÅ£¨¶à·Ö±æÂʵģ©Í¼ÏñÖУ¬×÷ΪËüµÄ±äÌå¡£

2.»ñÈ¡Õâ¸öͼÏñµÄËùÓбäÌå¡£

3. »ñÈ¡ÌØ¶¨·Ö±æÂʵÄͼÏñ±äÌå¨C±íʾһÕÅÒÑÖª·Ö±æÂʵ¥Î»ÎªDPIµÄÌØ¶¨³ß´ç´óСµÄÂß¼­Í¼Ïñ£¬²¢ÇÒÕâÕÅͼÏñÊÇ×î¼ÑµÄ±äÌå¡£

»ùÓÚµ±Ç°ÆÁÄ»·Ö±æÂÊ´óСºÍÔËÓõÄͼÏñת»»Ëã·¨£¬java.awt.GraphicsÀà¿ÉÒÔ´Ó½Ó¿ÚMultiResolutionImage»ñÈ¡ËùÐèµÄ±äÌå¡£java.awt.image.AbstractMultiResolutionImageÀàÌṩÁËava.awt.image.AbstractMultiResolutionImage ĬÈÏʵÏÖ¡£AbstractMultiResolutionImageµÄ»ù´¡ÊµÏÖÊÇjava.awt.image.BaseMultiResolutionImage¡£

½ø³ÌAPIµÄ¸Ä½ø

Æù½ñΪֹ£¬Í¨¹ýJavaÀ´¿ØÖƺ͹ÜÀí²Ù×÷ϵͳµÄ½ø³ÌµÄÄÜÁ¦ÓÐÏÞ¡£ÀýÈ磬ΪÁË×öһЩ¼òµ¥µÄÊÂÇ飬Ïñ»ñÈ¡½ø³ÌµÄPID£¬ÄãҪôÐèÒª·ÃÎʱ¾µØ´úÂ룬ҪôʹÓÃijÖÖÁÙʱ½â¾ö·½°¸¡£²»½öÈç´Ë£¬Ã¿¸ö£¨ÏµÍ³£©Æ½Ì¨ÐèÒªÒ»¸ö²»Í¬ÊµÏÖÀ´È·±£ÄãÄÜ»ñµÃÕýÈ·µÄ½á¹û¡£

ÔÚJava 9ÖУ¬ÆÚÍû´úÂëÄÜ»ñÈ¡Linux PID£¬ÏÖÔÚÊÇÈçÏ·½Ê½£º

public static void main(String[] args) 
throws Exception
{
Process proc = Runtime.getRuntime() .exec(new String[]{ "/bin/sh", "-c", "echo $PPID" });

if (proc.waitFor() == 0)
{
InputStream in = proc.getInputStream();
int available = in.available();
byte[] outputBytes = new byte[available];

in.read(outputBytes);
String pid = new String(outputBytes);

System.out.println("Your pid is " + pid);
}
}

Äã¿ÉÒԱ任Èçϵķ½Ê½£¨Í¬ÑùÖ§³ÖËùÓеIJÙ×÷ϵͳ£©£º

System.out.println("Your pid is "
 + Process.getCurrentPid());

Try-With-Resources

ÔÚJava 7ÖУ¬try-with-resoucesÓï·¨ÒªÇóΪÿһ¸ö×ÊÔ´ÉùÃ÷Ò»¸öеıäÁ¿£¬¶øÇÒÕâЩ×ÊÔ´ÓÉtry-with-resourcesÓï¾ä½øÐйÜÀí¡£

ÔÚ¾ÍJava 9ÖУ¬ÓÐÁíÍâÒ»¸ö¸Ä½ø£ºÈç¹ûÒ»¸ö×ÊÔ´±»final»òÕßµÈЧÓÚfinal±äÁ¿ÒýÓã¬ÔòÔÚ²»ÐèÒªÉùÃ÷Ò»¸öеıäÁ¿µÄÇé¿öÏ£¬try-with-resources¾Í¿ÉÒÔ¹ÜÀíÕâ¸ö×ÊÔ´¡£

MyAutoCloseable mac = new MyAutoCloseable();
try (mac) {
// do some stuff with mac
}

try (new MyAutoCloseable() { }.

finalWrapper.finalCloseable) {
// do some stuff with finalCloseable
}

×êʯ£¨diamond£©²Ù×÷·û·¶Î§µÄÑÓÉì

Java 7¸ø³öµÄ×êʯ²Ù×÷·ûʹÎÒÃDZàд´úÂë¸ü¼òµ¥ÁË¡£ÔÚÏÂÃæµÄÀý×ÓÖУ¬Äã¿ÉÒÔ¿´¼ûJava 7ÖÐList£¨ÁÐ±í£©µÄ¿É¶ÁÐÔ¸üÇ¿ÁË£¬²¢ÇÒʹ´úÂë¸ü¼ÓµÄ¼ò½àÁË¡£

List<String> preJava7 = new ArrayLis
t<String>();//java 7 ֮ǰµÄд·¨
List<String> java7 = new ArrayList<> ();//java 7 Ö®ºóµÄд·¨

µ«ÊÇJava 7ÖÐ×êʯ²Ù×÷·û²»ÔÊÐíÔÚÄäÃûÀàÉÏʹÓᣵ«ÔÚJava 9ÖиÄÉÆÁËÕâÒ»Çé¿ö£¬ÔÊÐí×êʯ²Ù×÷·ûÔÚÄäÃûÀàÉÏʹÓá£ÏÂÃæµÄÀý×ÓÖ»ÓÐÔÚJava 9ÖвÅÄÜͨ¹ý±àÒë¡£

List<String> list = new ArrayList<>(){ };

ÔöÇ¿µÄ×¢ÊÍDeprecated

×¢ÊÍ@Deprecated¿ÉÒÔ±ê¼ÇJava API¡£×¢ÊÍ@DeprecatedÓкܶàÖÖº¬Ò壬ÀýÈçËü¿ÉÒÔ±íʾÔÚ²»Ô¶µÄ½«À´µÄij¸öʱ¼ä£¬±»±ê¼ÇµÄAPI½«»á±»ÒƳý¡£ËüÒ²¿ÉÒÔ±íʾÕâ¸öAPIÒѾ­±»ÆÆ»µÁË£¬²¢²»Ó¦¸ÃÔÙ±»Ê¹Óá£Ëü»¹ÓÐÆäËüºÜ¶àº¬Ò塣ΪÁËÌṩ¸ü¶àÓйØ@DeprecatedµÄÐÅÏ¢£¬@DeprecatedÌí¼ÓÁËforRemovalÔªËØºÍsinceÔªËØ¡£

Java SE 9 ÖÐÒ²ÌṩÁËɨÃèjarÎļþµÄ¹¤¾ßjdeprscan¡£Õâ¿î¹¤¾ßÒ²¿ÉÒÔɨÃèÒ»¸ö¾ÛºÏÀ࣬Õâ¸öÀàʹÓÃÁËJava SEÖеÄÒÑ·ÏÆúµÄAPIÔªËØ¡£ Õâ¸ö¹¤¾ß½«»á¶ÔʹÓÃÒѾ­±àÒëºÃµÄ¿âµÄÓ¦ÓóÌÐòÓаïÖú£¬ÕâÑùʹÓÃÕ߾Ͳ»ÖªµÀÕâ¸öÒѾ­±àÒëºÃµÄ¿âÖÐʹÓÃÁËÄÇЩÒÑ·ÏÆúµÄAPI¡£

ͳһµÄJVMÈÕÖ¾

Èç½ñ£¬ÎÒÃǺÜÄÑÖªµÀµ¼ÖÂJVMÐÔÄÜÎÊÌâºÍµ¼ÖÂJVM±ÀÀ£µÄ¸ù±¾Ô­Òò¡£½â¾öÕâ¸öÎÊÌâµÄÒ»¸ö·½·¨ÊǶÔËùÓеÄJVM×é¼þÒýÈëÒ»¸öµ¥Ò»µÄϵͳ£¬ÕâЩJVM×é¼þÖ§³ÖϸÁ£¶ÈµÄºÍÒ×ÅäÖõÄJVMÈÕÖ¾¡£Ä¿Ç°£¬²»Í¬µÄJVM×é¼þ¶ÔÓÚÈÕ־ʹÓõÄÊDz»Í¬µÄ»úÖÆºÍ¹æÔò£¬ÕâʹµÃJVMÄÑÒÔ½øÐе÷ÊÔ¡£

×¢ÊÍSafeVarargs·¶Î§µÄÑÓÉì

Ö±µ½Java 8£¬@SafeVarargs²ÅÄÜÔÚ¾²Ì¬·½·¨¡¢final·½·¨ºÍ¹¹ÔìÆ÷ÉÏʹÓᣵ«ÊÇÕâЩ·½·¨»òÕß¹¹ÔìÆ÷ÊDz»Äܱ»¸²¸ÇµÄ¡£ÕâЩ·½·¨ÖÐȱÉÙÁíÒ»¸ö²»Äܱ»¸²¸ÇµÄ·½·¨£¬Õâ¸ö·½·¨¾ÍÊÇ˽Óз½·¨¡£Java 9¿ÉÒÔ½«@SafeVarargsÌí¼Óµ½Ë½Óз½·¨ÉÏ¡£ÏÂÃæµÄÀý×ÓÔÚJava 9ÖÐÊÇÕýÈ·µÄ£¬µ«ÊÇÔÚJava 8ÖоͻáÅ׳ö±àÒëʱ´íÎó£º ×¢ÊÍ@SafeVarargs²»ÄÜÔÚ·ÇfinalµÄʵÀý·½·¨iAmSafeVaragrsMethodÉÏʹÓá£

@SafeVarargs
private void iAmSafeVaragrsMethod (String... varagrgs)
{
for (String each: varagrgs) {
System.out.println(each);
}
}

HTTP 2 ¿Í»§¶Ë

Java 9²ÉÓÃÁËȫеÄHTTP¿Í»§¶ËAPI£¬ÕâЩAPIÖ§³ÖHTTP/2ЭÒéºÍWebSocketЭÒ飬²¢ÇÒÌæ»»ÁËÒÅÁôµÄHTTPURLConnection API¡£ÕâЩ¸Ä±ä²¢²»Ó¦¸ÃÔÚJava 9ÖÐÍê³É¡£ÕâЩAPI¿ÉÒÔ´ÓIncubator£¨·õ»¯Æ÷£©Ä£¿éÖлñÈ¡¡£Òò´ËÔÚĬÈÏÇé¿öÏ£¬Õâ¸öÄ£¿éÊDz»Äܸù¾Ýclasspath»ñÈ¡µÄ£¬ÐèҪʹÓÃ--add-modulesÃüÁîÑ¡ÏîÅäÖÃÕâ¸öÄ£¿é£¬½«Õâ¸öÄ£¿éÌí¼Óµ½classpathÖС£

ÎÒÃÇ´´½¨Ò»¸öHTTPRequestÇëÇóºÍ»ñÈ¡Òì²½µÄÏìÓ¦:

 URI testPageURI = new URI("http://
127.0.0.1:8080/testPage");
CompletableFuture<HttpResponse> nonBlockingResponse = HttpRequest
.create(testPageURI)
.GET().responseAsync();
int tries = 0;
while(!nonBlockingResponse.isDone() && tries++ < 5) { Thread.sleep(5); } if (nonBlockingResponse.isDone()) { Http Response response = nonBlockingResponse.get(); System. out.println("status code : " + response.statusCode() + " --> " + response .body(HttpResponse.asString()));
}
else {
nonBlockingResponse.cancel(true);
System.out.println("Cancelling, coul d not get response");
}

HTML5·ç¸ñµÄJava°ïÖúÎĵµ

Java 8ÒÔ¼°Ö®Ç°µÄ°æ±¾Éú³ÉµÄJava°ïÖúÎĵµÊÇÔÚHTML 4ÖУ¬¶øHTML 4ÒѾ­ÊǺܾõıê×¼ÁË¡£ÔÚJava 9ÖУ¬javadocÃüÁîÐÐÖÐÑ¡Ï·ÖÌí¼ÓÁËÊä³öÑ¡ÏÕâ¸öÑ¡ÏîµÄֵҪôÊÇHTML 4£¬ÒªÃ´ÊÇHTML 5¡£ÏÖÔÚHTML 4ÊÇĬÈϵÄÊä³ö±ê¼ÇÓïÑÔ£¬µ«ÊÇÔÚÖ®ºó·¢²¼µÄJDKÖУ¬HTML 5½«»áÊÇĬÈϵÄÊä³ö±ê¼ÇÓïÑÔ¡£Java°ïÖúÎĵµ»¹ÊÇÓÉÈý¸ö¿ò¼Ü×é³ÉµÄ½á¹¹¹¹³É£¬ÕâÊDz»»á±äµÄ£¬²¢ÇÒÒÔHTML 5Êä³öµÄJava°ïÖúÎĵµÒ²±£³ÖÏàͬµÄ½á¹¹¡£

¸ü¶àµÄÌØÐÔ

1. ±£ÁôÏ»®Ïß×Ö·û¡£±äÁ¿²»Äܱ»ÃüÃûΪ_£»

2. ·ÏÆúApplet API£»

3.javac²»ÔÙÖ§³ÖJava1.4ÒÔ¼°Ö®Ç°µÄ°æ±¾£»

4. ·ÏÆúJavaä¯ÀÀÆ÷²å¼þ£»

5.Õ»±éÀúAPI¨CÕ»±éÀúAPIÄܹýÂ˺ͳٷÃÎÊÔÚ¶ÑÕ»¸ú×ÙÖеÄÐÅÏ¢¡£

   
2299 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

Java΢·þÎñÐÂÉú´úÖ®Nacos
ÉîÈëÀí½âJavaÖеÄÈÝÆ÷
JavaÈÝÆ÷Ïê½â
Java´úÂëÖÊÁ¿¼ì²é¹¤¾ß¼°Ê¹Óð¸Àý
Ïà¹ØÎĵµ

JavaÐÔÄÜÓÅ»¯
Spring¿ò¼Ü
SSM¿ò¼Ü¼òµ¥¼òÉÜ
´ÓÁ㿪ʼѧjava±à³Ì¾­µä
Ïà¹Ø¿Î³Ì

¸ßÐÔÄÜJava±à³ÌÓëϵͳÐÔÄÜÓÅ»¯
JavaEE¼Ü¹¹¡¢ Éè¼ÆÄ£Ê½¼°ÐÔÄܵ÷ÓÅ
Java±à³Ì»ù´¡µ½Ó¦Óÿª·¢
JAVAÐéÄâ»úÔ­ÀíÆÊÎö