原创 Java中多線程協調

使用 synchronized修飾,表示該方法是加鎖的方法。使用相同this鎖的方法,在任意時刻只有一個方法會被執行,在多線程中是競爭關係。除此之外多線程還存在依賴關係。例如,一個線程須等待另一個線程返回結果後,才能繼續執行。Java中提供

原创 Java中多線程同步

Java使用多線程編程帶來的問題就是,多線程同時讀寫共享變量,會出現數據不一致的問題。 對於語句: n = n + 1; 對變量的賦值操作,實際上對應三條指令: ILOAD // 從內存中取出變量值 IADD // 對其加1操作

原创 天文學中常見的名詞解釋

一、天球(Celestial sphere): 是在天文學和導航上想出的一個與地球同圓心,並有相同的自轉軸,半徑無限大的球。天空中所有的物體都可以當成投影在天球上的物件。地球的赤道和地理極點投射到天球上,就是天球赤道和天極。天球是位置天文學

原创 深入 JavaScript 的執行上下文

JavaScript中的執行上下文指的就是JavaScript的執行環境。根據 ECMA-262的第六版規範定義: An execution context is a specification device that is used t

原创 線性代數-矩陣的初等變換

矩陣的初等變換是線性代數中的基本運算,初等變換包括三種初等行變換與三種初等列變換。分別爲: 對換變換,即i行與j行進行交換,記作ri <->rj; 數乘變換,非零常數k乘以矩陣的第i行,記作kri; 倍加交換,矩陣第i行的k倍加到第j行上

原创 線性代數-矩陣的分塊

矩陣分塊的意思是將一個大矩陣分隔爲幾個小的矩陣,將每個小的矩陣作爲新的矩陣元素。分塊可以降低大矩陣運算帶來的複雜性。分塊後的小矩陣,叫做矩陣的子塊,以字塊爲元素的形式上的矩陣叫做分塊矩陣。    如將矩陣A進行分塊,A11、A12、A21

原创 線性代數-方陣的逆陣

方陣的定義:對於矩陣Amn 當m=n時,A爲方陣; 逆陣定義:對於方陣A,使得AB = I = BA,則B爲A的逆陣。(I爲單位矩陣) 定理: A爲可逆矩陣,則其逆陣唯一,用符號A-1表示,記作: AA-1 = I = A-1A。 可逆矩陣

原创 線性代數-矩陣的運算

1、矩陣的加減法 定義 A = (aij)mxn 、B = (bij)mxn;是兩個同型矩陣(行數和列數分別相等),則矩陣A、B和定義爲:  只有同型矩陣才能進行加法計算 運算定律 交換律:A + B = B + A 結合律:(A +

原创 線性代數-矩陣的概念

矩陣在計算機中有大量的應用,尤其在WebGL中涉及到大量的矩陣運算。從頭開始學習一遍線性代數,使用的教材是《線性代數》第三版。 矩陣的定義 由m x n個元素,排成m行n列的數表。叫做m行n列矩陣,簡稱:m x n 矩陣。    其中:矩陣

原创 理解 CSS 中 transform matrix矩陣變換

一、概述 css中transform屬性中的 translate、scale、rotate、skew變換屬性均是通過matrix矩陣變換實現的。直接使用矩陣變換,實現位移、縮放、旋轉、傾斜等動畫,不夠直觀;實際開發中還是使用變換屬性多一點。

原创 JavaScript中的二進制對象

JavaScript中用於表示二進制對象有,Blob對象、和 ArrayBuffer 對象。其中 Blob 對象表示一個不可變、原始數據的類文件對象。可以理解爲磁盤上儲存的原始文件對象,它可以是儲存的二進制文件格式,也有可能經過編碼的文本格

原创 深入 JavaScript 時間對象 Date

程序中涉及到時間相關的概念,都比較繁瑣且易出錯。JavaScript中的瀏覽器內置的 Date 對象,相比較其他編程 簡單易用;相關方法一目瞭然。 1、Date 原型對象上的方法 Object.getOwnPropertyNames(Da

原创 javascript 閉包內部機制

在初學JavaScript函數式編程的時候,經常會出現令人出乎意料的結果,而原因,大都是由於不理解JavaScript閉包引起的;理解JavaScript的閉包,可以從JavaScript的閉包內部機制出發。 函數: function c

原创 Leaflet 調用百度瓦片地圖服務

在使用 leaflet 調用第三方瓦片地圖服務的項目,主要谷歌地圖、高德地圖、百度地圖和 OSM 地圖,與其他三種地圖對比,百度地圖的瓦片組織方式是不同的。百度從中心點經緯度(0,0)度開始計算瓦片,而谷歌地圖是從左上角經緯度(-180,9

原创 JavaScript中進制和字符編碼問題

1、進制: JavaScript中允許使用字面量的形式聲明不同進制的數字: var a = 0b10; // 2 聲明一個二進制 var b = 010; // 8 八進制,嚴格模式下會報錯 var c = 10; // 10 十