原创 設計模式之六大原則

1 概述 在面向對象的編程中,要實現一個功能,可以有非常多的方式。在多年的經驗積累總結下來,人們發現優秀的的代碼總是遵循一定的範式。其中23種設計模式(Design Patterns),就是前人對優秀代碼的編程範式的總結,是面向對

原创 解決pyinstaller打包的程序無法執行,提示Operation not permitted

前言 PyInstaller是一個強大的工具,它可以分析我們的python腳本,發現腳本執行所依賴的模塊,並將他們打包到一個文件夾,或者封裝成一個可執行文件(exe或者binary)。然後,我們就可以將這個文件(文件夾)放到其他機

原创 Java遞歸設置文件的用戶,組和權限

前言 自從1.7版本開始,Java引入了Nio包,提供了更強大的IO功能。 本文簡單介紹如何用java.nio.file.attribute下的工具類修改文件的權限,用戶和組。因爲本類庫是針對Posix類系統的的,所以主要適用於L

原创 深入理解ThreadLocal

前言 併發是Java開發中繞不開的一個話題。現代處理器都是多核心,想要更好地榨乾機器的性能,多線程編程是必不可少,所以,線程安全是每位Java Engineer的必修課。 應對線程安全問題,可大致分爲兩種方式: 同步: 用Sy

原创 OSI七層模型簡述

1 概述 我們每天都在用手機或者電腦等電子設備瀏覽網頁,收發郵件。有沒有想過爲什麼你在瀏覽器裏面輸入一個網址,就能打開一個頁面?爲什麼你寫了一封電子郵件,點擊發送,對方就能收到這封郵件?下面就來總結一下最近學習的知識。 2 七層模型 網絡

原创 Java反射調用報錯 java.lang.IllegalArgumentException: wrong number of arguments

問題描述 類Target.java有一個execute()方法,用一個String數組作爲參數 public class Target { public void execute(String[] args) {

原创 解決Unable to open debugger port錯誤

原因 IntelliJ Debug模式下,啓動Tomcat報錯Unable to open debugger port 可能的原因有二: 目標端口被佔用 文件權限不足 解決 目標端口占用 這種情況比較常見。Tomcat啓