原创 redis與linux系統調用epoll

       redis 是一個單線程卻性能非常好的內存數據庫, 主要用來作爲緩存系統。 redis 採用linux網絡IO多路複用技術(epoll)來保證在多連接的時候, 系統的高吞吐量。redis的高併發與epoll介紹如下:

原创 kafka與linux系統調用

       儘管kafka的消息保存在磁盤中,kafka確有着高吞吐率,支持每秒百萬級的寫入請求,一個重要的原因是kafka使用了多項linux系統調用,使得讀寫速度那麼快。本篇首先簡要介紹kafka,然後說明kafka使用的l

原创 scala符號以及_*等

1.(1)函數傳名調用(call-by-name)符號: =>名字作爲一個參數 (2)R <: { def close():Unit }繼承,R是子類,這裏繼承方法close():Unit 例子 objectmanage {

原创 JVM 底層 與 GC(Garbage Collection)

31)64 位 JVM 中,int 的長度是多數? Java 中,int 類型變量的長度是一個固定值,與平臺無關,都是 32 位。意思就是說,在 32 位 和 64 位 的Java 虛擬機中,int 類型的長度是相同的。 32)Seria

原创 線程安全與死鎖總結

1) 什麼是線程? 線程是操作系統能夠進行運算調度的最小單位,它被包含在進程之中,是進程中的實際運作單位。程序員可以通過它進行多處理器編程,你可以使用多線程對運算密集型任務提速。比如,如果一個線程完成一個任務要100毫秒,那麼用十個線程完

原创 多線程、併發及線程的基礎問題

多線程、併發及線程的基礎問題 1)Java 中能創建 volatile 數組嗎? 能,Java 中可以創建 volatile 類型數組,不過只是一個指向數組的引用,而不是整個數組。我的意思是,如果改變引用指向的數組,將會受到 volati

原创 Java中其他各式各樣的問題

這部分包含 Java 中關於 XML 的面試題,JDBC 面試題,正則表達式面試題,Java 錯誤和異常及序列化面試題 125)嵌套靜態類與頂級類有什麼區別?(答案) 一個公共的頂級類的源文件名稱與類名相同,而嵌套靜態類沒有這個要求。一個

原创 Java IO 和 NIO基礎知識

IO 是 Java 面試中一個非常重要的點。你應該很好掌握 Java IO,NIO,NIO2 以及與操作系統,磁盤 IO 相關的基礎知識。下面是 Java IO 中經常問的問題。 66)在我 Java 程序中,我有三個 socket,我需

原创 關於 OOP 和設計模式

這部分包含 Java 面試過程中關於 SOLID 的設計原則,OOP 基礎,如類,對象,接口,繼承,多態,封裝,抽象以及更高級的一些概念,如組合、聚合及關聯。也包含了 GOF 設計模式的問題。 103)接口是什麼?爲什麼要使用接口而不是直

原创 數據類型和 Java 基礎

17)Java 中應該使用什麼數據類型來代表價格? 如果不是特別關心內存和性能的話,使用BigDecimal,否則使用預定義精度的 double 類型。 18)怎麼將 byte 轉換爲 String? 可以使用 String 接收 byt

原创 java關於內存的基本概念

Java 基本概念面試題 44)“a==b”和”a.equals(b)”有什麼區別? 如果 a 和 b 都是對象,則 a==b 是比較兩個對象的引用,只有當 a 和 b 指向的是堆中的同一個對象纔會返回 true,而 a.equals(b

原创 Java 最佳實踐

包含 Java 中各個部分的最佳實踐,如集合,字符串,IO,多線程,錯誤和異常處理,設計模式等等。 76)Java 中,編寫多線程程序的時候你會遵循哪些最佳實踐?(答案) 這是我在寫Java 併發程序的時候遵循的一些最佳實踐: a)給線程

原创 Java 集合框架

這部分也包含數據結構、算法及數組的面試問題 48) List、Set、Map 和 Queue 之間的區別(答案) List 是一個有序集合,允許元素重複。它的某些實現可以提供基於下標值的常量訪問時間,但是這不是 List 接口保證的。Se

原创 python sklearn預處理方法

1. 標準化(scale) 標準化目的是去均值。變換後各維特徵有0均值,單位方差。也叫z-score規範化(零均值規範化)。計算方式是將特徵值減去均值,除以標準差。 import numpy as np from sklearn imp

原创 presto部署連接postgresql

Presto配置 依據官網介紹(https://prestodb.io/docs/current/installation/deployment.html)按步驟配置並啓動presto。 下載presto-server並解壓重命名爲pre