時(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í)間的差異.
字段上添加@JsonProperty("返回前端的字段名")
樓主解決了么?遇到了同樣的問題~
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)
你可以了解一下,niginx,用代理來使得端口一致
喔喔,已經(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 a 的 a 占用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 "";
}
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)變量,了解一下。
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。