原创 Docker未做防護,被拉去挖礦

我中獎了 一般都說redis容易中病毒,但是今天要說的是docker。 我們測試服務器未做docker的安全防護,開啓了私有倉庫的2357端口,導致 https://hub.docker.com/r/zoolu2/jauto中了這

原创 JVM規範的棧幀Frames

棧幀Frames   1. 代碼中方法的調用在JVM中轉換成的是字節碼執行,字節碼指令執行的數據結構就是棧幀(stack frame),也就是在虛擬機棧中的棧元素。   2. 棧幀是用來存儲數據和部分結果的數據結構,同時也用來處理

原创 對技術的追求

1. 專業基礎觀點     看似最枯燥、最基礎的東西往往具有最長久的生命力。所以,對於我們程序員成長過程中來說,最重要的是什麼?就是那些最基礎的知識。     不要天天談什麼框架,什麼庫,框架每年層出不窮,可是扒下框架那層炫酷漂亮

原创 JVM運行時數據區(Run-Time Data Areas)

JVM運行時數據區(Run-Time Data Areas)     今天在網上搜索了關於JVM運行時數據區的介紹,發現很多人對於這個基礎知識的理解偏差,簡單列舉幾個比如 有人認爲方法區在jdk8被移除了; 之後查閱了jdk8的JVM

原创 Java關於String問題

1. string常量問題 1.1. 運行時常量池與Class文件常量池區別 JVM對Class文件中每一部分的格式都有嚴格的要求,每一個字節用於存儲那種數據都必須符合規範上的要求才會被虛擬機認可、裝載和執行;但運行時常量池沒有這些限

原创 C語言之輸入輸出

輸入輸出 在C語言中,有三個函數可以用來在顯示器上輸出數據,它們分別是: puts():只能輸出字符串,並且輸出結束後會自動換行。 putchar():只能輸出單個字符。 printf():可以輸出各種類型的數據,在前面的很多章節中都

原创 服務部署與持續集成(二)

服務部署與持續集成(二) 使用Gogs 什麼是Gogs Gogs 是一款極易搭建的自助 Git 服務。Gogs 的目標是打造一個最簡單、最快速和最輕鬆的方式搭建自助 Git 服務。使用 Go 語 言開發使得 Gogs 能夠通過獨立的二

原创 服務部署與持續集成(一)

服務部署與持續集成(一) Dockerfile 什麼是Dockerfile? Dockerfile是由一系列命令和參數構成的腳本,這些命令應用於基礎鏡像並最終創建一個新的鏡像。 對於開發人員:可以爲開發團隊提供一個完全一致的開發環境

原创 如何避免在java中檢查null語句(多種解決方案)

1. 概述 通常,null的變量、引用和集合在Java代碼中很難處理。它們不僅很難辯別,而且處理起來也很複雜. 事實上,在編譯時無法識別處理null的任何錯誤,並在運行時導致NullPointerException異常. 在本教程中,

原创 SpringMVC的函數式編程

SpringMVC的函數式編程 Spring 5.0開始擁抱響應式ReactiveStreams特性,並介紹一種新的響應式Reactive技術棧來替代傳統的Servlet技術棧.而且它還爲開發者提供了函數時編程模型,但是這種編程模型只

原创 C語言之指針

指針 指針概念 計算機中所有的數據都必須放在內存中,不同類型的數據佔用的字節數不一樣,例如 int 佔用4個字節,char 佔用1個字節。爲了正確地訪問這些數據,必須爲每個字節都編上號碼,就像門牌號、身份證號一樣,每個字節的編號是唯一

原创 Springboot2.2版本的延遲初始化

Springboot2.2版本的延遲初始化 在最近公佈的Spring Boot 2.2的第一個里程碑,引入了延遲初始化的支持。這篇文章描述這個新功能,並解釋瞭如何以及何時啓用它。 懶惰Lazy是什麼意思? 自從11年前源代碼遷移到Gi

原创 C語言之文件操作

1. 文件操作 1.1. 文件概述 我們對文件的概念已經非常熟悉了,比如常見的 Word 文檔、txt 文件、源文件等。文件是數據源的一種,最主要的作用是保存數據。 在操作系統中,爲了統一對各種硬件的操作,簡化接口,不同的硬件設備也都

原创 淺談 RPC、RMI、REST 這些很繞的概念

什麼是 RPC RPC(Remote Procedure Call) 翻譯過來叫遠程過程調用,加上 Protocol 之後也有稱之爲遠程過程調用協議,可以由不同的語言實現,根據維基百科的解釋 —— RPC 指在分佈式環境下,一個計算機程序

原创 RPC基本架構解析

先貼一張圖,開局一張圖,等有時間一個一個解釋.