當前位置:編程學習大全網 - 源碼下載 - 開源oa+源代碼

開源oa+源代碼

JeecgBoot是壹個基於代碼生成器的低代碼開發平臺!前後端分離架構SpringBoot2.x,SpringCloud,螞蟻設計& amp;Vue,Mybatis-plus,Shiro,JWT,支持微服務。強大的代碼生成器,讓前端和後端代碼壹鍵生成,實現低代碼開發!

JeecgBoot提供了壹系列低代碼模塊,實現真正的零代碼在線開發:在線表單開發、在線報表、報表配置能力、在線圖表設計、大屏設計、移動配置能力、表單設計器、在線設計流程、流程自動化配置、插件能力(可插拔)等等!

JEECG的宗旨是:通過OnlineCoding配置實現簡單功能,實現零代碼開發;復雜函數由代碼生成器生成,人工合並,實現低代碼開發,既保證智能又兼顧靈活性;實現了低代碼開發,同時支持靈活編碼,解決了目前低代碼產品普遍不靈活的缺點!

JEECG業務流程:采用工作流來實現和擴展開發和編寫業務邏輯的任務接口。表單提供了多種解決方案:表單設計器、在線配置表單和編碼表單。同時實現了流程與表單的分離設計(松耦合),支持任務節點的靈活配置,既保證了公司流程的保密性,又減輕了開發人員的工作量。

Jeecg-Boot低代碼開發平臺可應用於任何J2EE項目的開發,尤其適用於SAAS項目、企業信息管理系統(MIS)、內部辦公系統(OA)、企業資源規劃系統(ERP)、客戶關系管理系統(CRM)等。其半智能手動歸並開發模式,可顯著提高開發效率70%以上,大大降低開發成本。

1,Nacos的服務註冊和發現

2.統壹配置中心

3.路由網關(三種加載模式)

4.分布式姿勢,k8s,詹金斯

15,CAS單點登錄

16,路由電流限制

微服務架構圖

輸入圖片描述

輸出結果:

先看第壹個打印語句。在Java中,符號= =是比較運算符,可以判斷基本數據類型和引用數據類型是否相等。如果是基本數據類型,= =比較值是否相等。如果是引用數據類型,= =比較兩個對象的內存地址是否相等。字符串不屬於8中的基本數據類型,字符串對象屬於引用數據類型。在上面的例子中,“abc”被賦給了兩個string對象,st1和st2,這兩個對象指向同壹個地址,所以第壹個打印的語句中= =的比較結果為真。

然後我們看看第二個print語句中的等號比較。我們知道equals是父類對象的方法,我們在String類中重寫了這個equals方法。我們在JDK API 1.6文檔中的String類下找到equals方法,點擊進去將這個字符串與指定的對象進行比較。當且僅當參數不為null並且是表示與此對象相同的字符序列的String對象時,結果為true。

註意這個相同的字符序列,比較兩個數組,列表,字典是否相等,就是這個邏輯寫代碼實現的。由於st1和st2的值都是“abc”,都指向同壹個對象,當前的字符序列也是相同的,所以第二行的打印結果也是如此。

我們畫壹個內存圖來表示上面的代碼,看起來更有說服力。

記憶過程大致如下:

答案是:在內存中創建兩個對象,壹個在堆內存中,壹個在常量池中。堆內存對象是常量池對象的副本。

下面直接來個內存圖。

當我們看到關鍵字new的時候,我們應該認為new出來的對象都是存儲在堆內存中的。然後我們將解釋為什麽堆中的對象是常量池中對象的副本。“abc”屬於壹個字符串,字符串屬於壹個常量,所以應該在常量池中創建,所以在常量池中創建的第壹個對象是“abc”。

為什麽第二個對象是堆中的副本?為此,妳需要找到JDK API 1.6中String(String original)構造方法的註釋:初始化壹個新創建的String對象,用相同的參數表示壹個字符序列;換句話說,新創建的字符串是參數字符串的副本。所以,答案出來了,兩個物體。

回答:假與真。

因為前面兩段提到的記憶分析的經驗和理論,我可以很快得到上面的答案。= =比較st1和st2對象的內存地址,由於st1指向堆內存的地址,st2看到常量池中已經存在“abc”就不會新建,所以st2指向常量池的內存地址,所以= =判斷結果輸出false,兩者不相等。第二個equals比較是兩個字符串序列是否相等,因為只有壹個“abc”,所以完全相等。內存圖如下

答案是:真實和真實

分析:

回答:假與真。

上面第壹個答案是假的,第二個是真的,第二個是真的,我們很容易理解,因為比較壹個是“abc”,壹個是拼接得到的“abc”,所以比較等於,這是真的輸出,我們很容易理解。那為什麽第壹次判斷是假的?我們很疑惑。同樣,讓我們用API註釋和內存圖來解釋為什麽這不相等。

首先打開JDK API 1.6中關於String的介紹,找到下圖。

關鍵點在紅圈裏。我們知道任何數據和字符串都是用加號(+)操作的,最後的結果是壹個拼接的新字符串。上面的註釋解釋了這種拼接的原理是StringBuilder或者StringBuffer類以及裏面的append方法實現拼接,然後調用toString()將拼接後的對象轉換成String對象,最後將string對象的地址賦給變量。有了這個認識,我們來畫壹個內存圖進行分析。

近似存儲過程

所以st3和st2的= =判斷結果不相等,因為兩個對象的內存地址不同。

這道面試題完全需要掌握JDK API中的壹些註釋和原理,以及內存圖分析,才能得到正確的結果。我承認畫記憶圖讓我明白了為什麽答案是這樣的。畫完記憶圖,得到答案,妳真的會覺得很有趣,最後會有這樣的感嘆。

  • 上一篇:求上海世博園壹日遊攻略
  • 下一篇:世界遊戲百科51:解鎖整個獎杯的經驗分享
  • copyright 2024編程學習大全網