2016/12summary
應用服務器處理業務邏輯,web服務器處理html文件。web服務器更加簡單。應用服務器有tomcat,jboss,weblogic,web服務器有IIS,Apache。
?
徐總:core里面做業務邏輯,server里面做一些輕量級的處理,比如數據的上下交換。 比如MQ的讀取,
?
易犯錯的null問題:初始化:List和Map時,如果沒有new一個對象,或者將其賦值為null,后繼的方法都是無法使用的,因為它為null啊![]和null不一樣的性質!使用null的情況一般是判斷是否為初次初始化才用。
?
list的addAll:list1.addAll(list2),表示將list2中的所有值賦值給list1,list.add(list4),表示將list4作為一個參數賦值到list3中去。list3的size增加1。
?
部署最新的nmim和mqserver并測試。其中:由于配置合并,但是部署配置未改導致時間浪費,下次修改代碼時需要先備忘錄,也應該在獲取配置的地方寫上日志。 ? ? ?發送短信的serviceId等配置忘記替換導致報錯java.NullPoint,看到這個錯我一開始就覺得90%不是雙網卡的問題,因為就算是報錯也是連接數上Dubbo服務的體現。于是我懷疑是代碼本身的問題,開始鎖定的是接口傳入的參數是否為空,但是其實是沒有意義的,因為代碼中并沒有對參數的限制,就算是為null,也不會報錯,然而我沒有仔細反思思考模擬,直接動手了,浪費。 ?并且,從本地發現項目是可以運行來推斷,應該是配置問題!這是唯一的區別,除了雙網卡等環境差異。下次再獲取配置的地方可以加上日志,這是一個關鍵的地方。
?
真正看懂一小塊知識帶來的樂趣,比走馬觀花般接觸一本書的知識要多的多,而且更有價值。學習的本質并不是記憶,記憶只是輔助,根據記憶得到的素材信息進行深一步的思考與推理,才是學習真正的價值所在。只讀一本書,只看一個人,只學一件事,將自己全部的身心都帶入其中,換位思考,熟能生巧,書讀百遍,慢,才是真正的快。當我思考的時候,當我對我接觸到的信息與知識進行過濾時,不簡單地依靠最原始的數據與他人的思考,速度也許會慢一點,但是我實際理解了,掌握了本質與核心,那么我就不需要再學第二次,不會遺忘,會舉一反三,由一點突破一面,這才是真正的快。要有自己的思考,不能欺騙自己,自己都感覺模糊不清的,說道不明的,不能用直觀通俗的白話表達給不懂的人聽的,那就是無用功。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?比如,今天我學會了使用AMQ,雖然半個月以前我就已經實現了相應的功能,但是那時候我根本不知道具體的原理與實現的細節,認為自己沒有時間去深究(后期部署時報錯,加班到凌晨三點都沒有自己解決問題),大錯特錯,不需要你深究到最底層的實現,只需要理解每一句代碼的作用即可,只需要能夠將這段代碼復現給其他人,確實需要注意,很容易因為需要了解一個點而牽扯出一個面的知識,比如框架類的原理,所以需要在實際過程中把握這個度,到底需要學到什么地步,我覺得是能夠讓自己理解原先的最初的那個知識點就行了。 ? ? 對我而言,慢一點,多思考,才能快一點。
?
接口的作用:多態,接口只關心它的功能,不關心具體實現,所以可以多次實現同一個接口的方法,克服了單繼承的缺點。接口中只包含常量和方法的定義,接口中的變量默認使用public static final標識。
interface和普通的class:兩者都可以實現某些功能,interface是抽象的,不能有具體的數據域,比如說String str=“cc”什么的,不能創建對象,可以繼承其他接口,但是不能實現其他接口,它本身還需要別人來現實它呢!class是指類,不能有抽象方法,可以有數據域,可以創建對象,可以實現接口,但是不能繼承接口。類也不好分層啊,像service層,目前我覺得用interface主要是設計模式上的考慮,如果不是dubbo接口,系統內部的接口也可以用class來實現啊,像dao那層可以考慮去除。dubbo服務這種一般都是寫成接口形式的。
?
以后學習的時候,遇到新信息新知識的時候,要提醒自己用邏輯用規范來思考,不要盲目沒有條理:
1、這個知識(信息)它的應用場景是什么?
2、它的實現原理是什么?
3、在特定的場景中,如果使用它?
4、使用它關鍵或是說易錯點在哪里?
只有當我們使用一件事物,才可以得到它的價值,金錢、人脈、知識都是如此,我們思考的時候,通常都是特定場景下,需要實現某種功能,達到某些期待的效果而做出選擇。我們會去想:類似的場景我以前遇到過嗎?我知道別人遇到嗎?我失敗或者成功的原因是什么?別人成功或失敗的原因又是什么? ?我的目的是什么?達成目的需要的東西是什么?最開始我需要完成的是什么?過程中最關鍵的步驟是什么?如果環境無法完全滿足,我怎么樣去創造條件?易錯點可以先主動尋找,問已經使用過它的人!
?
?
傳參盡量為null,因為在數據庫中null表示為傳入任何參數,是空的。如果傳入的是“”,數據庫里面是有數值的,為空字符串,就好像傳了0.
?
我可以做任何我喜歡做的事情,但是我不能無力自拔。 ? ?我可以因為不讓自己后悔而獲得快樂的動機去改變,但我不能因為別人而改變。
?
今天發現tcyd項目突然跑不起來了,maven update不能用,以為項目配置有問題,于是刪掉項目重新導入,但是這次更夸張了,因為不能maven update project,所有的文件都報錯了。正打算把文件夾里面的項目也刪掉重新導入的時候,突然發現黃色感嘆號,沖突啊,兄弟!把沖突文件刪掉就好了。(包括白色的)。
?
在幫同事配置項目的時候,拷貝了幾分配置文件過來,這沒有錯,還在pom.xml中拷貝了一大堆jar包,但是我必須知道自己在做什么,拷貝是拷貝自己知道的東西,是覺得重復性沒有必要機械寫一遍的東西,而不是自己根本不知道不了解不熟悉的東西。還是徐總的那句話,“不要瞎寫,連自己寫了什么東西都不知道”。以后,拷貝的時候問問自己,這些你都知道嗎,下次配置項目的時候,老老實實按照步驟一步一步配置,而不是直接拷貝。了解基本的原理。
?
配置項目時不要將所有的東西先拷貝過來再去刪除沒用的,而是將需要的東西一點一點添加上去,因為你不知道哪些是真的沒有用的,不清楚里面的邏輯,反之則至少知道自己錯在哪里。引用jar包的時候也是這樣的,用到什么添加什么,不然后期jar沖突或者明明引用了但是實際上沒有引用到,你都不知道怎么找到錯誤。
?ContextListener not found 網上說有三種可能 1、spring-web沒有導入;2、spring包版本沖突;3、web.xml配置不對,但是都沒有啊,于是又去清空workSpace下的webApp目錄,還是不行。發現lib文件夾下沒有相應的jar包,update也沒用,于是bulid path將maven先刪除再添加就好了。
?
轉載于:https://www.cnblogs.com/1023linlin/p/6203376.html
總結
以上是生活随笔為你收集整理的2016/12summary的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Redis的三种启动方式【转】
- 下一篇: AngularJS高级程序设计学习笔记(