搜尋
首頁後端開發php教程PHP 程式設計師快速進行Java 開發

PHP 程式設計師快速進行Java 開發

Dec 06, 2017 am 10:29 AM
javaphp程式設計師

PHP 程式設計師快速進行Java 開發,就好比我們拿著放大鏡在學習 java 一樣,java 經過這麼多年的發展,可以說非常龐大。學習新的語言也一樣,有很多很多網路上的教程,非常的大而全,一般得係統的學習30~60小時後才能正式的接觸項目開發。基礎很重要,但是學習了太多的基礎會讓大家失去學習的樂趣和自信。很多知識點其實可以專案之後再補。按需去學,反而是自我驅動著去學習的最佳方式。

PHP 程式設計師快速進行Java 開發

例如hashmap 的哈希分佈、哈希碰撞、動態擴容,這些都是我們後期深入提高需要理解的內容,初期,我們只需要知道能拿hashmap做什麼就行。

以實現自己熟悉的東西為導向

例如我們做 Web 後端 api 開發,首先是常用的循環/迭代、條件判斷、增刪改成。那能不能快速用 java 實作一遍這些我們用 php 做起來非常順手的事呢?

這樣有助於我們快速提升自信心。

使用類比的學習方法

PHP 裡如何實現,重新用 java 實作一遍就行了。

最後深入系統的學習

當自己實作了一些小 demo 再去參考別人的專案。如果一開始就直接看別人的項目,可能完全不知道別人在幹嘛。例如別人用了 ConcurrentHashMap ,就去思考為什麼我用 HashMap 他卻用 ConcurrentHashMap ,帶著問題,帶著思考去看開源程式碼。

完成了一些簡單的專案了之後就可以再回過頭來系統的學習了。這時候就會有不一樣的收穫。

最後就是當專案需要調優,效能提升的時候,再各個擊破,深入學習,更有針對性,更有目標性。

實戰開始

我們用 netty 來提供高效能的 web 服務服務。使用簡單方便(netty 不簡單),不依賴其他軟體。然後思考完成一個簡單的 web api 伺服器需要哪些必不可少的組成部分。 (其實在思考這件事的時候,你必須要對做簡單的架構必須熟記於心)。

我簡單概括了下:

  1. java 基礎資料型態(php 也有,不怕)

  2. java 集合框架( php 有數組,很強大)

  3. 初識maven(php 有composer)

  4. 反射(框架路由等地方要用到,php也有)

  5. 序列化(資料傳輸要用到,php 沒有複雜的資料結構要簡單N 倍)

  6. jdbc (資料庫操作要用到,php 有pdo)

  7. 大概認識泛型、註解等語法(可選)

  8. 使用netty 實戰開發一個web api 服務(php 有swoole)

Java 基本的資料結構、各種基本資料型別包裝類別

PHP 程式設計師快速進行Java 開發

##Java - Collections Framework 高頻類別範例

PHP 程式設計師快速進行Java 開發

HashSet 是沒有重複元素的集合。它是由HashMap實現的,不保證元素的順序,也就是說所說元素插入的順序與輸出的順序不一致。

這其實是我的老朋友了,redis 裡經常用,比如咱們可以它來實現一個黑名單,這樣查找的速度就非常快,也不用去遠程查詢redis 了,直接在當前內存中查詢。

ArrayList 基於數組來實現集合的功能,其內部維護了一個可變長的物件數組,集合內所有物件儲存於這個數組中,並實現該數組長度的動態伸縮。

這不就是我們的 PHP 裡面常用的索引陣列麼?

HashMap 以哈希表資料結構實現,在查找物件時透過雜湊函數計算其位置,它是為快速查詢而設計的。特點就是快,非線程安全。

初識maven

Maven的基本原理很簡單,採用遠端倉庫和本地倉庫以及一個核心的設定檔pom.xml,pom.xml中定義的jar檔從遠端倉庫下載到本地倉庫,各個專案使用同一個本地倉庫的jar,同一個版本的jar只需下載一次,並且避免每個應用程式都去拷貝jar。

這和 php 的套件管理工具 composer 很像,或是 composer 是參考 maven 而設計的。 maven 的功能更強大,composer 需要每個專案都要導入一遍,maven 卻像git 一樣,有一個本地倉庫,第三方包也不會直接引用到專案中,而是在編譯的時候才會引入(是不是很方便)。另一方面,maven 不僅僅是套件管理工具,而且是一個專案管理工具,整合了編譯、打包、單元測試等功能。

實作控制器的存取

特定需求:提供一個 api 可以使用者指定使用者的資訊

