原创 禁止前端頁面用戶打開HTML頁面調試功能的初級方法

禁止用戶打開HTML頁面調試 有些時候,我們可能想要禁止用戶修改或者調試我們HTML頁面的代碼,這個時候需要組織用戶打開調試窗口,下面介紹一些能夠阻止用戶在瀏覽器中打開調試窗口的方法,這些方法只能一定程度的提高打開調試的門檻,並不能完全杜

原创 HTTP、websocket、XMPP、COAP、MQTT和DDS協議對比

對於物聯網,最重要的是在互聯網中設備與設備的通訊,現在物聯網在internet通信中比較常見的通訊協議包括:HTTP、websocket、XMPP、COAP、MQTT 1、HTTP和websocket 在互聯網時代,TCP/IP協議已經一

原创 JCTools簡介-增強的併發工具

JCTools 早在96年就有論文提出了無鎖隊列的概念,再到後來 Disruptor,高性能已得到生產的驗證。此處介紹的 Jctools 中的高性能隊列,其性能絲毫不輸於 Disruptor。 JCTools (Java Concurre

原创 MpscGrowableArrayQueue分析

概要 MpscGrowableArrayQueue是JCTools裏的一個工具,是對於特定場景化的定製,即MPSC(Multi-Producer & Single-Consumer),在這種場景下,相對於BlockingQueue,能夠滿

原创 HashedWheelTimer時間輪原理分析

概要 時間輪是一種非常驚豔的數據結構。其在Linux內核中使用廣泛,是Linux內核定時器的實現方法和基礎之一。Netty內部基於時間輪實現了一個HashedWheelTimer來優化I/O超時的檢測,本文將詳細分析HashedWheel

原创 Java中幾種高性能的隊列

一、阻塞隊列     由於阻塞隊列(BlockingQueue)是加了鎖的,所以在阻塞隊列是一個性能瓶頸,影響中間件傳輸數據速度。 二、disruptor     Disruptor是一個無鎖高性能安全的隊列 三、JCTools     

原创 Echarts 折線圖最後一個點發光閃爍效果

效果如下: 實現方式: // 基於準備好的dom,初始化echarts實例 var myChart = echarts.init(document .getElementById('main')); //數據加載完之前先顯示

原创 Quill富文本編輯器—多圖片視頻混合上傳示例

Quill is a modern WYSIWYG editor built for compatibility and extensibility. https://quilljs.com Quill 的使用 快速開始 開始構建一個qu

原创 mysql8 bigint類型和datetime類型的轉換

TLDR 在 Mysql 8 中使用 datetime 在 Mysql 5 中使用 bigint 辨析 timestamp 這種數據類型的時間範疇有限,基本被淘汰了,不要考慮。 datetime 在 mysql 5 中,datetime

原创 JavaScript中Null和Undefined的區別

Null: null是js中的關鍵字,表示空值,null可以看作是object的一個特殊的值,如果一個object值爲空,表示這個對象不是有效對象。 Undefined: undefined不是js中的關鍵字,其是一個全局變量,是Glob

原创 Echarts數據可視化特效散點圖點動態閃爍效果

效果如下: Echarts數據可視化series-effectscatter特效散點圖全解 mytextStyle={ color:"#333", //文字顏色 fontStyle:"nor

原创 HttpClient、HttpURLConnection、OKHttp和Volley

今天突然想起有必要總結一下市面上通用的一些網絡請求方式,主要通過分析其優缺點和性能,爲以後選擇網絡請求連接方式提供支持。現在常用的網絡請求方式主要有:HttpClient、HttpURLConnection、OKHttp和Volley。

原创 禁止用戶打開HTML頁面調試

禁止用戶打開HTML頁面調試 有些時候,我們可能想要禁止用戶修改或者調試我們HTML頁面的代碼,這個時候需要組織用戶打開調試窗口,下面介紹一些能夠阻止用戶在瀏覽器中打開調試窗口的方法,這些方法只能一定程度的提高打開調試的門檻,並不能完全杜

原创 用setTimeout代替setInterval

解決setInterval佔用內存問題,用setTimeout代替 /*************************************************** * tomTimer 自定義定時器方法,解決setInterv

原创 JavaScript中清空數組的三種方式對比以及JavaScript常用數組操作方法

方式1,splice var ary = [1,2,3,4]; ary.splice(0,ary.length); console.log(ary); // 輸出 [],空數組,即被清空了 定義和用法 splice() 方法向/從數組