原创 Mac端Git安裝以及環境搭建

Git安裝下載Git有兩種方法直接下載安裝包,Git下載地址 https://git-scm.com/download用homebrew指令下載,不過首先需要安裝homebrew 安裝好Git後,配置用戶名和用戶郵箱,以後每次與Git的交互

原创 似懂非懂 Comparable和 Comparator【面試+工作】

在java中提供了兩種排序方式:Comparable和 Comparator,它們兩個看起來非常的相似,在不是很瞭解的情況下不知道如何使用,什麼情況下使用哪個進行排序,接下來就看下它們的一個區別和使用方式: Comparable首先看下 C

原创 c3p0,DBPC,Druid三大連接池的區別/性能【面試+工作】

先來點實用的:<!-- 配置dbcp數據源 --> <bean id="dataSource2" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSo

原创 實現線程方式的源碼分析:Runnable,Thread,Callable,Future,FutureTask【面試+工作】

前言 在 Java 中,實現線程的方式主要有以下幾種方式:繼承 Thread, 實現 Runnable 和實現 Callable 這三種方式;採用哪種方式,主要根據實際情況而定,比如:因爲 Java 是單繼承,所以如果定義的線程還有其他父類

原创 同步與異步/阻塞與非阻塞/回調【面試+工作】

一、同步與異步概念性 同步和異步通常用來形容一次方法調用。同步方法調用一旦開始,調用者必須等到方法調用返回後,才能繼續後續的行爲。異步方法調用更像一個消息傳遞,一旦開始,方法調用就會立即返回,調用者就可以繼續後續的操作。而,異步方法通常會在

原创 深入淺出爬蟲之道: Python、Golang與GraphQuery的對比

本文將分別使用 Python ,Golang 以及 GraphQuery 來解析某網站的 素材詳情頁面 ,這個頁面的特色是具有清晰的數據結構,但是DOM結構不夠規範,無法通過單獨的選擇器定位頁面元素,對頁面的解析造成了一些曲折。通過這個頁面

原创 Spring整合Hessian與分析【面試+工作】

前言上一篇文章Hessian入門體驗與分析介紹了hessian的簡單入門,並且從源碼層面對Hessian的調用流程進行了分析;發現使用原生的Hessian還是比較繁瑣的,下面看看Spring與Hessian進行整合並且進行簡要分析。使用提供

原创 Hessian體驗與分析【面試+工作】

簡介 Hessian是一個輕量級的remoting onhttp工具,使用簡單的方法提供了RMI的功能;相比WebService,Hessian更簡單、快捷。官網地址:http://hessian.caucho.com/index.xtp下

原创 Demo之Mycat讀寫分離【面試+工作】

前言 數據庫讀寫分離對於大型系統或者訪問量很高的互聯網應用來說,是必不可少的一個重要功能;對於MySQL來說,標準的讀寫分離是主從模式,一個寫節點Master後面跟着多個讀節點,其中包含兩個步驟,其一是數據源的主從同步,其二是sql的讀寫分

原创 Redis實現參數的集中式管理【面試+工作】

前言 分佈式緩存Redis也提供了類似的發佈訂閱功能,並且Redis本身提供了緩存和持久化的功能,本文將介紹通過Redis實現簡單的參數集中式管理。Maven引入Spring相關的jar引入目標1.可以同時配置監聽多個節點如/app1,/a

原创 JMS實現參數的集中式管理【面試+工作】

前言 JMS的發佈訂閱機制也能實現類似的功能,集羣節點通過訂閱指定的節點,同時使用jms對消息的過濾器功能,實現對指定參數的更新,本文將介紹通過JMS實現簡單的參數集中式管理。 Maven引入 Spring相關的jar引入目標1.可以同時配

原创 Zookeeper實現參數的集中式管理【面試+工作】

前言 應用項目中都會有一些參數,一般的做法通常可以選擇將其存儲在本地配置文件或者內存變量中;對於集羣機器規模不大、配置變更不是特別頻繁的情況下,這兩種方式都能很好的解決;但是一旦集羣機器規模變大,且配置信息越來越頻繁,依靠這兩種方式就越來越

原创 Demo入門Mycat【面試+工作】

前言 Mycat是一個開源的分佈式數據庫系統,是一個實現了MySQL協議的的Server,前端用戶可以把它看作是一個數據庫代理,用MySQL客戶端工具和命令行訪問,而其後端可以用MySQL原生(Native)協議與多個MySQL服務器通信,

原创 Quartz數據庫表分析【面試+工作】

前言 Quartz默認提供了11張表,本文將對這幾張表做簡要的分析。表信息共11張表,前6張都是關於各種triggers的信息,後面包括job,悲觀鎖,調度狀態等信息;相關表操作在類StdJDBCDelegate中,相關sql語句在StdJ

原创 Quartz調度源碼分析【面試+工作】

前言本文將具體分析Quartz是如何調度的,是如何通過數據庫的方式來現在分佈式調度。調度線程Quartz內部提供的調度類是QuartzScheduler,而QuartzScheduler會委託QuartzSchedulerThread去實時