Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ :

JavaÄÚ´æ¹ÜÀí»úÖÆÓëGC

 
JavaÊÇÈçºÎ¹ÜÀíÄÚ´æ
ΪÁËÅжÏJavaÖÐÊÇ·ñÓÐÄÚ´æÐ¹Â¶£¬ÎÒÃÇÊ×ÏȱØÐëÁ˽âJavaÊÇÈçºÎ¹ÜÀíÄÚ´æµÄ¡£JavaµÄÄÚ´æ¹ÜÀí¾ÍÊǶÔÏóµÄ·ÖÅäºÍÊÍ·ÅÎÊÌâ¡£ÔÚJavaÖУ¬³ÌÐòÔ±ÐèҪͨ¹ý¹Ø¼ü×ÖnewΪÿ¸ö¶ÔÏóÉêÇëÄÚ´æ¿Õ¼ä (»ù±¾ÀàÐͳýÍâ)£¬ËùÓеĶÔÏó¶¼ÔÚ¶Ñ (Heap)ÖзÖÅä¿Õ¼ä¡£ÁíÍ⣬¶ÔÏóµÄÊÍ·ÅÊÇÓÉGC¾ö¶¨ºÍÖ´Ðеġ£ÔÚJavaÖУ¬ÄÚ´æµÄ·ÖÅäÊÇÓɳÌÐòÍê³ÉµÄ£¬¶øÄÚ´æµÄÊÍ·ÅÊÇÓÐGCÍê³ÉµÄ£¬ÕâÖÖÊÕÖ§Á½ÌõÏߵķ½·¨È·Êµ¼ò»¯Á˳ÌÐòÔ±µÄ¹¤×÷¡£µ«Í¬Ê±£¬ËüÒ²¼ÓÖØÁËJVMµÄ¹¤×÷¡£ÕâÒ²ÊÇJava³ÌÐòÔËÐÐËٶȽÏÂýµÄÔ­ÒòÖ®Ò»¡£ÒòΪ£¬GCΪÁËÄܹ»ÕýÈ·ÊͷŶÔÏó£¬GC±ØÐë¼à¿ØÃ¿Ò»¸ö¶ÔÏóµÄÔËÐÐ״̬£¬°üÀ¨¶ÔÏóµÄÉêÇë¡¢ÒýÓᢱ»ÒýÓᢸ³ÖµµÈ£¬GC¶¼ÐèÒª½øÐÐ¼à¿Ø¡£
¼àÊÓ¶ÔÏó״̬ÊÇΪÁ˸ü¼Ó׼ȷµØ¡¢¼°Ê±µØÊͷŶÔÏ󣬶øÊͷŶÔÏóµÄ¸ù±¾Ô­Ôò¾ÍÊǸöÔÏó²»ÔÙ±»ÒýÓá£
ΪÁ˸üºÃÀí½âGCµÄ¹¤×÷Ô­Àí£¬ÎÒÃÇ¿ÉÒÔ½«¶ÔÏó¿¼ÂÇΪÓÐÏòͼµÄ¶¥µã£¬½«ÒýÓùØÏµ¿¼ÂÇΪͼµÄÓÐÏò±ß£¬ÓÐÏò±ß´ÓÒýÓÃÕßÖ¸Ïò±»Òý¶ÔÏó¡£ÁíÍ⣬ÿ¸öÏ̶߳ÔÏó¿ÉÒÔ×÷Ϊһ¸öͼµÄÆðʼ¶¥µã£¬ÀýÈç´ó¶à³ÌÐò´Ómain½ø³Ì¿ªÊ¼Ö´ÐУ¬ÄÇô¸Ãͼ¾ÍÊÇÒÔmain½ø³Ì¶¥µã¿ªÊ¼µÄÒ»¿Ã¸ùÊ÷¡£ÔÚÕâ¸öÓÐÏòͼÖУ¬¸ù¶¥µã¿É´ïµÄ¶ÔÏó¶¼ÊÇÓÐЧ¶ÔÏó£¬GC½«²»»ØÊÕÕâЩ¶ÔÏó¡£Èç¹ûij¸ö¶ÔÏó (Á¬Í¨×Óͼ)ÓëÕâ¸ö¸ù¶¥µã²»¿ ......