定義介面:

http://localhost:10000/users/{id}
http://localhost:10000/?method=user.get&id={id}
 

可能現在大家早已習慣了前者 restful 的 api 介面。

因為這裡需要一次路由的映射和 http method 的匹配,考慮到學習的成本呢,我沒有選擇這種方式。

我們今天的目標是以最簡單有效的方式實現我們的功能。

我們先從最簡單的方式來實現(其實沒有路由的 api 反而是最快的,畢竟需要做的判斷少)。

以上內容就是PHP 程式設計師如何快速進行Java 開發,希望能幫助大家。

相關推薦:

一個PHP檔案上傳類別分享_php實例

#php圖片浮水印新增、壓縮、剪下的封裝類別

史上最完整的PHP正規表示式_正規表示式

以上是PHP 程式設計師快速進行Java 開發的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
哪些常見問題會導致PHP會話失敗?哪些常見問題會導致PHP會話失敗?Apr 25, 2025 am 12:16 AM

PHPSession失效的原因包括配置錯誤、Cookie問題和Session過期。 1.配置錯誤:檢查並設置正確的session.save_path。 2.Cookie問題:確保Cookie設置正確。 3.Session過期:調整session.gc_maxlifetime值以延長會話時間。

您如何在PHP中調試與會話相關的問題?您如何在PHP中調試與會話相關的問題?Apr 25, 2025 am 12:12 AM

在PHP中調試會話問題的方法包括:1.檢查會話是否正確啟動;2.驗證會話ID的傳遞;3.檢查會話數據的存儲和讀取;4.查看服務器配置。通過輸出會話ID和數據、查看會話文件內容等方法,可以有效診斷和解決會話相關的問題。

如果session_start()被多次調用會發生什麼?如果session_start()被多次調用會發生什麼?Apr 25, 2025 am 12:06 AM

多次調用session_start()會導致警告信息和可能的數據覆蓋。 1)PHP會發出警告,提示session已啟動。 2)可能導致session數據意外覆蓋。 3)使用session_status()檢查session狀態,避免重複調用。

您如何在PHP中配置會話壽命?您如何在PHP中配置會話壽命?Apr 25, 2025 am 12:05 AM

在PHP中配置會話生命週期可以通過設置session.gc_maxlifetime和session.cookie_lifetime來實現。 1)session.gc_maxlifetime控制服務器端會話數據的存活時間,2)session.cookie_lifetime控制客戶端cookie的生命週期,設置為0時cookie在瀏覽器關閉時過期。

使用數據庫存儲會話的優點是什麼?使用數據庫存儲會話的優點是什麼?Apr 24, 2025 am 12:16 AM

使用數據庫存儲會話的主要優勢包括持久性、可擴展性和安全性。 1.持久性:即使服務器重啟,會話數據也能保持不變。 2.可擴展性:適用於分佈式系統,確保會話數據在多服務器間同步。 3.安全性:數據庫提供加密存儲,保護敏感信息。

您如何在PHP中實現自定義會話處理?您如何在PHP中實現自定義會話處理?Apr 24, 2025 am 12:16 AM

在PHP中實現自定義會話處理可以通過實現SessionHandlerInterface接口來完成。具體步驟包括:1)創建實現SessionHandlerInterface的類,如CustomSessionHandler;2)重寫接口中的方法(如open,close,read,write,destroy,gc)來定義會話數據的生命週期和存儲方式;3)在PHP腳本中註冊自定義會話處理器並啟動會話。這樣可以將數據存儲在MySQL、Redis等介質中,提升性能、安全性和可擴展性。

什麼是會話ID?什麼是會話ID?Apr 24, 2025 am 12:13 AM

SessionID是網絡應用程序中用來跟踪用戶會話狀態的機制。 1.它是一個隨機生成的字符串,用於在用戶與服務器之間的多次交互中保持用戶的身份信息。 2.服務器生成並通過cookie或URL參數發送給客戶端,幫助在用戶的多次請求中識別和關聯這些請求。 3.生成通常使用隨機算法保證唯一性和不可預測性。 4.在實際開發中,可以使用內存數據庫如Redis來存儲session數據,提升性能和安全性。

您如何在無狀態環境(例如API)中處理會議?您如何在無狀態環境(例如API)中處理會議?Apr 24, 2025 am 12:12 AM

在無狀態環境如API中管理會話可以通過使用JWT或cookies來實現。 1.JWT適合無狀態和可擴展性,但大數據時體積大。 2.Cookies更傳統且易實現,但需謹慎配置以確保安全性。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能