原创 oracle獲取前十條或者10到20條數據

在Oracle中取得查詢結果的前10條或第10條到第20條記錄   ROWNUM常見的用途就是用來分頁輸出. 比如 SELECT name  FROM member WHERE ROWNUM <= 10 這條語句就是輸出前10條紀錄,類似

原创 Oracle 中遞歸樹級數據connect by prior 以及 使用 concat 和 || 拼接多級層級目錄

1.Oracle 中 connect by prior的用法: 層級查詢,用於查詢具有層級關係(樹狀結構)的數據(父子關係、僱傭關係)。 語法: select [level]  ... from table_name start with

原创 tomcat文件server.xml中的AJP協議和HTTP協議的區別

HTTP協議:連接器監聽8080端口,負責建立HTTP連接。在通過瀏覽器訪問Tomcat服務器的Web應用時,使用的就是這個連接器。  AJP協議:連接器監聽8009端口,負責和其他的HTTP服務器建立連接。在把Tomcat與其他HTTP

原创 tomcat啓動Nio,Apr詳解以及配置

1.tomcat NIO配置 今天在查看日誌時發現tomcat的Socket連接方式爲bio,於是我想既然有bio那肯定有nio。果然,一查就發現tomcat在6.0之後就可以配置nio的方式。nio方式比bio具有更好的併發性,如果We

原创 oracle concat()使用

說明:table1中的關聯字段爲parentId,name屬性拼接“-” 需求說明:進行拼接字符,使一張表中name屬性(name處於同一列中,形如深圳,寶安區,福田區,南山區,等等) 要求展示在同一個框中 SQL語句: select (

原创 springboot啓動都做了什麼

1.@SpringBootApplication = (默認屬性)@Configuration + @EnableAutoConfiguration + @ComponentScan。 @Configuration的註解類標識這個類可以使

原创 想要好好寫sql需要知道的優化常識

一:sql語句的小技巧 1.使用group by 分組查詢時,默認分組後,還會排序,可能會降低速度,在group by 後面增加 order by null 就可以防止排序。 2.有些情況下,可以使用連接來替代子查詢。因爲使用join,M

原创 Spring Cloud核心組件

Spring Cloud核心組件 Eureka:各個服務啓動時,Eureka Client都會將服務註冊到Eureka Server,並且Eureka Client還可以反過來從Eureka Server拉取註冊表,從而知道其他服務在哪

原创 Netty故障排查技巧

接收不到消息 如果業務的 ChannelHandler 接收不到消息,可能的原因如下:   1)業務的解碼 ChannelHandler 存在 BUG,導致消息解碼失敗,沒有投遞到後端; 2)業務發送的是畸形或者錯誤碼流(例如長度錯誤),

原创 java設計模式 之適配器模式

《JAVA與模式》一書中開頭是這樣描述適配器(Adapter)模式的:   適配器模式把一個類的接口變換成客戶端所期待的另一種接口,從而使原本因接口不匹配而無法在一起工作的兩個類能夠在一起工作。   適配器模式的結構   適配器模式有類的

原创 java設計模式之策略模式

  《JAVA與模式》一書中開頭是這樣描述策略(Strategy)模式的:   策略模式屬於對象的行爲模式。其用意是針對一組算法,將每一個算法封裝到具有共同接口的獨立的類中,從而使得它們可以相互替換。策略模式使得算法可以在不影響到客戶端的

原创 Netty組件及其運行流程

1.Netty特性 傳輸服務 支持BIO和NIO 容器集成 支持OSGI、JBossMC、Spring、Guice容器 協議支持 HTTP、Protobuf、二進制、文本、WebSocket等一系列常見協議都支持。 還支持通過實行編碼解碼

原创 netty使用DelimiterBasedFrameDecoder處理tcp粘包

1.tcp產生粘包問題的原因有 應用程序write寫入的字節大小大於套接字發送緩衝區的大小。 進行MSS(TCP的數據部分)大小的TCP分段。 以太網幀的payload大於MTU進行IP分片 2.解決方案 消息定長,例如每個報文的大小固定

原创 【面試題】Netty相關

1.BIO、NIO和AIO的區別? BIO:一個連接一個線程,客戶端有連接請求時服務器端就需要啓動一個線程進行處理。線程開銷大。 僞異步IO:將請求連接放入線程池,一對多,但線程還是很寶貴的資源。 NIO:一個請求一個線程,但客戶端發送的

原创 Netty工作原理架構

  Netty服務端過程 1 初始化創建2個NioEventLoopGroup,其中boosGroup用於Accetpt連接建立事件並分發請求, workerGroup用於處理I/O讀寫事件和業務邏輯 2 基於ServerBootstra