2020-02-27

如何編寫可怕的 Java 代碼?

  1. 對一切使用異常 2. 不用擔心訪問修飾符 3. 在 Java 中沒有什麼是真正的 final 4. 使用 Java 序列化,干就對 5. 將對象用於一切 6. 充分擁抱便捷編程的藝術 7. 不要學習任何新知識–你總是最了解 我決定告訴你如何編寫可怕的Java代碼。如果你厭倦了所有這些美麗的設計模式和最佳實踐,並且想寫些瘋狂的東西,請繼續閱讀。 如果你正在尋找有關如何編寫良好代碼的建議,請查看其它文章! 1. 對一切使用異常 你知道循環對嗎?差一錯誤(英語:Off-by-one error,縮寫 OBOE,是在計數時由於邊界條件判斷失誤導致結果多了一或少了一的錯誤,通常指計算機編程中循環多了一次或者少了一次的程序錯誤,屬於邏輯錯誤的一種)很容易犯。當你迭代一個集合時,很容易出錯。讓我 […]

Read more
2020-02-25

Java 14 令人期待的 5 大新特性,打包工具終於要來了!

1. instanceof 模式匹配 2. 文本塊再次作為預覽特性保留 3. 記錄類型(Record Type)的引入 4. 打包工具終於來了 5. 一個組合垃圾收集器被棄用 6. 結束語 隨著新的 Java 發布生命周期的到來,新版本預計將於 2020 年 3 月發布,本文將對其中的 5 個主要特性作些概述。 Java 13 剛剛發布給開發人員使用不久,最新版本的JDK於2019年9月發布。但是很少有公司現在改用了 Java 13 ,因為這個版本看起來無論如何都不會從甲骨文公司獲得長期支持(LTS)。更不要說現在Java 14又已經出現了。 隨著新的Java發布生命周期的到來,新的Java版本預計將於2020年3月發布。時間已經所剩不多了,這就是為什麼甲骨文公司的Java首席架構師Mark […]

Read more
2020-02-25

阿里巴巴 29 個屌炸天的開源項目!

前言 眾所周知,阿里巴巴是 apache基金會成員、Linux基金會成員,同時是Xen顧問委員會成員。上述身份可見阿里在開源方面的重視程度,阿里通過開源貢獻更多技術、分享更多理念。其開源的很多項目大受歡迎,今日就來盤點阿里29個開源項目,你用過幾個,哪個最好用,歡迎在留言區告訴小編。 1. 分散式應用服務開發的一站式解決方案 Spring Cloud Alibaba Spring Cloud Alibaba 致力於提供分散式應用服務開發的一站式解決方案。此項目包含開發分散式應用服務的必需組件,方便開發者通過 Spring Cloud 編程模型輕鬆使用這些組件來開發分散式應用服務。 依託 Spring Cloud Alibaba,您只需要添加一些註解和少量配置,就可以將 Spring Clou […]

Read more
2020-02-22

Vert.x!這是目前最快的 Java 框架

如果您搜索「 最佳網路框架 」,您可能會偶然發現Techempower基準測試,其中排名超過300個框架,在那裡你可能已經注意到Vert.x是排名最高的。 Vert.x是一個多語言 Web 框架,它支持 Java ,Kotlin,Scala,Ruby和Javascript支持的語言之間的共同功能。無論語言如何,Vert.x都在Java虛擬機(JVM)上運行。模塊化和輕量級,它面向微服務開發。 Techempower基準測試衡量從資料庫更新,獲取和交付數據的性能。每秒提供的請求越多越好。在這種涉及很少計算的IO場景中,任何非阻塞框架都會有優勢。近年來,這種範式幾乎與Node.js不可分割,Node.js通過其單線程事件循環來推廣它。 與Node類似,Vert.x運行單個事件循環。但Vert.x […]

Read more
2020-02-17

阿里雲 Redis 開發規範深入解讀,別只會 set、get!

  Key命名設計:可讀性、可管理性、簡介性 Value設計:拒絕bigkey 控制Key的生命周期:設定過期時間 時間複雜度為O(n)的命令需要注意N的數量 禁用命令:KEYS、FLUSHDB、FLUSHALL等 推薦使用批量操作提升操作效率 monitor命令控制使用時間 寫在最後 Key命名設計:可讀性、可管理性、簡介性 規範建議使用冒號即:進行分割拼接,因為很多 Redis 客戶端是根據冒號分類的。比如有幾個Key:apps:app:1、apps:app:2和apps:app:3。 Redis Desktop Manager能自動歸類到apps目錄下。如下圖所示: Value設計:拒絕bigkey 規範建議String類型的Value控制在10KB範圍以內。這是因為 Redis 隨著 […]

Read more
2020-02-17

分散式系統領域,有哪些經典演算法?

