實戰
上進唯實戰可得,突破絕技成長瓶頸
課程
精品課程應有盡有,快速入門助力成長
-
中級 4小時使用SpringCloud框架實現慕課網主頁后端開發
SpringCloud作為主流微服務框架,是Java工程師的必備技能。本課程將帶你對慕課網主頁的后端實現進行微服務拆分。通過用戶信息、課程信息的兩個微服務實現,帶領同學們認識 SpringCloud 的常用組件 Eureka、Zuul、Feign、Hystrix 等。從基礎知識到實戰項目,助力輕松進階。
1874人在學 -
高級 HBase 存儲原理剖析
本課程由淺到深的對 HBase 的存取數據原理進行分析介紹,從基礎存儲數據到元數據,再到數據在系統中的組織形式依次進行詳細的分析,理清整個 HBase 系統的運行原理,老師的新實戰課《基于 SpringCloud 微服務架構下的廣告系統設計與實現》也已經火熱上線啦,有興趣的小伙伴千萬不要錯過:https://coding.imooc.com/class/310.html
13681人在學 -
初級 JDK11&12 新特性解讀
Java 語言如今已被廣泛應用到科技行業的各個領域,成為當前最熱門的計算機語言之一。Java 語言版本更新速度很快,每個新版本都能或多或少的影響當前的開發模式。學習 Java 新版本的特性,能夠更加清晰的了解 Java 未來的發展方向,以及梳理編程的思想。
8503人在學
手記
分享經驗交流心得,學習前沿流行技術
-
基于 SpringCloud 微服務架構下廣告系統設計與實現
SpringCloud 無疑是當下最流行、最廣泛應用的微服務開發框架,它主要包含了以下幾個核心組件: Eureka:負責服務發現與服務注冊 Zuul:網關服務,流量分發入口(我們可以在其中做很多事) Ribbon/Feign:微服務調用、訪問 Hystrix:服務熔斷,隔離故障接口 當然,在你使用 SpringCloud 的時候,你完全不需要知道它們內部是怎么實現的(畢竟,這對你的應用開發幾乎沒有什么幫助),你只需要學會并熟練的應用就可以。但同時,這需要你有 SpringBoot 的基礎。 我的 “廣告課程” 圍繞
995瀏覽
0推薦
0評論
-
Java 面試應該看些什么
本文將會從6個方面去介紹 Java 方向的高頻面試點。 Java 語言基礎 基礎語法:抽象類和接口的區別、Java 中的泛型是怎么實現的、怎樣判斷兩個 Java 對象是相等的等等類似的問題 容器相關的面試:List、Set、Map三者的區別、ArrayList和LinkedList 之間的區別、ArrayList的擴容機制、HashMap是線程安全的嗎?為什么呢?、HashTable是線程安全的嗎?它是怎樣實現線程安全的?、JDK1.8之前和之后,HashMap的底層實現發生了哪些變化呢?、我需要一個線程安全的Map,你會選擇使用什么?為什
4682瀏覽
56推薦
7評論
-
怎樣學習 SpringBoot
學習 SpringBoot 需要做哪些準備? IDE:IDEA 基礎工具:JDK1.8、Maven SpringBoot 背景介紹 什么是 SpringBoot Spring Boot是 Spring 開源組織下的一個子項目,也是 Spring 組件一站式解決方案,主要是為了簡化使用 Spring 框架的難度,簡省繁重的配置 Spring Boot提供了各種組件的啟動器(starter),開發者只要能配置好對應組件參數,Spring Boot 就會自動配置,讓開發者能快速搭建依賴于 Spring 組件的 Java 項目 Spring Boot不但能創建傳統的 war 包應用,還能
5680瀏覽
48推薦
2評論
-
SpringBoot 應用 Redis 聲明式緩存
什么是聲明式緩存 ? Spring 框架提供一種抽象的緩存機制,且 Spring 只提供接口,不提供緩存的具體實現。所以在程序中使用時,需要有具體緩存的實現。目前支持的常見的緩存比如 JDK ConcurrentMap-based Cache、Ehcache、Redis、Caffeine Cache、Guava Cache 等。 所謂聲明式緩存,即使用 Spring 框架提供的注解來使用緩存功能。這就需要知道一些常用的注解: @EnableCaching Spring 默認沒有開啟緩存注解支持,可以在配置類上使用該注解進行開啟。 @Cacheable 程序在執行方
3197瀏覽
10推薦
2評論
-
優化 Redis 的使用策略
Redis 學習資料整理 想要系統的學習 Redis 的同學,可以閱讀下面整理的學習資料。內容非常全面,幾乎涵蓋了 Redis 的各個特性與使用方法。 帶有詳細注釋的 Redis 3.0 代碼 《Redis 設計與實現》 《Redis 設計與實現》圖片集 Redis command Redis 命令參考 Redis Key 的命名策略 Redis 是 K-V 形式的緩存數據庫,每一個需要緩存的 Object 都需要唯一的 Key 來標識。但是,我們日常在做開發的時候,經常會出現一個公司或者部門之間共用一個 Redis 集群的情況。所以
2351瀏覽
7推薦
0評論
-
Mac 環境下 Redis 集群的搭建
安裝 Redis Mac 環境下安裝 Redis 是非常簡單的,直接執行命令:brew install redis 就可以了(需要安裝 homebrew),這也是我比較推薦的方式。通過 homebrew 安裝 Redis 之后,Redis 的環境變量、卸載、更新都可以通過簡單的命令來完成,也就是說你不再需要考慮管理 Redis 的問題了。 安裝完成之后,就可以直接在終端執行命令: redis-server:啟動 redis 服務器,默認端口 6379 redis-cli:啟動 redis 客戶端 配置 Redis 集群環境 說明:通過 homebrew 安裝完成
2651瀏覽
2推薦
0評論
-
Redis 的發布訂閱功能在 SpringBoot 中的應用
認識 Redis 的發布訂閱功能 關于 Redis 發布訂閱的功能介紹可以參考:訂閱與發布。下面我來介紹下 Redis 發布訂閱功能的特性和適用場景。 Redis 發布訂閱功能的特性 消息的發送者與接收者之間通過 channel 綁定:channel 可以是確定的字符串,也可以基于模式匹配 客戶端可以訂閱任意多個 channel 發送者發送的消息無法持久化,所以可能會造成消息丟失 由于消息無法持久化,所以,消費者無法收到在訂閱 channel 之間發送的消息 發送者與客戶端之間的消息發送與接收不存在 AC
3254瀏覽
6推薦
0評論
-
Redis pipeline
關于 Redis pipeline 為什么需要 pipeline ? Redis 的工作過程是基于 請求/響應 模式的。正常情況下,客戶端發送一個命令,等待 Redis 應答;Redis 接收到命令,處理后應答。請求發出到響應的時間叫做往返時間,即 RTT(Round Time Trip)。在這種情況下,如果需要執行大量的命令,就需要等待上一條命令應答后再執行。這中間不僅僅多了許多次 RTT,而且還頻繁的調用系統 IO,發送網絡請求。為了提升效率,pipeline 出現了,它允許客戶端可以一次發送多條命令,而不等待上一條
2846瀏覽
1推薦
0評論
-
Redis HyperLogLog
關于 Redis HyperLogLog 在說明 HyperLogLog 之前,我們需要先了解一個概念:基數統計。維基百科中的解釋是: cardinality of a set is a measure of the “number of elements“ of the set 它的意思是:一個集合(注意:這里集合的含義是 Object 的聚合,可以包含重復元素)中不重復元素的個數。例如集合 {1,2,3,1,2},它有5個元素,但它的基數/Distinct 數為3。 Redis 最常用的數據結構有字符串、列表、字典、集合和有序集合。后來,由于 Redis 的廣泛應用,Red
1898瀏覽
2推薦
0評論
-
Redis 事務在 SpringBoot 中的應用
環境信息 JDK 版本信息 <properties> <java.version>1.8</java.version> </properties> SpringBoot 版本、依賴信息 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.2.RELEASE</version> <relativePath/> </parent> 我們在 SpringBoot 中使用 Redis 時,會引入如下的 redis starter <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</ar
4632瀏覽
6推薦
1評論
-
SpringBoot 中應該怎樣使用 Redis ?
環境信息 JDK 版本信息 <properties> <java.version>1.8</java.version> </properties> SpringBoot 版本、依賴信息 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.2.RELEASE</version> <relativePath/> </parent> 我們在 SpringBoot 中使用 Redis 時,會引入如下的 redis starter <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</ar
2878瀏覽
2推薦
0評論
-
SpringBoot 使用 Redis Geo
Redis GEO 的說明 Redis 官方對 Geo 的描述 Redis 3.2 contains significant changes to the API and implementation of Redis. A new set of commands for Geo indexing was added (GEOADD, GEORADIUS and related commands). 關于 Geo,需要知道 Redis 的 Geo 是在 3.2 版本才有的 使用 geohash 保存地理位置的坐標 使用有序集合(zset)保存地理位置的集合 6個操作命令 GEOADD:增加某個地理位置的坐標 GEOPOS:獲取某個地理位置的坐標 GEO
4762瀏覽
2推薦
1評論
-
Kafka 安裝與使用
安裝 Kafka 下載地址 Kafka Download 解壓步驟 tar -zxvf kafka_2.12-2.1.0.tgz cd kafka_2.12-2.1.0 修改 kafka-server 配置 kafka_2.12-2.1.0/config/server.properties broker.id=1 log.dir=/kafka/logs 使用 Kafka 功能 啟動命令 備注 啟動 ZK bin/zookeeper-server-start.sh -daemon config/zookeeper.properties Kafka 安裝包自帶 ZK,可以單節點啟動 啟動 Kafka 服務器 bin/kafka-server-start.sh config/server.properties 創建 Topic(test) bin
2780瀏覽
1推薦
0評論
-
基于 Redis SETNX 實現分布式鎖
環境與配置 <b>Redis 任意版本即可</b> <b>SpringBoot 任意版本即可,但是需要依賴 spring-boot-starter-data-redis</b> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 看一看 Redis 社區對 SETNX 的解釋 Redis SETNX <b>Set key to hold string value if key does not exist. In that case, it is equal to SET. When key already holds a value, no operatio
19988瀏覽
8推薦
3評論
-
為什么需要學習 SpringCloud ?
    不論是商業應用還是用戶應用,在業務初期都很簡單,我們通常會把它實現為單體結構的應用。但是,隨著業務逐漸發展,產品思想會變得越來越復雜,單體結構的應用也會越來越復雜。這就會給應用帶來如下的幾個問題: 代碼結構混亂:業務復雜,導致代碼量很大,管理會越來越困難。同時,這也會給業務的快速迭代帶來巨大挑戰; 開發效率變低:開發人員同時開發一套代碼,很難避免代碼沖突。開發過程會伴隨著不斷解決沖突的過程,這會嚴重的影響開發效率; 排查解決問題成本
3794瀏覽
7推薦
2評論
-
Java 分布式優惠券系統后臺
對于做 Java Web 開發的話,Spring 一定不會陌生,它是每一個從事 Java 開發的程序員必須要掌握的框架。近些年來,微服務架構和大數據存儲成為了 Web 開發中主流的開發選擇方案。 在相當長的一段時間里,我們的開發大多集中于一個龐大而又功能多樣的系統中,這個系統中包含了業務涉及的各個方面。這樣的優勢是代碼會比較集中,管理起來比較方便,但是,它也存在著數不清的劣勢。比如,我們對代碼中的一個模塊甚至是一個函數進行修改,就會導致整個系統的代碼需要重新編譯;代碼中的耦合會比較嚴重,修改了一個地方,很容易造成其他地方出現問題;一個模塊出現問題往往會導致整個系統不可用等等。所以,近年來企業級開發大量的推崇微服務架構。 微服務架構即將當前的系統根據業務模塊進行拆分成不同的子系統,各個子系統之間不存在耦合,且單獨部署,子系統故障不會導致整個系統的宕機。Spring 給我們提供了 Spring
7762瀏覽
8推薦
3評論