原创 不用netty實現OIO和NIO連接通信

首先是 OIO server端的 package com.fk.testIO; import java.io.IOException; import java.io.InputStream; import java.io.Ou

原创 線程池閱讀

博客地址 類繼承的結構 [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-OYI3uqsH-1574346852727)(…/…/…/…/uploads/javasource/util/executor

原创 linux查看內存和cpu使用情況

最近總覺得使用firefox 時候電腦就會有點慢,覺得不大應該啊,於是就看了看電腦的內存的使用情況 只需要輸入 free -m 就可以查看電腦內存使用情況,具體如下: 然後繼續查看電腦的cpu使用情況: top 在這發

原创 HashMap閱讀 (1.8|1.7)

博客地址 HashMap 內部默認的參數 變量 值 含義 DEFAULT_INITIAL_CAPACITY 16 默認容量 MAXIMUM_CAPACITY 1 << 30 最大容量 DEFAULT_LOA

原创 aqs源碼

aqs AQS(AbstractQueuedSynchronizer)是JAVA中衆多鎖以及併發工具的基礎,其底層採用樂觀鎖,大量使用了CAS操作, 並且在衝突時,採用自旋方式重試,以實現輕量級和高效地獲取鎖。 AQS雖然被定義爲

原创 PyCharm激活碼

CNEKJPQZEX-eyJsaWNlbnNlSWQiOiJDTkVLSlBRWkVYIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaWduZWVOYW1lIjoiIiwiYXNzaWduZWVF

原创 guava——集合(1)

2.1不可變集合 當對象被不可信的庫調用時,不可變形式是安全的; 不可變對象被多個線程調用時,不存在競態條件問題 不可變集合不需要考慮變化,因此可以節省時間和空間。所有不可變的集合都比它們的可變形式有更好的內存利用率(分析和測試

原创 如何在Ubuntu上安裝最新版本的Node.js

Node.js是一個軟件平臺,通常用於構建大規模的服務器端應用。Node.js使用JavaScript作爲其腳本語言,由於其非阻塞I/O設計以及單線程事件循環機制,使得它可以交付超高的性能。 Node.js包含了Google V8

原创 深入理解volatile

java編程語言允許線程訪問共享變量,爲了確保共享變量能被準確和一致的更新,線程應該確保通過排他鎖單獨獲得這個變量。java語言提供了volatile,在某些情況下比鎖更加方便。如果一個字段被聲明成volatile,java線程

原创 設計模式——工廠模式

工廠模式 介紹 定義一個創建對象的接口,讓其子類自己決定實例化哪一個工廠類,工廠模式使其創建過程延遲到子類進行。(創建型模式) 使用場景 例如orm框架,在選擇數據庫的時候只需要替換方言和驅動,不需要對已經實現的具體細節進行改動。

原创 shell腳本數組報錯Syntax error: "(" unexpected

按照正常的shell數組定義 #!/bin/sh a=(1 2 3) for number in a[@]doecho number done 執行該腳本,在有的機器上會報錯Syntax error: “(” unex

原创 深入分析ConcurrentHashMap

HashMap的問題 HashMap是不支持併發操作的,多線程情況下HashMap可能會導致死循環的發生,導致CPU佔用率達到100%。 Hash表的數據結構 HashMap通常會用一個指針數組(假設爲table[])來做分散所有

原创 ReentrantLock閱讀

ReentrantLock ReentrantLock是一個互斥鎖,也是一個可重入鎖。ReentrantLock鎖在同一時刻只能被一個線程持有,但是它可被單個線程多次獲取,每獲取一次AQS的state就加1。 ReentrantL

原创 github個人博客(hexo+next)

已經做完了,直接看 我的博客: http://fk5431.com/ 引流 引流 引流 點贊 1 收藏 分享 文章舉報 fk5431 發佈了196 篇原創文章 · 獲贊

原创 guava——集合(2)

guava提供了很多關於集合的工具方法,適用於所有集合的靜態方法。 集合接口 屬於JDK還是Guava 對應的Guava工具類 Collection JDK Collections2:不要和java.util.Coll