2019年4-5月心得,Github同步

2019年4月

做一個善良的人,爲羣衆謀幸福————高爾基

2019年4月1日

  1. 產生死鎖的四個必要條件:
    互斥條件:一個資源每次只能被一個進程使用。
    請求與保持條件:一個進程因請求資源而阻塞時,對已獲得的資源保持不放。
    不剝奪條件:進程已獲得的資源,在末使用完之前,不能強行剝奪。
    循環等待條件:若干進程之間形成一種頭尾相接的循環等待資源關係。
  2. 數據庫連接池連接數 = ((核心數 * 2) + 有效磁盤數)
  3. 線程池
    如果是IO密集型應用,則線程池大小設置爲2N+1;
    如果是CPU密集型應用,則線程池大小設置爲N+1;
    N代表CPU的核數。
    tasks :每秒的任務數,假設爲500~1000
    taskcost:每個任務花費時間,假設爲0.1s
    responsetime:系統允許容忍的最大響應時間,假設爲1s

2019年4月8日

  1. 阿里約了下午4點面試
  2. 還是要咋是紮實基礎呀,有一個問題沒回答好。
  3. 申請參加4月27日ACM省賽
  4. Java開發數據庫大作業的內容

2019年4月9日

  1. 公平鎖/非公平鎖(多線程執行順序的維度)
    公平鎖:加鎖前先查看是否有排隊等待的線程,有的話優先處理排在前面的線程,先來先得。
    非公平所:線程加鎖時直接嘗試獲取鎖,獲取不到就自動到隊尾等待。

2019年4月13日

  1. 由於volatile保證了可見性,那麼在每個線程中對inc自增完之後,在其他線程中都能看到修改後的值,所以有10個線程分別進行了1000次操作,那麼最終inc的值應該是1000*10=10000。這裏面就有一個誤區了,volatile關鍵字能保證可見性沒有錯,但是上面的程序錯在沒能保證原子性。可見性只能保證每次讀取的是最新的值,但是volatile沒辦法保證對變量的操作的原子性。

2019年4月14日

  1. linux docker下載器
    docker run --name ccaa -d -p 6800:6800 -p 6080:6080 moerats/ccaa:latest
    大體信息如次
    AriaNg界面:http://ip:6080
    拜訪界面用戶名暗碼別離爲:admin、moerats
    Aria2密匙:moerats
    Filebrowser拜訪地點:http://ip:6080/admin

2019年4月16日

  1. 數據庫隔離級別問題
    RAED UNCOMMITED:使用查詢語句不會加鎖,可能會讀到未提交的行(Dirty Read);
    READ COMMITED:只對記錄加記錄鎖,而不會在記錄之間加間隙鎖,所以允許新的記錄插入到被鎖定記錄的附近,所以再多次使用查詢語句時,可能得到不同的結果(Non-Repeatable Read);
    REPEATABLE READ:多次讀取同一範圍的數據會返回第一次查詢的快照,不會返回不同的數據行,但是可能發生幻讀(Phantom Read);
    SERIALIZABLE:InnoDB 隱式地將全部的查詢語句加上共享鎖,解決了幻讀的問題;

2019年4月19日

  1. 正式收到阿里offer

2019年4月20日

  1. 已收到正式郵件offer。
    我除了微軟Azure之外沒有別的面試了,也不再投遞新的,大概率是來阿里的。原因:
    a. 是技術棧 阿里Java,騰訊C++爲主的全棧,微軟是C++和Python。
    b. 地域原因,阿里在杭州,騰訊深圳,微軟上海,個人對杭州比較熟悉,也有家人在杭州。
    c. 挑戰方面的話,WXG支付業務,阿里中臺,微軟的容器開發算不同方面,但是都算很感興趣的內容,值得學的內容非常多。
  2. 基本信息和相關疑問。
    a. 入職時間: 大約6月25-28日,如果需要調整可以討論下。
    b. 入職提前一段時間聯繫誰?
    c. 實習期間主要任務,轉正之後主要工作內容。工作時間?
    d. 問了HR,說5年以上,3-5年,3年以下接近1:1:1,會有導師帶嗎。
    e. Linux使用率。
  3. 技術棧相關。
    a. 目前技術棧比較平均,C++/Java/Python/Golang。
    b. 看過的書,學校裏的課,機器學習基礎+花書+西瓜書,leetcode,JVM虛擬機,effective C++。
    c. 目前在狂補的,Java設計模式,Spring那一套,併發編程和相關書。
    d. 需要優先了解的知識,阿里開源的十幾個中間件。
    d. 想問需要補那些知識點。相關文檔和書本推薦。