Javaµ¥Àýģʽ


¡¡1¡¢¶öººÊ½
¡¡¡¡package singleton;
¡¡¡¡/**
¡¡¡¡* ¶öººÊ½µ¥Àý
¡¡¡¡* @author ½¯Ã÷Ô­
¡¡¡¡*
¡¡¡¡*/
¡¡¡¡public class HungrySingleton {
¡¡¡¡/**jvm±£Ö¤instanceÖ»±»³õʼ»¯Ò»´Î*/
¡¡¡¡private static HungrySingleton instance = new HungrySingleton();
¡¡¡¡/**×èÖ¹ÍⲿʹÓÃnewʵÀý»¯¶ÔÏó*/
¡¡¡¡private HungrySingleton(){
¡¡¡¡}
¡¡¡¡/**
¡¡¡¡* »ñȡʵÀý
¡¡¡¡* @return ΨһµÄinstance
¡¡¡¡*/
¡¡¡¡public static HungrySingleton getInstance() {
¡¡¡¡return instance;
¡¡¡¡}
¡¡¡¡}
¡¡¡¡2¡¢ÀÁººÊ½
¡¡¡¡package singleton;
¡¡¡¡/**
¡¡¡¡* ÀÁººÊ½µ¥Àý
¡¡¡¡* @author ½¯Ã÷Ô­
¡¡¡¡*
¡¡¡¡*/
¡¡¡¡public class LazySingleton {
¡¡¡¡/**
¡¡¡¡* ×èÖ¹Íâ½çʹÓÃnewʵÀý»¯¶ÔÏó
¡¡¡¡*/
¡¡¡¡private LazySingleton() {
¡¡¡¡}
¡¡¡¡/**
¡¡¡¡* Ö»ÓÐÔÚµ÷ÓÃgetInstance()ʱ´ËÀà²Å»á±»×°ÔØ
¡¡¡¡* ÔÚSingletonKerriganF.javaÖÐ˵Ã÷Á˼ÓÔØË³Ðò
¡¡¡¡*/
¡¡¡¡private static class SingletonHolder {
¡¡¡¡/**
¡¡¡¡* ¶ÔÏóʵÀý,jvm±£Ö¤Ö»³õʼ»¯Ò»´Î
¡¡¡¡*/
¡¡¡¡static final LazySingleton INSTANCE = new LazySingleton();
¡¡¡¡}
¡¡¡¡/**
¡¡¡¡* »ñÈ¡Ê ......

java²¢·¢±à³Ìʵ¼ù ±Ê¼Ç£¨1£©

Ḭ̈߳²È« ʲôÊÇḬ̈߳²È«(thread-safe)£¿ Ò»¸öÀ࣬Èç¹ûÄܹ»ÔÚ¶àÏ̲߳¢·¢·ÃÎʵĻ·¾³Ï£¨²»¹ÜÏ̷߳ÃÎʵÄ˳Ðò£©ÕýÈ·±íÏÖ×Ô¼ºµÄÐÐΪ£¬²¢ÇÒÎÞÐèÍⲿµ÷ÓÃÌí¼ÓÈκÎͬ²½Ö®ÀàµÄ²Ù×÷£¬Õâ¸öÀà¾ÍÊÇḬ̈߳²È«µÄ¡£
Õâ¸öÕýÈ·ÐÔ¿ÉÒÔÕâôÀí½â£¬¾ÍÊÇ˵¶àÏ̷߳ÃÎʵĽá¹û²»»á²»Í¬ÓÚµ¥Ï̵߳ķÃÎÊ¡£
Ḭ̈߳²È«µÄÀ಻ÐèÒªÍⲿµ÷ÓÃÌṩÈκθ½¼ÓµÄͬ²½¡£ ÎÞ״̬(stateless)µÄÀàÓÀÔ¶ÊÇḬ̈߳²È«µÄ¡£
ʲôÊÇÎÞ״̬µÄÀࣿûÓÐʵÀý±äÁ¿(field)£¬Ò²Ã»ÓÐÒýÓÃÆäËüÀàµÄfield¡£ Ô­×ÓÐÔ A race condition occurs when the correctness of a computation depends on the relative timing or interleaving of multiple threads by the runtime; in other words, when getting the right answer relies on lucky timing. ×î³£¼ûµÄrace conditionÊÇcheck-and-act¡£Òª·ÀÖ¹ÕâÖÖrace condition£¬ÎÒÃÇÐèÒªÔ­×ÓÐԵIJÙ×÷¡£Ê²Ã´ÊÇÔ­×ÓÐÔÄØ£¬¾ÍÊÇ˵£¬ÄãÕâ¸ö²Ù×÷ÔÚÖ´ÐеĹý³ÌÖУ¬¶ÔÓÚÄã²Ù×÷µÄ״̬ÉÏÆäËüµÄ²Ù×÷£¨°üÀ¨Äã×Ô¼º£©ÒªÃ´È«¶¼Ö´ÐÐÍêÁË£¬ÒªÃ´»¹Ã»¿ªÊ¼¡£
Ïë˵¾äͨ˳µÄÖйú»°ÔõôÕâôÄѰ¡£¬»¹ÊǸø³öÔ­Îİɣº Operations A and B are atomic with respect to each other if, from the perspecti ......

javaÃæÊÔÌ⣬ÖÊÊýÇóºÍ

public class Test {
 /**
  * @param args
  */
 public static void main(String[] args) {
  /**
   * ÇóÖÊÊýºÍ£¬
   * Èç:
   * sum(1)=2=2
   * sum(2)=2+3=5
   * sum(3)=2+3+5=10
   * sum(4)=2+3+5+7=17
   * ...
   * sum(7)=2+3+5+7+11+13+17=58
   */
  System.out.println(Test.sum(7));
 }
//²úÉúÖÊÊýnµÄºóÒ»¸öÖÊÊý£¬Èçn=2,return 3
 public static int nextNum(int n){
  n++;
  for(int i=2;i<n;i++){
   if(n%i==0){
    //²»ÊÇÖÊÊý
    n++;
    continue;
   }
  }
  return n;
 }
//ÇóºÍ·½·¨
 public static int sum(int count){
  if(count <0) return 0;
  int sum = 2;
  int zn=2;
  for(int i=0;i<count-1;i++){
   zn=Test.nextNum(zn);
&nb ......

Java¶ÔÏó¿½±´

public class Person implements Serializable {
    private String name;
    private int age;
    private GregorianCalendar birthday;
    public Person(){
       
    }
    public Person(String name, int age, GregorianCalendar birthday){
        this.name = name;
        this.age = age;
        this.birthday = birthday;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
    ......

´«ÖDz¥¿ÍJavaÅàѵ HTML»ù´¡Ê¾Àý

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>ʵÀý1</TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY>
<!--ͼÏñµØÍ¼Ê¾Àý-->
<img src="ex.jpg" mce_src="ex.jpg" usemap="#mymap" width=320 height=180 border=0 alt=ͼÏñµØÍ¼>
<hr>
<map name=mymap>
<area shape="rect" mce_shape="rect" coords="0,0,80,180" mce_coords="0,0,80,180" href="#mark1" mce_href="#mark1"></area>
<area shape="rect" mce_shape="rect" coords="80,0,160,180" mce_coords="80,0,160,180" href="#mark2" mce_href="#m ......

´«ÖDz¥¿ÍJavaÅàѵ HTML»ù´¡Ê¾Àý

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>ʵÀý1</TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY>
<!--ͼÏñµØÍ¼Ê¾Àý-->
<img src="ex.jpg" mce_src="ex.jpg" usemap="#mymap" width=320 height=180 border=0 alt=ͼÏñµØÍ¼>
<hr>
<map name=mymap>
<area shape="rect" mce_shape="rect" coords="0,0,80,180" mce_coords="0,0,80,180" href="#mark1" mce_href="#mark1"></area>
<area shape="rect" mce_shape="rect" coords="80,0,160,180" mce_coords="80,0,160,180" href="#mark2" mce_href="#m ......
×ܼǼÊý:40319; ×ÜÒ³Êý:6720; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [1434] [1435] [1436] [1437] 1438 [1439] [1440] [1441] [1442] [1443]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