在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/ Java問答
舊酒館 回答

時(shí)間是LogEvent創(chuàng)建時(shí)間, 多線程時(shí),寫入的順序可能與事件的創(chuàng)建時(shí)間不一致.

下面是我寫的一個(gè)測(cè)試程序


import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.Test;

public class LogTest {
    final Log log = LogFactory.getLog(this.getClass());

    Object o = new Object() {
        public String toString() {
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            return "this is slow! " + System.currentTimeMillis();
        }
    };

    @Test
    public void testFIFO() throws InterruptedException {
         
            new Thread() {
                public void run() {
                    log.info(o);
                }
            }.start();
            
            Thread.sleep(100);
            
            new Thread() {
                public void run() {
                    log.info("this is fast! " + System.currentTimeMillis());
                }
            }.start();
            
            Thread.sleep(2000);

    }
    

    @Test
    public void testFILO() throws InterruptedException {
         
            new Thread() {
                public void run() {
                    log.info(o.toString());
                }
            }.start();
            
            Thread.sleep(100);
            
            new Thread() {
                public void run() {
                    log.info("this is fast! " + System.currentTimeMillis());
                }
            }.start();
            
            Thread.sleep(2000);

    }

}

這里用的是commons-logging 來間接使用Log4j. 原理上是一樣的

輸出如下:

FIFO

INFO  2018-03-02 12:43:26,846 LogTest$2:run - this is slow! 1519965807848
INFO  2018-03-02 12:43:26,946 LogTest$3:run - this is fast! 1519965806946

FILO


INFO  2018-03-02 12:43:29,048 LogTest$5:run - this is fast! 1519965809048
INFO  2018-03-02 12:43:29,948 LogTest$4:run - this is slow! 1519965809948

第一個(gè)測(cè)試和第二個(gè)不同在于一個(gè)(FILO)是 log.info(o.toString());, 一個(gè)(FIFO)是log.info(o);
我故意把toString方法變慢. 對(duì)比兩個(gè)結(jié)果, 可以看到發(fā)生時(shí)間和寫出時(shí)間的差異.

心上人 回答

1.對(duì)應(yīng)的是域名+端口號(hào),你可以去“chrome->設(shè)置->高級(jí)設(shè)置->管理密碼”一看便知
2.密碼和用戶名是一一對(duì)應(yīng)關(guān)系,當(dāng)你填寫密碼的時(shí)候,會(huì)提示你選擇一個(gè)用戶名的密碼。
題外:如果你想在自己的站點(diǎn)去掉這種煩人的提示

<input type="email" name="email" autocomplete="off" />

comet 可以做為一個(gè)選項(xiàng)

喔喔,已經(jīng)試出來了,我在Tomcat目錄的conf文件夾下的context.xml里面加了Resource那段xml代碼,就好了。

青瓷 回答

看了上面的答案,都是返回父節(jié)點(diǎn)father的值,那如果要求返回的是 father,這個(gè)父節(jié)點(diǎn)的key,還要雙層循環(huán)嗎加遞歸嗎?

懶豬 回答

/^([A-Z][a-z0-9]*,)*[A-Z][a-z0-9]*$/

使用舉例

var reg = /^([A-Z][a-z0-9]*,)*[A-Z][a-z0-9]*$/;
if(reg.test(你輸入的str)) {
    console.log('符合要求');
} else {
    console.log('不符合要求');
}
亮瞎她 回答

你應(yīng)該是在同一個(gè)控制器寫了一個(gè)新的方法 原有的資源控制器覆蓋了你新寫的路由

這個(gè)跟 Spring 沒有關(guān)系。

類,不占用任何空間,只是敘述了對(duì)象占用了怎樣的空間。 類是類型的意思,就像int也是類型。 int 并不占用空間,但是int aa 占用32 bytes內(nèi)存空間,而 double f; f占64 bytes 空間,這些是編譯器預(yù)定義的類型。但是類(e.g. BaseClass)是我們自定義的類型,因此我們要寫代碼描述如何創(chuàng)建這個(gè)類型。BaseClass obj = new BaseClass();obj 才占用空間。

class ExtClass extends BaseClass {}; ExtClass ex = new ExtClass() 的 ex 才占用空間。 在給其分配內(nèi)存的時(shí)候 首先分配 BaseClass 描述的成員變量的空間,然后再分配ExtClass中描述的成員變量占用的空間。

obj -> +------------------+
       | BaseClass的props |
       +------------------+
       |      其他        |
       +------------------+

ext -> +------------------+
       | BaseClass的props |
       +------------------+
       |      其他        |
       +------------------+
       | ExtClass的props  |
       +------------------+
       |      其他        |
       +------------------+

