首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

開發者成長筆記:從工具配置到核心原理的 66 條實戰經驗

     編輯:Java 綜合教學

前言:養成記錄習慣,讓經驗沉澱為資產

見識到 8 年資深前輩仍堅持記筆記,方知「好記性不如爛筆頭」的真諦。本文整理自工作以來的 66 條實戰筆記,涵蓋 IDE 配置、構建工具、數據庫、版本控制、虛擬機、前端調試、核心原理等高頻場景,旨在幫助開發者快速定位問題、避坑提效。

一、IDE 深度定製(IDEA / Eclipse)

1. 字體與編輯體驗

  • 統一字體:Consolas / 常規 / 小五(IDEA 13pt),消除跨平台顯示差異
  • 列編輯模式:IDEA Alt+Shift+A / Eclipse Alt+Shift+A(自定義),多行同步編輯神器
  • 行寬限制:IDEA Settings → Code Style → Right margin (columns) / Eclipse Formatter → Line Wrapping → Maximum line width(建議 120-200)
  • 控制台無限輸出:Eclipse Run/Debug → Console → 取消 Limit console output

2. 項目結構與依賴管理

  • IDEA 模塊識別:右鍵模塊 Mark Directory as → Sources Root,解決類圖標異常
  • 依賴衝突排查:Project Structure → Modules → Dependencies,移除錯誤 JAR 重新導入
  • Maven 依賴修復:刪除 .m2/repository 下 lastUpdated 文件,執行 Maven → Update Project

二、版本控制實戰

  • Git 未安裝/路徑無效:安裝 Git 並配置 Settings → Version Control → Git → Path to Git executable
  • Clone 失敗:檢查 SSH Key 配置、網絡代理、倉庫地址正確性
  • 分支追蹤錯誤:IDEA 右下角 Git 分支面板 → Checkout 正確分支 → 刪除無用本地分支
  • 提交規範:.gitignore 屏蔽 .idea/*.iml/target/bin/*.jar 等產出物

三、構建與依賴管理

  • Maven 中央倉庫搜索:mvnrepository.com 直接複製坐標
  • 本地 JAR 安裝:mvn install:install-file -Dfile=xxx.jar -DgroupId=... -DartifactId=... -Dversion=... -Dpackaging=jar
  • 跳過測試打包:mvn clean package -DskipTests

四、數據庫高頻技巧

1. MySQL 進階查詢

  • 行轉列:CASE WHEN coach='a' THEN course END AS a 搭配聚合函數
  • IN 查詢保持順序:
    -- 方式一:FIELD()
    ORDER BY FIELD(id, 2628, 2629, 3786)
    -- 方式二:SUBSTRING_INDEX()
    ORDER BY SUBSTRING_INDEX('2628,2629,3786', id, 1)
  • 分頁優化:LIMIT 0,10 下標從 0 開始

2. 字符集遷移

導入數據前 統一修改字符集與排序規則:utf8 / utf8_general_ci,單獨修改其一會報錯。

五、虛擬機與 Linux 運維

1. VirtualBox 共享粘貼板/文件夾

  • 設置 雙向共享粘貼板 + 雙向拖放
  • 掛載共享文件夾:sudo usermod -aG vboxsf $USER → 重啟 → /media/sf_共享名
  • 權限不足:編輯 /etc/sudoers 添加 username ALL=(ALL) NOPASSWD: ALL

2. CentOS 核心操作

  • 修改 Root 密碼:su -root → passwd
  • Tomcat 配置修復:server.xml 配置 Context path docBase,缺少 classes 目錄導致 Servlet 404

六、Java 核心原理與避坑

  • 堆棧內存模型:new 對象在堆,引用變量在棧存首地址
  • 空數組優於 null:new int[0] 避免 length 拋 NPE
  • 序列化破壞單例:實現 readResolve() 返回唯一實例
  • Long 轉 Int 三法:強轉 (int)l / new Long(l).intValue() / Integer.parseInt(String.valueOf(l))
  • 集合轉換:new ArrayList<>(set) / list.addAll(set)

七、前端調試實用片段

  • 阻止表單回車提交:onkeypress="return event.keyCode!=13"
  • Checkbox 狀態控制:$("input:checked").length / $("#id").prop("checked", true)
  • JSON 雙引號轉義:str.replace(/"/g, '\\"') 解決 Unexpected identifier
  • 數組/集合長度區分:JS .length / Java .size()

八、其他高頻問題

  • Log4j 配置模板:控制台輸出 + 包級別級別控制
  • RoboMongo 連接認證:Database=admin + SCRAM-SHA-1
  • Excel 導出數字格式:setCellValue(Long.parseLong(val)) 消除綠色三角
  • 回車佔用字節:Windows \r\n 2 字節,Linux \n 1 字節

結語

筆記不在多而在精,不在全而在用。建議建立個人知識庫(Notion/Obsidian/GitBook),按 場景-問題-方案-原理 四維歸檔,定期回顧複盤,讓經驗真正轉化為競爭力。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved