把該 release 分支的所有檔案(除了 .git 資料夾)複製一份出來,切到 master 分支然後把所有檔案(除了 .git 資料夾)都刪除,然後把剛剛複製的檔案搬過來。你沒看錯,我們用直接覆蓋檔案的方式,而不是用 merge 指令,這樣會省掉很多麻煩。
應該不至於需要把所有檔案都刪除吧?Git 不是有 fast-forward1 的功能嗎?
這個情境真的很難重現,主要是要讓 thread 夠忙來不及更新資料才會發生 ...
就算只是單純的把 System.out 移到外面來,也會影響執行結果:
public class VolatileTest {
private static volatile int MY_INT = 0;
public static void main(String[] args) {
new ChangeListener().start();
new ChangeMaker().start();
}
static class ChangeListener extends Thread {
@Override
public void run() {
int local_value = MY_INT;
while ( local_value < 5){
if( local_value!= MY_INT){
//LOGGER.log(Level.INFO,"Got Change for MY_INT : {0}", MY_INT);
//System.out.println("Got Change for MY_INT : " + MY_INT);
local_value= MY_INT;
}
//原本是 local_value != MY_INT 才會印出 Got Change ...
System.out.println("Got Change for MY_INT : " + MY_INT);
}
}
}
static class ChangeMaker extends Thread{
@Override
public void run() {
int local_value = MY_INT;
while (MY_INT <5){
//LOGGER.log(Level.INFO, "Incrementing MY_INT to {0}", local_value+1);
System.out.println("Incrementing MY_INT to " + (local_value+1));
MY_INT = ++local_value;
try {
Thread.sleep(500);
} catch (InterruptedException e) { e.printStackTrace(); }
}
}
}
}
針對商務筆電要優先考慮筆電機身的耐用性,I/O 端子的完整性與週邊設備的需求,這樣才能應付商務人士在使用筆電的各種環境需求
真的超耐用,我手上的 ThinkPad T410i 被我操了 7 年了還是頭好壯壯的。
對他來說他很喜歡小紅點的設計,讓他的雙手不用離開鍵盤去使用觸控板,這會中斷他工作的思緒,另外當然也有許多消費者的反饋,因此現在不會有移除小紅點的計畫。
除了小紅點,我個人還喜歡 UltraBay 和 靜音按鈕 的設計。
放入更大容量的電池,來增加筆電整體的續航力
電池容量不足確實是缺點...
ThinkPad 設計團隊還是想要維持既有的鍵盤敲擊回饋感,雖然從 10 年前 2.5mm 的鍵程改為目前的 1.8mm 鍵程設計,但他們還是花了許多心思,去維持鍵盤敲擊的舒適感與回饋感,並能確保筆電的輕薄性
在日本橫濱的 ThinkPad 大和實驗室,也會進行 ThinkPad 系列筆電的品質與耐用度等相關測試
有這麼強的 Design 和 QA 難怪 ThinkPad 會成為筆電中的經典!
但轉換到 Lenovo 主導之後
但轉換到 Lenovo 主導之後... 就對資安方面1沒有信心了...
原來從這版開始有支援並行運算!
而且有支援 Java 9,不過 Gradle 的網頁是說 Java 7+1 就可以跑 Gradle
Reduced memory usage: No additional memory is used to store object metadata, such as flags facilitating synchronization, identity, and garbage collection.
但是這樣的話 value types 要怎麼被 GC 回收?
不過從 jvisualvm1 看起來,通常 java application 比較佔記憶體的大都是 char[], byte[], int[], ...,所以 value types 確實有機會減少記憶體的使用
Primitives do not currently support qualified method calls or field access (i.e. use of the dot operator)
Primitive types 也不能表達 null... 所以還是需要 wrapper class
The Minimal Value Types article goes into great detail on this initial exploratory implementation and although this first cut includes many approximations of the eventual implementation (such as the use of an annotation to denote a value type rather than an express keyword for this purpose), it provides a promising path for the eventual inclusion of value types into Java.
可能需要增加新的 annotation,所以舊的程式沒辦法直接用...
不是已經有 string pool 的概念了嗎?類似的方法套用到 value types 不知可不可行?
現今有不少JavaScript程式庫都提供便於使用的實作,只是HTML5認為,畢竟從1999年發展到現在了,網頁應用程式幾乎都需要這些功能,那麼,就該由瀏覽器本身提供,而非把責任丟給開發者。
Grid 元件也很常用啊 (例如:jqGrid1, Angular UI Grid2),可惜瀏覽器本身沒有支援 ...
如果想要大致瞭解HTML5的功能輪廓,〈HTML 5 教程〉(https://goo.gl/VxpfmV)與〈HTML5 Introduction〉(https://goo.gl/nZ3Z6w)應該就足夠了
javadoc.io1:沒想到還有專門放 javadoc 的網站,讚~
可惜我要用的 library3 沒有在 Central Maven Repository2 中,所以沒辦法在 javadoc.io1 上用...
雖然標題這樣下,但我覺得其實不只女性,這是社群一個很 general 的可怕矛盾。
- 如果社群領袖持續參與社群活動,就不可能在專業生涯進展
- 如果想在發展專業,就不可能密切參與社群活動
- 沒辦法在社群接觸真正的意見領袖;接觸過的人如果往上爬,你就再也看不到他了
參與社群活動就真的不能在專業生涯上進展嗎?不是應該有加分作用?
這造成很多很弔詭的現象,例如很多在社群貢獻的人會被 underrecognised,像我們的主編 Vinta ㄉㄉ就應該要有更多人認識才對
我這樣會不會太狗腿;因為知名度不夠,沒辦法進入主流視野,就拿不到該有的資源。
這造成很多很弔詭的現象,例如新竹科學園區的 IT 部門,裡面的強者就應該要有更多人認識才對;不過雖然沒什麼知名度,但手上的資源卻很豐富。
另一方面社群即使再良心立意再好對成員多有用,即使成員一個一個成長,社群本身仍然會像垃圾接案公司一樣,永遠原地踏步——因為強者練完功就會離開,留下被他們吸進來的 junior。
另一方面竹科有些大公司有所謂的保密協定,強者進去後就只能從社群裡面接收資訊,而不能把資訊回饋給社群,所以社群本身只能靠自己想辦法 ...
搞社群一段時間的可能多少都有這類矛盾吧,像 PyCon Taiwan 最近幾年也是結婚的結婚生小孩的生小孩出國的出國開公司的開公司(對我就是在講你和你和你和你不要懷疑)。當然大家發展得這麼好作為朋友超開心的啊,但是也同時會在想這好像沒辦法成為永續的社群模式,實在令人擔心。這個問題很難看到立即的影響(跟全球暖化有點像),大概也不會有人關注這篇吧,點閱率大概會在本期墊底,不過還是希望有更多人能注意到這個現象,而不是哪天熱浪襲擊歐洲才開始動作。
除非把網路上的討論區、部落格、電子報 ... 等有技術文件的網站都關起來,才會有更多人 (或者是號稱要盡社會責任的公司) 注意社群的重要性吧!