1. 有哪些Java web里的並發框架,都有哪些
一、並發是一種需求,以下先介紹一下javaweb對於高並發的處理思路:
1、synchronized 關鍵字
可用來給對象和方法或者代碼塊加鎖,當它鎖定一個方法或者一個代碼塊的時候,同一時刻最多隻有一個線程執行這段代碼。可能鎖對象包括: this, 臨界資源對象,Class 類對象
2、同步方法
同步方法鎖定的是當前對象。當多線程通過同一個對象引用多次調用當前同步方法時, 需同步執行。
3、同步代碼塊
同步代碼塊的同步粒度更加細致,是商業開發中推薦的編程方式。可以定位到具體的同步位置,而不是簡單的將方法整體實現同步邏輯。在效率上,相對更高。
A)鎖定臨界對象
同步代碼塊在執行時,是鎖定 object 對象。當多個線程調用同一個方法時,鎖定對象不變的情況下,需同步執行。
B)鎖定當前對象
4、鎖的底層實現
Java 虛擬機中的同步(Synchronization)基於進入和退出管程(Monitor)對象實現。同步方法 並不是由 monitor enter 和 monitor exit 指令來實現同步的,而是由方法調用指令讀取運行時常量池中方法的 ACC_SYNCHRONIZED 標志來隱式實現的。
5、鎖的種類
Java 中鎖的種類大致分為偏向鎖,自旋鎖,輕量級鎖,重量級鎖。
鎖的使用方式為:先提供偏向鎖,如果不滿足的時候,升級為輕量級鎖,再不滿足,升級為重量級鎖。自旋鎖是一個過渡的鎖狀態,不是一種實際的鎖類型。
鎖只能升級,不能降級。
6、volatile 關鍵字
變數的線程可見性。在 CPU 計算過程中,會將計算過程需要的數據載入到 CPU 計算緩存中,當 CPU 計算中斷時,有可能刷新緩存,重新讀取內存中的數據。在線程運行的過程中,如果某變數被其他線程修改,可能造成數據不一致的情況,從而導致結果錯誤。而 volatile 修飾的變數是線程可見的,當 JVM 解釋 volatile 修飾的變數時,會通知 CPU,在計算過程中, 每次使用變數參與計算時,都會檢查內存中的數據是否發生變化,而不是一直使用 CPU 緩存中的數據,可以保證計算結果的正確。
更多、此外還有很多細節需要通過學習去了解和完善,此處就不一一列舉了。
二、並發框架
並發框架很多,如ExecutorService、RxJava、Disruptor、Akka等,具體選擇哪個(或者都不選擇)是根據項目需求選擇的,框架本身的差異並不大,基本都是如下模式
2. 如何處理高並發
問題一:java程序員面試時被問到:如何在j2ee項目中處理高並發量訪問? 該怎麼回答? 請仔細看題干再回答 blog.csdn/y_h_t/article/details/6322823
你是一名java程序員,這些應該知道些吧
問題二:如何處理高並發帶來的系統性能問題 那必須了解linux中的基本使用,比如如何找到某個路徑,如何打開一個文件,如何編輯修改一個文件等等,那就是linux中命令的使用;還有就是必須知道linux伺服器中所用的什麼伺服器(有weblogic、websphere等等);精通相關伺服器的重要屬性配置等等。
問題三:JAVA中高訪問量高並發的問題怎麼解決? 你指的高並發量大概有多少?
幾點需要注意:
盡量使用緩存,包括用戶緩存,信息緩存等,多花點內存來做緩存,可以大量減少與資料庫的交互,提高性能。
用jprofiler等工具找出性能瓶頸,減少額外的開銷。
優化資料庫查詢語句,減少直接使用hibernate等工具的直接生成語句(僅耗時較長的查詢做優化)。
優化資料庫結構,多做索引,提高查詢效率。
統計的功能盡量做緩存,或按每天一統計或定時統計相關報表,避免需要時進行統計的功能。
能使用靜態頁面的地方盡量使用,減少容器的解析(盡量將動態內容生成靜態html來顯示)。
解決以上問題後,使用伺服器集群來解決單台的瓶頸問題。
基本上以上述問題解決後,達到系統最優。
至於樓上有人提到別用JAVA來做,除非是低層的連接數過大(如大量的埠佔用需求),這種情況下考慮直接C來寫,其他的可臘簡以用JAVA來做。
問題四:項目中怎麼控制多線程高並發訪問 synchronized關鍵字主要解決多線程共享數據同步問題。
ThreadLocal使用場合主要解決多線程中數據因並發產生不一致問題。
ThreadLocal和Synchonized都用於解決多線程並發訪問。但是ThreadLocal與synchronized有本質的區別:
synchronized是利用鎖的機制,使變數或代碼塊在某一時該只能被困返一個線程訪問。而ThreadLocal為每一個線程都提供汪局飢了變數的副本,使 得每個線程在某一時間訪問到的並不是同一個對象,這樣就隔離了多個線程對數據的數據共享。而Synchronized卻正好相反,它用於在多個線程間通信 時能夠獲得數據共享。
Synchronized用於線程間的數據共享,而ThreadLocal則用於線程間的數據隔離。當然ThreadLocal並不能替代synchronized,它們處理不同的問題域。Synchronized用於實現同步機制,比ThreadLocal更加復雜。
1、Java中synchronized用法
使用了synchronized關鍵字可以輕松地解決多線程共享數據同步問題。
synchronized關鍵字可以作為函數的修飾符,也可作為函數內的語句,也就是平時說的同步方法和同步語句塊。如果再細的分 類,synchronized可作用於instance變數、object reference(對象引用)、static函數和class literals(類名稱字面常量)身上。
synchronized取得的鎖都是對象;每個對象只有一個鎖(lock)與之相關聯;實現同步是要很大的系統開銷作為代價的,甚至可能造成死鎖,所以盡量避免無謂的同步控制。
問題五:如何處理高並發或列舉處理高並發的業務邏輯 1、提高系統的並發能力2、減輕資料庫的負擔這兩種用途其實非常容易理解。由於memcached高性能,所以可以同時服務於更多的連接,大大提高了系統的並發處理的能力。另外,memcached 通常部署在業務邏輯層(前台應用)和存儲層(主指資料庫)之間,作為資料庫和前台應用的數據緩沖,因此可以快速的響應前端的請求,減少對資料庫的訪問。
問題六:資料庫怎樣處理高並發 1.用一個標識,在選擇那張票的時候先用(Update 表 set 票flag=『佔用了!』 where 票flag=『未佔用』 and ........)這樣是保險的,不可能存在並發問題,這就牽扯到sql鎖機制問題了,你可以測試一下,其實sql中update是先查詢出然後刪除再添加,但由於使用了update,過程中就自動加鎖了,很方便吧2.加鎖。Microsoft® SQL Server™ 2000 使用鎖定確保事務完整性和資料庫一致性。鎖定可以防止用戶讀取正在由其他用戶更改的數據,並可以防止多個用戶同時更改相同數據。如果不使用鎖定,則資料庫中的數據可能在邏輯上不正確,並且對數據的查詢可能會產生意想不到的結果。雖然 SQL Server 自動強制鎖定,但可以通過了解鎖定並在應用程序中自定義鎖定來設計更有效的應用程序。
問題七:資料庫怎樣處理高並發 理論上不限制並發連接數的.就是伺服器受硬體的限制.過高的並發是會使伺服器無法完成並發任務,而造成伺服器死機或者假死機.不過資料庫軟體可以優化並發連接,使並發持續的時間更短,以減起伺服器的負擔,但是一台伺服器不能完成幾十萬的並發.
問題八:如何處理大量數據並發操作 如何處理大量數據並發操作
文件緩存,資料庫緩存,優化sql,數據分流,資料庫表的橫向和縱向劃分,優化代碼結構!
鎖述的概
一. 為什麼要引入鎖
多個用戶同時對資料庫的並發操作時會帶來以下數據不一致的問題:
丟失更新
A,B兩個用戶讀同一數據並進行修改,其中一個用戶的修改結果破壞了另一個修改的結果,比如訂票系統
臟讀
A用戶修改了數據,隨後B用戶又讀出該數據,但A用戶因為某些原因取消了對數據的修改,數據恢復原值,此時B得到的數據就與資料庫內的數據產生了不一致
不可重復讀
A用戶讀取數據,隨後B用戶讀出該數據並修改,此時A用戶再讀取數據時發現前後兩次的值不一致
並發控制的主要方法是封鎖,鎖就是在一段時間內禁止用戶做某些操作以避免產生數據不一致
二 鎖的分類
鎖的類別有兩種分法:
1. 從資料庫系統的角度來看:分為獨占鎖(即排它鎖),共享鎖和更新鎖
MS-SQL Server 使用以下資源鎖模式。
鎖模式 描述
共享 (S) 用於不更改或不更新數據的操作(只讀操作),如 SELECT 語句。
更新 (U) 用於可更新的資源中。防止當多個會話在讀取、鎖定以及隨後可能進行的資源更新時發生常見形式的死鎖。
排它 (X) 用於數據修改操作,例如 INSERT、UPDATE 或 DELETE。確保不會同時同一資源進行多重更新。
意向鎖 用於建立鎖的層次結構。意向鎖的類型為:意向共享 (IS)、意向排它 (IX) 以及與意向排它共享 (SIX)。
架構鎖 在執行依賴於表架構的操作時使用。架構鎖的類型為:架構修改 (Sch-M) 和架構穩定性 (Sch-S)。
大容量更新 (BU) 向表中大容量復制數據並指定了 TABLOCK 提示時使用。
共享鎖
共享 (S) 鎖允許並發事務讀取 (SELECT) 一個資源。資源上存在共享 (S) 鎖時,任何其它事務都不能修改數據。一旦已經讀取數據,便立即釋放資源上的共享 (S) 鎖,除非將事務隔離級別設置為可重復讀或更高級別,或者在事務生存周期內用鎖定提示保留共享 (S) 鎖。
更新鎖
更新 (U) 鎖可以防止通常形式的死鎖。一般更新模式由一個事務組成,此事務讀取記錄,獲取資源(頁或行)的共享 (S) 鎖,然後修改行,此操作要求鎖轉換為排它 (X) 鎖。如果兩個事務獲得了資源上的共享模式鎖,然後試圖同時更新數據,則一個事務嘗試將鎖轉換為排它 (X) 鎖。共享模式到排它鎖的轉換必須等待一段時間,因為一個事務的排它鎖與其它事務的共享模式鎖不兼容;發生鎖等待。第二個事務試圖獲取排它 (X) 鎖以進行更新。由於兩個事務都要轉換為排它 (X) 鎖,並且每個事務都等待另一個事務釋放共享模式鎖,因此發生死鎖。
若要避免這種潛在的死鎖問題,請使用更新 (U) 鎖。一次只有一個事務可以獲得資源的更新 (U) 鎖。如果事務修改資源,則更新 (U) 鎖轉換為排它 (X) 鎖。否則,鎖轉換為共享鎖。
排它鎖
排它 (X) 鎖可以防止並發事務對資源進行訪問。其它事務不能讀取或修改排它 (X) 鎖鎖定的數據。
意向鎖
意向鎖表示 SQL Server 需要在層次結構中的某些底層資源上獲取共享 (S) 鎖或排它 (X) 鎖。例如,放置在表級的共享意向鎖表示事務打算在表中的頁或行上放置共享 (S) 鎖。在表級設置意向鎖可防止另一個事務隨後在包含那一頁的表上獲取排它 (X) 鎖。意向鎖可以提高性能,因為 SQL Server 僅在表級檢查意向鎖來確定事務是否可以安全地獲取該表上的鎖。而無須檢查表中的每行或每頁上的鎖......>>
問題九:高並發是什麼和如何解決 資料庫建立多表關聯,關鍵業務數據欄位和查詢欄位建立索引,對唯一性建立好,同時多任務並發時程序設計時注意數據的合理性檢驗和用戶處理數據有問題時的友好提示見面,建立好的結構文檔說明,同時對關鍵欄位的關系型作好記錄,有效地設計多表的結構安排,盡量減少數據的冗餘,同時又要避免對歷史數據的影響,保持良好的數據管理
問題十:如何處理高並發量的HTTP請求 盡量減少頁面的HTTP請求,可以提高頁面載入速度。減少頁面中的元素網頁中的的圖片、form、flash等等元素都會發出HTTP請求,盡可能的減少頁面中非必要的元素,可以減少HTTP請求的次數。
3. 前端開發工程師(高並發)是做什麼的
web前端和前端開發工程師區別如下:
- Web前端:
1)精通HTML,能夠書寫語義合理,結構清晰,易維護的HTML結構。
2)精通CSS,能夠還原視覺設計,並兼容業界承認的主流瀏覽器。
3)熟悉JavaScript,了解ECMAScript基礎內容,掌握1~2種js框架,如JQuery
4)對常見的瀏覽器兼容問題有清晰的理解,並有可靠的解決方案。
5)對性能有一定的要求,了解yahoo的性能優化建議,並可以在項目中有效實施。
6)......
- Web後端:
1)精通jsp,servlet,java bean,JMS,EJB,Jdbc,Flex開發,或者對相關的工具、類庫以及框架非常熟悉,如Velocity,Spring,Hibernate,iBatis,OSGI等,對Web開發的模式有較深的理解
2)練使用oracle、sqlserver、mysql等常用的資料庫系統,對資料庫有較強的設計能力
3)熟悉maven項目配置管理工具,熟悉tomcat、jboss等應用伺服器,同時對在高並發處理情況下的負載調優有相關經驗者優先考慮
4)精通面向對象分析和設計技術,包括設計模式、UML建模等
5)熟悉網路編程,具有設計和開發對外API介面經驗和能力,同時具備跨平台的API規范設計以及API高效調用設計能力
4. 計算機前端是什麼
問題一:計算機前端是什麼是計算機的哪一個種類 前端是近幾年才提出來的,前端開發簡單來說就是:網站,移動web等頁面開發。相比於傳統網頁製作得要求更多,不僅要精通HTML,CSS,JS等基本技能,還要熟悉伺服器請求,熟悉一種伺服器語言如:php等。現在大學基本上還沒有開設一門專門針對前端開發的課程,不過有入門網頁開發課程,屬於軟體專業!
問題二:計算機前端工程師的工作怎麼樣啊? 1、網站還有專業?明顯坑人啊,現在的教育我實在看不懂,坑人太多,你學網站:IIS還是Apache?mysql、postgresql、ms-sql server、Oracle還是DB2?php還是asp還是java還是c#?這些自學幾個月就夠了,真的,本人92年開始玩計算機到現在,不知道誰發明的前端工程師這個說法,很不專業。如果我說的這些都能同時掌握,找個收入中上的工作,真的是困難了,我沒有瞎說啊;我自己也是開公司的,我招聘基本的員工,這個是基本的要求,我在上海,只有北大青鳥少數培訓機構的學生,能滿足我要求,很多本科生都不行,學校教育坑爹啊;
2、你所謂的前端工程師,應該是只開發網頁面向客戶端的頁面的,在上海是最基礎的代碼藍領工人,薪水很低,工作量很大,還需要和美工配合和被人家刁難,是5年前奇缺現在泛濫的崗位,建議趕快充電跳出這個紅海,這個渾水不能淌的。
問題三:計算機前端有什麼工作 計算機前端有很多的啊,網頁前端研發設計,視覺設計等等,html和css,w3c等等都是需要的
問題四:web前端開發什麼意思 用互聯網來做比喻,凡是通過瀏覽器到用戶端計算機的統稱為前端技術.相反存貯於伺服器端的統稱為後端技術.
前端技術包括JavaScript、ActionScript、CSS、xHTML等「傳統」技術與Adobe AIR、Google Gears,以及概念性較強的互動式設計,藝術性較強的視覺設計等等.
Web前端開發的職責是什麼既然Web前端開發有很多的職位,那麼不同的職位其各自的職責又是怎樣的呢?我們以「前端開發工程師」、「資深前端開發工程師」和「前端架構師」這三種職位為例,來分析一下其各自的職責。
前端開發工程師(或者說「網頁製作」、「網頁製作工程師」、「前端製作工程師」、「網站重構工程師」),這樣的一個職位的主要職責是與交互設計師、 視覺設計師協作,根據設計圖用HTML和CSS完成頁面製作。同時,在此基礎之上,對完成的頁面進行維護和對網站前端性能做相應的優化。另外,一名合格的前端開發工程師,應該具有一定的審美能力和基礎的美工操作能力,能很好的與交互及視覺協作。
問題五:前端主機,前端主機是什麼意思 這類系統一般由兩級計算機組成:上位機和前端機。上位機一般採用桌面個人計算機,即PC機,其人機界面好,硬體、軟體資源比較豐富,主要用於過程監控、優化計算和數據管理等。前端機一般採用單片機,其價格低廉,系統構成靈活,抗干擾能力強,主要用於數據採集、數據處理和實時控制等。這種分布式控制系統的性能價格比高,且充分利用了單片機和PC機各自的優點,因而具有較廣闊的應用前景。從功能上看,主機需從前端機收集信息和向前端機發布命令;前端機在進行檢測與控制時,需向主機及時傳送現場信息並按主機的命令控制現場。這種主機與多台前端機之間相互傳遞信息的過程稱為多機通信。它是構成整個分布式控制系統的關鍵。主站端主要完成對多個執行端的查詢, 發送控制命令, 顯示各執行端開關信息和電量數據, 提供良好的人機界面、操作系統等。執行端主要完成對具體對象的操作控制, 採集開關信息和電量數據, 並將信息和數據送回給主站端。由於主站端與各執行端之間有大量的數據信息需要相互傳輸, 主站端要保證數據信息的實時性, 主站端的多機監控系統中專門設計一台前置機來完成數據、信息的通信任務, 並對數據做預處理。前置機功能前置機是一種特殊的網關設備,實現數據輪詢、數據處理、數據轉換的功能。前置機將遠方數據採集分站的數據傳送到INMS的資料庫。前置機是數據採集系統的中心,因此可靠性要求十分高,為了提高可靠性,前置機的硬體應採用工業控制級主機或專用硬體系統。
問題六:web前端開發屬於計算機中的什麼專業? 計算機沒有這個專業,這只是其中的一項技能或者說工作崗位屬性
問題七:求指教,電腦相當於什麼前端 不是一回事,什麼是前端匯流排? 我們知道,電腦有許多配件,配件不同,速度也就不同。在286、386和早期的486電腦里,CPU的速度不是太高,和內存保持一樣的速度。後來隨著CPU速度的飛速提升,內存由於電氣結構關系,無法象CPU那樣提升很高的速度(就算現在內存達到400、533,但跟CPU的幾個G的速度相比,根本就不是一個級別的),於是造成了內存和CPU之間出現了速度差異,這時就提出一個CPU的主頻、倍頻和外頻的概念,外頻顧名思義就是CPU外部的頻率,也就是內存的頻率,CPU以這個頻率來與內存聯系。CPU的主頻就是CPU內部的實際運算速度,主頻肯定是比外頻高的,高一定的倍數,這個數就是倍頻。舉個例子,你從電腦垃圾堆里揀到一個被拋棄的INTEL 486 CPU,上面印著486 DX/2 66。這個486的CPU的主頻是66MHZ, DX/2代表是2倍頻的,於是算出CPU的外頻是33MZ,也就是內存的工作頻率,這同時也是前端匯流排FSB的頻率。因為CPU是通過前端匯流排來與內存發生聯系的,所以內存的工作頻率(或者說外頻也行)就是前端匯流排的頻率。剛才這個垃圾堆里的486 CPU,前端匯流排的頻率就是33MZ。這樣的前端匯流排結構一直延續到486之後的奔騰(俗話說的586)、奔騰2、奔騰3,例如一顆奔3 933MHZ的CPU,外頻133,也就是說它的前端匯流排是 133MHZ,內存工作頻率也是133。到了奔騰4年代,內存和CPU的工作模式發生了改變,前端匯流排的概念也變得有些復雜。奔騰4 CPU採用了Quad Pumped(4倍並發)技術,該技術可以使系統匯流排在一個時鍾周期內傳送4次數據,也就是傳輸效率是原來的4倍,相當於用了4條原來的前端匯流排來和內存發生聯系。在外頻仍然是 133MHZ的時候,前端匯流排的速度增加4倍變成了133X4=533MHZ,當外頻升到200MHZ,前端匯流排變成800MHZ,所以你會看到533前端匯流排的P4和800前端匯流排的P4,就是這樣來的。他們的實際外頻只有133和200,但由於人們保留了以前老的概念――前端匯流排就是外頻,所以習慣了這樣的叫法:533外頻的P4和800外頻的P4。其實還是叫533前端匯流排或533 FSB的P4比較合適。那內存的情況怎麼樣呢?外頻不完全等於前端匯流排了,那外頻還等於內存的頻率嗎?內存發展到了DDR,跟原來相比,一個時鍾周期內可以傳送比原來多一倍的數據,DDR就是DOUBLE DATA RATE的縮寫,意思就是雙倍的數據傳輸速率。在133MHZ的外頻下,DDR的傳輸速度是266,外頻提高到200MHZ的時候,DDR的傳輸速度是400,DDR266的內存和DDR400的內存就是這個意思。再看一下現在外頻、內存頻率、CPU的前端匯流排的的關系。在以前P3的時候,133的外頻,內存的頻率就是133,CPU的前端匯流排也是133,三者是一回事。現在P4的CPU,在133的外頻下,前端匯流排達到了533MHZ,內存頻率是266(DDR266)。問題出現了,前端匯流排是CPU與內存發生聯系的橋梁,P4這時候的前端匯流排達到533之高,而內存只有266的速度,內存比CPU的前端匯流排慢了一半,理論上CPU有一半時間要等內存傳數據過來才能處理數據,等於內存拖了CPU的後腿。這樣的情況的確存在的,845和848的主板就是這樣。於是提出一個雙通道內存的概念,兩條內存使用兩條通道一起工作,一起提供數據,等於速度又增加一倍,兩條DDR266就有266X2=533的速度,剛好是P4 CPU的前端匯流排速度......>>
問題八:你們說 計算機的前端跟後端有差很多嗎 後端具體都幹些什麼啊 做一個好的web前端工程師,首先需要有一定的審美技能,設計能力。其次就是一些前端技術了比如要有以下技能1、js+css+html+xml;2、一些美術、UI設計能力;3、分析研究能力,用來分析研究需求、構架等;4、用戶體驗、交互設計方面的知識;5、一些產品設計方面的知識;做好一名後端工程師,那就是一個思維邏輯性問題了,如何實現這個模塊功能,你只要做到實現這個功能就可以了。至於技術么,那就需要你至少懂一種後台交互性語言和資料庫也就是職業定位的問題,看您主要是喜歡哪方面的,你喜歡設計一些美感的東西那麼你就做前端,你對實現一些功能邏輯感興趣,那麼就從事程序設計了
問題九:網站什麼的要分前端和後端的?是什麼意思? 前端 - 通常是針對瀏覽器而開發的,是在瀏覽器端運行的程序,而後端 - 針對的是伺服器,准確的來說應該是伺服器端開發。前端開發偏向於用戶體驗,比較直觀,伺服器端開發偏向於性能。兩者結合起來,是比較吃香的,可以稱之為Web開發,偏向於編程。而PS,可以看成是視覺設計方面的職能。
工資的話很難說,一般是伺服器端開發高點。另外還要看公司,如果一個公司重視前端開發,那麼這個崗位的待遇不會比伺服器端開發的人低。
培訓的話,我知道有個國信安還不錯,你可以去看看。
問題十:計算機web前端學習需要什麼基礎嗎 HTML H5 js jq 最基本的 還有node,angular 多了去,但是找到適合自己的就行
5. python的前端和web的前端有什麼區別
前段和後端是共存的,python設計初衷是應用到科學計算的,經過多年的發展,在web應用、科學計算、金融、人工智慧等領域有大大量的應用,從而讓python最熱門的語言榜首。
在web應應用領域,一般的前端指的是開發人員編寫的html,css,javascript代碼,用戶通過瀏覽器或者app訪問某個應該網址所呈現的頁面內容,以及操作的響應頁面,前端面向的是最終的用戶,主要是提供展示效果和操作體驗方面的工作內容。
而後端是為前端頁應用提供展示的數據和計算機的介面服務,後端更多是關心高並發下,用戶不排隊,不阻塞,需要考慮清殲鉛的比前端多,比如業務擴容,安全,網路,遷移等等,所以後端比較關心的是並發和穩定,工資會比前端高一些。
使用python可以做前端也可以做後端,為什麼這么說呢?前端不都是javascript的天下么?
非也,python界也有GUIlib,比如python自帶的tkinter、pyQt、kivy。
Qt的知名度不用多說,世界500強的公司有100家用Qt;
kivy是python基金會扶持的一個純python寫的GUI框架,底層是OpenGL,而且支持window,Linux,Mac,ios,android等主流平台,kivy借鑒了Qt的Qml使得Ui和代碼邏輯分離,寫過Qt的我告訴你:嗯,python比C++爽,而kivy比Qml爽;
所以以上的gui框架是可以python做前端的,而且是python純前端。
還有種主流的pythonweb開發方式是,python做後端,在後端的代碼里渲染出前端的效改差果,想前端返回前端人員調好的html,css,js代碼,代表作框架就是Django和Flask。
最後一種就是前端一個工程,後端一個工程,各開發各自的,最後大家按介面約定連接,這就是傳說前後端分離,開發組合代表作有Flask+vue或者DRF+vue,前後端分離是趨勢。
歡迎交流答好[大笑][大笑][大笑]
6. 前端開發都需要哪些能力
1、三大基礎技能,js、css、html這三項技能是前端工程師能力中的基礎,任何框架、工具、庫都是基於這三者只上的。這是硬實力,決定了整個前端生涯能夠達到的高度,以及在後面的技術棧拓展中的順暢程度和能夠達到的效果。2、工程能力要有,前端工程師首先是個工程師,做項目就是在做工程,所以懂得如何把一個項目的前端部分的工程運行起來,是另一項必備技能。grunt、gulp、webpack都是著名的工程類工具,這些工具只要能熟練使用,就基本符合工程能力的要求。但是如果想要拿到更高一個層次的offer,理解工作原理必不可少。這些工具的根本作用,就是對資源的處理,包括代碼的壓縮打包、本地伺服器的架設等。3、調試能力要必備,如果還在用alert、console來調試程序定位問題,那麼你還不符合要求。學習chrome調試工具的使用,Elements查看元素、Network查看網路請求、Sources查看代碼,設置斷點定位問題、call stack查看調用棧。這個能力很少有人提到,但是掌握這些技能,不僅能在面試時加分,更重要的是在日後實際的項目中發揮的作用。4、團隊協作能力指的就是git,在項目開發中必不可少,熟練使用git,掌握常用的命令,學會解決沖突。5、熱門框架的使用vue、react是當前兩個最熱門的框架,能夠熟練使用是基本要求,如果你想在眾多求職者中脫穎而出,你還需要理解原理,還是那句話,你跟offer的差距就是使用與實現的差距。試著理解virtual dom的原理,響應式的原理,雙向數據綁定的原理。6、項目經驗要可靠,不是「仿了幾個頁面」,而是「項目」的經驗,是經歷過整個項目從0到1全過程的經驗,在這個過程中遇到了什麼坑,如何解決的,解決的過程中是如何思考的。7. 前端開發和後端開發有什麼區別
前端開發和後端開發的區別在於:
一、展示方式不同
1、前端開發主要做的是用戶所能看到的前端展示界面。
2、後端開發主要做的是邏輯功能等模塊,是用戶不可見的。
二、所用技術不同
1、前端開發用到的技術包括但不限於html5、css3、javascript、jquery、Bootstrap、Node.js 、AngularJs等技術。
2、後端開發 以java為例 主要用到的 是包括但不限於Struts spring springmvc Hibernate Http協議 Servlet Tomcat伺服器等技術。
(7)前端並發擴展閱讀:
公司對前後端人員招聘的要求:
Web前端:
1、精通HTML,能夠書寫語義合理,結構清晰,易維護的HTML結構;
2、精通CSS,能夠還原視覺設計,並兼容業界承認的主流瀏覽器;
3、熟悉JavaScript,了解ECMAScript基礎內容,掌握1到2種js框架,如JQuery;
4、對常見的瀏覽器兼容問題有清晰的理解,並有可靠的解決方案;
5、對性能有一定的要求,了解yahoo的性能優化建議,並可以在項目中有效實施;
Web後端:
1、精通jsp,servlet,javabean,JMS,EJB,Jdbc,Flex開發,或者對相關的工具、類庫以及框架非常熟悉,如Velocity,Spring,Hibernate,iBatis,OSGI等,對Web開發的模式有較深的理解;
2、練使用oracle、sqlserver、mysql等常用的資料庫系統,對資料庫有較強的設計能力;
3、熟悉maven項目配置管理工具,熟悉tomcat、jboss等應用伺服器,同時對在高並發處理情況下的負載調優有相關經驗者優先考慮;
4、精通面向對象分析和設計技術,包括設計模式、UML建模等;
5、熟悉網路編程,具有設計和開發對外API介面經驗和能力,同時具備跨平台的API規范設計以及API高效調用設計能力;