身為後端工程師,你對這類招聘要求肯定不陌生:熟悉分散式系統的設計和應用;熟悉分散式、緩存、消息、搜索等機制;對分散式常用技術進行合理應用、解決問題等等。   而這其中, 又以分散式協議與演算法尤甚 。很多大公司在招聘架構師或高級工程師時,都要求熟悉這部分內容。面試官不僅要考察其原理和運行機制,還有面試者對這類問題在架構設計層面的理解,以及具體場景下的應用。   但以我作為面試官的經驗看, 真正搞懂這部分的候選人少之又少 。   其實,分散式協議與演算法(下面簡稱分散式演算法)是分散式系統運行的核心規則和關鍵步驟,想參透分散式技術、開發一個分散式系統, 最先要掌握的就是這部分知識 。   以 InfluxDB 為例,很多技術團隊試圖自己實現 InfluxDB 的集群功能,但最終都放棄了。因為這 […]

Read more
2020-02-06

「12306」 是如何支撐百萬 QPS 的?

12306搶票,極限併發帶來的思考? 1. 大型高併發系統架構 1.1 負載均衡簡介 1.2 Nginx加權輪詢的演示 2.秒殺搶購系統選型 2.1 下單減庫存 2.2 支付減庫存 2.3 預扣庫存 3. 扣庫存的藝術 4. 代碼演示 4.1 初始化工作 4.2 本地扣庫存和統一扣庫存 4.3 響應用戶信息 4.4 單機服務壓測 5.總結回顧 12306搶票,極限併發帶來的思考? 每到節假日期間,一二線城市返鄉、外出遊玩的人們幾乎都面臨著一個問題:搶火車票!雖然現在大多數情況下都能訂到票,但是放票瞬間即無票的場景,相信大家都深有體會。尤其是春節期間,大家不僅使用12306,還會考慮「智行」和其他的搶票軟體,全國上下幾億人在這段時間都在搶票。「12306服務」承受著這個世界上任何秒殺系統都無法 […]

Read more
技術文章
2020-02-06

SQL 注入是什麼?一張圖告訴你!

來源:jizhi.im/blog/post/sql_injection_intro   先來看一副很有意思的漫畫: 相信大家對於學校們糟糕的網路環境和運維手段都早有體會,在此就不多做吐槽了。今天我們來聊一聊SQL注入相關的內容。 何謂SQL注入? SQL注入 是一種非常常見的資料庫攻擊手段, SQL注入 漏洞也是網路世界中最普遍的漏洞之一。大家也許都聽過某某學長通過攻擊學校資料庫修改自己成績的事情,這些學長們一般用的就是 SQL注入 方法。 SQL注入 其實就是惡意用戶通過在表單中填寫包含SQL關鍵字的數據來使資料庫執行非常規代碼的過程。簡單來說,就是數據「越俎代庖」做了代碼才能幹的事情。 這個問題的來源是,SQL資料庫的操作是通過SQL語句來執行的,而無論是執行代碼還是數據項都必須寫在SQ […]

Read more
技術文章
2020-02-05

js實現二級連動效果

本 文 實例講述了JS二級菜單。 分享給大家供大家參考 1 < head > 2      < meta   charset = “utf-8”  /> 3      < title ></ title > 4 </ head > 5 6 < body > 7     省/市: 8      < select   id = “provice” ></ select > 9     市/區: 10      < select   id = “city” ></ select > 11      < script   type = “text/javascript” &g […]

Read more
技術文章
2020-02-05

php數據緩存memcached 集成可視化工具

Memcached安裝配置.exe 可能會報毒,可放心使用! 一、 安裝memcached服務 安裝啟動服務memcached.exe 二、 php_memcache 擴展 1、下載和 php 所需的 php_memcache.dll 擴展 ;對應PHP版本 2、解壓 php_memcache.dll 文件,到php的ext文件夾中 3、php.ini文件添加: extension=php-xx_memcache.dll [Memcache] memcache.allow_failover = 1 memcache.max_failover_attempts=20 memcache.chunk_size =8192 memcache.default_port = 11211 4、重啟Apac […]

Read more
技術文章
2020-02-05

Laravel – 路由 [Route]

啥是路由 ? 如下圖:我們在瀏覽器中輸入 http://xslaravel.dev/ 我們可以訪問細說laravel網站的首頁界面,如果我們輸入 http://xslaravel.dev/users/1 呢? 我們會來到用戶個人中心的用戶頁面 上圖片中展示的這就是路由了,即路由系統會對用戶輸入的 URL 地址 進行解析,然後分配不同的工作,有點像路由器 Laravel是怎麼處理URL呢? 下圖路由中我們所看到的的那幾行代碼是項目自帶的指向歡迎界面的代碼 Route :: get( ‘/’ , function (){         return view( ‘welcome’ ); }); 別小看這幾行代碼,通過這幾行代碼我們可以實現很有功能 […]

Read more
技術文章
2020-02-05

Laravel 用戶認證邏輯

預計閱讀 12 分鐘。 本文介紹 Laravel 用戶認證的使用、基本邏輯和底層的實現。 快速使用 在 Laravel 框架初始化后,運行 php artisan make:auth  和   php artisan migrate  就能啟用 Laravel 自帶的用戶認證功能。 用戶認證的配置文件在 config/auth.php 中, 1 // 默認使用的配置。 2 // guard 是用戶認證邏輯的實現。web 是網站用戶認證邏輯; 3 // api 是 API 用戶認證邏輯 4 ‘defaults’  => [ 5          ‘guard’  =>  ‘web’ , 6          ‘passwords’  =>  ‘users’ , 7 ], gu […]

Read more
Go Top