2019年4月21日

  1. Dao和Service層都是可以實現模板的。

2019年4月23日

  1. JSP分頁的實現
    ‘’’
    int l = 1, r = totalPage;

if (totalPage > 5) {
if (pageCode <= 3) {
l = 1; r = 5;
} else if (pageCode >= r-2) {
l = totalPage - 4; r = totalPage;
} else {
l = pageCode - 2; r = pageCode + 2;
}
}

for (int i=l; i<=r; i++) {
out.print("<li " + ((pageCode == i) ? “class=“active”” : “”) + “>”);
out.print("<a href="" + nowPath + “?” + “pageCode=” + i + “”>" + i + “”);
out.print("");
}
‘’’

2019年4月27日

  1. ACM省賽,除0的時候一定要想清楚
  2. VPS服務器沒有開防火牆

2019年4月29日

  1. 高頻使用容器命令

apt-get update

wget -qO- https://get.docker.com/ | sh

wget -N --no-check-certificate “https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh” && chmod +x tcp.sh && ./tcp.sh

docker pull uifd/ui-for-docker

docker run -it -d --name docker-web -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock docker.io/uifd/ui-for-docker

mkdir -p ./mysql/data ./mysql/logs ./mysql/conf

cd mysql

docker pull mysql:5.6

docker run -p 3306:3306 --name mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6

docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
docker exec -it mysql /bin/bash

docker run -e ‘ACCEPT_EULA=Y’ -e ‘SA_PASSWORD=LIzhimin123’ -p 1433:1433 --name sql1 -d mcr.microsoft.com/mssql/server:2017-latest

CREATE DATABASE zstu DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

CREATE DATABASE userTest DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

attrib -s -a -h D:\mysql
‘’’

http://bhs.proof.ovh.net/files/10Gb.dat

100g http://repos.mia.lax-noc.com/speedtests/100gb.bin
10t http://repos.mia.lax-noc.com/speedtests/10tb.bin

2019年4月30日

  1. 時間戳靈活多變,應該交由前端處理

2019年5月4日

  1. 使用Windows的童鞋要特別注意:
    千萬不要使用Windows自帶的記事本編輯任何文本文件。原因是Microsoft開發記事本的團隊使用了一個非常弱智的行爲來保存UTF-8編碼的文件,他們自作聰明地在每個文件開頭添加了0xefbbbf(十六進制)的字符,你會遇到很多不可思議的問題,比如,網頁第一行可能會顯示一個“?”,明明正確的程序一編譯就報語法錯誤,等等,都是由記事本的弱智行爲帶來的。建議你下載Notepad++代替記事本,不但功能強大,而且免費!記得把Notepad++的默認編碼設置爲UTF-8 without BOM即可。
  2. C++寫一個模擬線程任務調度的工具

2019年5月6日

  1. https://github.com/wenfengshi/ddos-dos-tools

2019年5月7日

  1. maven版本不對會導致eclipse檢測不到setting.xml文件

2019年5月10日

java環境報錯
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.

  1. 打開系統變量Path,發現第一個路徑是:C:\ProgramData\Oracle\Java\javapath;
    原來運行時,系統自動尋找這個路徑下面的javapath,當然是會出錯了;
  2. 解決方法:將我們設置的JDK、JRE地址,放在第一個路徑的位置,就成功解決了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章