其他 包括一下存儲(chǔ)類中方法、static等東西的“指針”等。。。

抽象類不能實(shí)例化,但其子類可以實(shí)例化,子類實(shí)例化的時(shí)候顯然要要先給其父類定義的成員變量分配空間。

因此,對(duì)于static 方法,只能訪問static 變量,因?yàn)檫@個(gè)時(shí)候其他成員變量還沒有分配空間。static成員實(shí)在程序初始化的時(shí)候分配的空間,所有的對(duì)象共享,所以即使沒有創(chuàng)建對(duì)象,這些成員也是在內(nèi)存中存在的,所以這些值可以通過類名訪問。但是其他方法,必須通過這個(gè)類的對(duì)象訪問,也就是必須通過一個(gè)已經(jīng)實(shí)例化的對(duì)象進(jìn)行訪問,這些成員變量有了內(nèi)存空間,就可以訪問了。

所以你調(diào)用了非static方法,就必然說明在某個(gè)地方實(shí)例化了這個(gè)類或是其子類,通過這個(gè)對(duì)象對(duì)這個(gè)函數(shù)進(jìn)行調(diào)用,這樣基類所定義的屬性也有了分配空間。

抽象類不能實(shí)例化主要是因?yàn)槠渲械囊恍┓椒]有實(shí)現(xiàn),等待其子類實(shí)現(xiàn)這些方法,所以它并不是一個(gè)完整的類定義。 它說類中有一個(gè)方法,但是并沒有實(shí)現(xiàn),因?yàn)楦鶕?jù)不同的情況可能實(shí)現(xiàn)不同,但是部分方法有通用的實(shí)現(xiàn),因此只寫這一部分方法。 還有一種特殊的抽象類,就是所有的方法都是抽象的方法,額,其實(shí)這在JAVA一般叫定義為"接口"。只是抽象類不能多繼承,接口可以"多繼承"。

額,寫完發(fā)現(xiàn),受不同語言影響較大,一些詞用的比較亂,比如基類,父類,屬性,成員變量等。

只愛你 回答

設(shè)置系統(tǒng)屬性:

System.setProperty ("jsse.enableSNIExtension", "false")

如果是tomcat,則catalina.sh增加:-Djsse.enableSNIExtension=false

愛礙唉 回答

哎,真是心涼涼,在segmentfault上發(fā)的幾個(gè)問題都是自己解決的。下面公布正確答案吧:

  • 下面是angular中模板代碼:

    <form [formGroup]="unit" (submit)="goSubmit()">
      <div>計(jì)量單位:<input type="text" formControlName="sid"></div>
      <button type="submit">自己的提交</button>
    </form>
  • 下面是發(fā)送請(qǐng)求的代碼:

    goSubmit(){
      console.log("下面是angular表單數(shù)據(jù):");
      console.log(this.unit.value);
    
      var reqUrl = 'http://localhost:8085/femis/unitUpdateByPrimaryKey';
      this.http.post(reqUrl,this.unit.value)
      .subscribe(
        val=>{
          console.log("這里是執(zhí)行完畢的分支!");
        },
        error=>{
          console.log("這里是錯(cuò)誤的分支:" + error);
        },
        ()=>{ console.log("這里是anyway的分支!"); }
      );
    }
  • 下面是java端響應(yīng)請(qǐng)求的代碼:

     @PostMapping("/unitUpdateByPrimaryKey")
     public String updateByPrimaryKey(@RequestBody Unit unit) {
         System.out.println("進(jìn)入了請(qǐng)求:/unitUpdateByPrimaryKey");
         System.out.println("傳入的參數(shù)是:" + unit.toString());
         return "";
     }
  • 已經(jīng)測(cè)試通過,2018年9月10日 17:28:35
忠妾 回答

xml的insert語句去掉前面的DictionaryType即可

落殤 回答

一般來說不會(huì)用傳入T.class的形式來讀取泛型信息。

在泛型類內(nèi)部,可以在運(yùn)行時(shí)通過反射獲取T的具體類型信息,手機(jī)答題不方便貼鏈接了,你可以搜索‘’ParameterizedType”關(guān)鍵字來獲取這方面的信息。

歆久 回答

mybatis generator生成的 我看過源碼 是字符串拼接的 然后寫到你配置的目錄

囍槑 回答

擴(kuò)展的話只用修改types就行了

const types = {
  'CHARTS':['pie','bar','line'],
  'TEXT':['normalText','multText'],
  'MEDIA':['file','picture','music','video'],
}

export const typeMarry = (type) => {
   for(var k in types)
     if(types[k].includes(type))
       return k;
}
念舊 回答

static,靜態(tài)變量,了解一下。