原创 JS的函數式編程範式

一、認識函數式編程 爲什麼學習函數式編程?學吧,不學幹啥,js太原始了,得接收新事物,就很帥,裏面的概念,學的暈乎乎,最直觀的感受就是,套娃 函數式編程是隨着React的流行受到關注的 Vue3開始擁抱函數式編程 函數式編程可以拋棄thi

原创 學習apply()方法的使用,記錄一下

網上大牛,說的很直接,劫持另外一個對象(a)的方法,繼承a的屬性., 我個人理解,就是把你的變成我的. 1.對象的繼承,一般的做法是複製:Object.extend 下面是prototype.js的實現方式是:傳入兩個對象,把source裏

原创 Json文件轉換爲Excel文件!涉及讀文件,時間戳轉化,寫文檔

一. 思路 今天接到個小任務,讓把json文件轉換成excel文件,按照列展開. 思路:既然json已經都已經是現成的,那直接將json文件做讀操作,在通過不同的key,找到對應的信息,在存到單元格中,在寫操作,生成excel文檔 二.ja

原创 Redis的最常被問到知識點總結

1.什麼是redis?    Redis 是一個基於內存的高性能key-value數據庫。  2.Reids的特點      Redis本質上是一個Key-Value類型的內存數據庫,很像memcached,整個數據庫統統加載在內存當中進行

原创 DML、DDL、DCL是什麼?

一、DML   DML(data manipulation language)數據操縱語言:     我們經常會用到的 INSERT、DELETE、UPDATE、SELECT語句。 主要用來對數據庫的數據進行一些操作。 INSERT IN

原创 手撕ArrayList

不多BB,直接上代碼: public class MyArrayList { //創建數組對象 private Object[] elements; //已使用數組長度 private int si

原创 刨死你係列——LinkedHashMap剖析(基於jdk1.8)

一、概述   1.8版本的LinkedHashMap 繼承自 HashMap,在 HashMap(數組鏈表+紅黑樹) 基礎上,通過維護一條雙向鏈表,解決了 HashMap 不能隨時保持遍歷順序和插入順序一致的問題。除此之外,LinkedHa

原创 mysql架構與存儲引擎 (Myisam與Innodb)

mysql抽象架構:可以分爲SQL Layer和Storage Engine Layer mysql的engine層是基於表的,不是基於庫的,創建表的語句可以指定engine Mysql的架構  Mysql 架構器中各個模塊都是什麼? (

原创 刨死你係列——HashMap(jdk1.8)

本文的源碼是基於JDK1.8版本,在學習HashMap之前,先了解數組和鏈表的知識。 數組:數組具有遍歷快,增刪慢的特點。數組在堆中是一塊連續的存儲空間,遍歷時數組的首地址是知道的(首地址=首地址+元素字節數 * 下標),所以遍歷快(數組遍

原创 基於LinkedhashMap實現的LRU算法

LRU全稱是Least Recently Used,即最近最久未使用的意思。LRU算法的設計原則是:如果一個數據在最近一段時間沒有被訪問到,那麼在將來它被訪問的可能性也很小。也就是說,當限定的空間已存滿數據時,應當把最久沒有被訪問到的數據淘

原创 面試有關TCP常問的幾個問題

在面試中網絡問題是一定會考察的,而TCP協議則是考察網絡知識的重點。經常會被問道的問題如下: 請講一下TCP協議建立連接的過程 請介紹TCP協議中的三次握手和四次揮手是怎麼樣的 爲什麼TCP協議要三次握手來確立連接,而不是兩次,也不是4次

原创 Java併發的背景

在操作系統中,併發是指一個時間段中有幾個程序都處於已啓動運行到運行完畢之間,且這幾個程序都是在同一個處理機上運行,但任一個時刻點上只有一個程序在處理機上運行。 併發與操作系統的生命歷程息息相關。進程的出現,使得程序狀態的保存變爲現實,爲進

原创 Java 併發:學習Thread 類

Java 中 Thread類 的各種操作與線程的生命週期密不可分,瞭解線程的生命週期有助於對Thread類中的各方法的理解。一般來說,線程從最初的創建到最終的消亡,要經歷創建、就緒、運行、阻塞 和 消亡 五個狀態(想要了解線程進程的關係可以

原创 Java 併發:內置鎖 Synchronized

在多線程編程中,線程安全問題是一個最爲關鍵的問題,其核心概念就在於正確性,即當多個線程訪問某一共享、可變數據時,始終都不會導致數據破壞以及其他不該出現的結果。而所有的併發模式在解決這個問題時,採用的方案都是序列化訪問臨界資源 。在 Java

原创 進程上下文切換與和線程上下文切換有什麼不同?

1.首先,需要搞明白什麼是上下文切換?上下文切換就是從當前執行任務切換到另一個任務執行的過程。但是,爲了確保下次能從正確的位置繼續執行,在切換之前,會保存上一個任務的狀態。 2. 然後,需要明白進程與線程的區別?(網上很多,這裏簡單說明)