原创 https 和 http 的區別

在網絡的學習中,我們頻繁的接觸到HTTP這個協議。從概念上來說,超文本傳輸協議(HTTP,HyperText Transfer Protocol)是互聯網上應用最爲廣泛的一種網絡協議。所有的WWW文件都必須遵守這個標準。 我們知道

原创 如何設置請求的編碼以及響應內容的類型

設置請求的編碼:request.setCharacterEncoding(String) 例如:request.setCharacterEncoding(“utf-8”) 設置響應內容的類型:response.setContent

原创 數據庫鎖的機制

鎖機制: 有些業務邏輯在執行過程中要求對數據進行排他性的訪問,於是需要通過一些機制保證在此過程中數據被鎖住不會被外界修改. 悲觀鎖:悲觀的認爲在數據的處理過程中極有可能存在修改數據的併發事務,於是將處理數據設置爲鎖定狀態.悲觀鎖必

原创 設計模式--代理模式

在代理模式(Proxy Pattern)中,一個類代表另一個類的功能。這種類型的設計模式屬於結構型模式。 在代理模式中,我們創建具有現有對象的對象,以便向外界提供功能接口。 1 介紹 意圖:爲其他對象提供一種代理以控制對這個對象的

原创 線程私有變量

線程對象也是從一個(線程)類而構建的,線程類作爲一個類也可以擁有自己的私有成員。這個成員爲此線程對象私有,有時候使用線程私有變量,會巧妙避免一些併發安全的問題,提高程序的靈活性和編碼的複雜度。 下面舉例來說吧,統計一個線程類創建過

原创 操作系統線程和進程的同步機制和通信機制

現在流行的進程線程同步互斥的控制機制,其實是由最原始最基本的4種方法實現的。由這4種方法組合優化就有了.Net和Java下靈活多變的,編程簡便的線程進程控制手段: 臨界區(Critical Section)、互斥量(Mutex)、

原创 數據庫常見的優化方法及方案

1. 優化方向 SQL以及索引的優化。首先根據需求寫出良好的SQL,然後根據SQL在表中建立有效的索引。但是索引不能過多,否則會影響查詢效率。 合理的數據庫設計。根據數據庫三範式來進行表的結果設計,設計時應該考慮如何更有效的進行

原创 Redis的List的使用場景

list類型是簡單的字符串列表,按照插入順序排序。每個列表最多可以存儲 2^32 - 1 個元素(40多億). list類型主要有以下應用場景: 消息隊列:list類型的lpop和rpush(或者反過來,lpush和rpop)能

原创 索引的最左前綴原理

通常我們在建立聯合索引的時候,也就是對多個字段建立索引,相信建立過索引的同學們會發現,無論是oralce還是mysql都會讓我們選擇索引的順序,比如我們想在a,b,c三個字段上建立一個聯合索引,我們可以選擇自己想要的優先級,a、b

原创 ARP協議

1. 概念 我們知道,以太網設備比如網卡都有自己唯一的MAC地址,它們是以MAC地址傳輸以太網數據包的,但是它們卻識別不了IP包中的IP地址,所以我們在以太網中進行IP通信的時候就需要一個協議來建立IP地址與MAC地址的對應關係,

原创 Spring事務傳播特性

Spring事務屬性的種類:傳播行爲、隔離級別、只讀和事務超時 1.傳播行爲定義了被調用方法的事務邊界 傳播行爲 意義 PROPERGATION_MANDATORY 表示方法必須運行在一個事務中,如果當前事務不存在,

原创 java面試(十六)--(1)Spring事務傳播特性(2)java有虛函數與C++區別(3)IO流大全(4)泛型區別

1.Spring事務傳播特性 Spring事務屬性的種類:傳播行爲、隔離級別、只讀和事務超時 1.傳播行爲定義了被調用方法的事務邊界 傳播行爲 意義 PROPERGATION_MANDATORY 表示方法必須運行在一

原创 jav面試(十五)--(1)請談一談ClassLoader(類加載器), 以及對雙親委派模型理解(2)JVM內存(3)JAVA鎖(4)ThreadLocal

1.請談一談ClassLoader(類加載器), 以及對雙親委派模型理解 從java虛擬機的角度講,只有兩種不同的類加載器:一種是啓動類加載器(Bootstrap ClassLoader),這個類加載器使用的是c++實現的,是虛擬

原创 java面試(五)--(1)JSP和Servlet異同與聯繫(2) EJB(3)冒泡排序(優化算法)

1.JSP和Servlet有哪些相同點和不同點,他們之間的聯繫是什麼? 區別: 1.jsp經編譯後就變成了Servlet.(JSP的本質就是Servlet,JVM只能識別java的類,不能識別JSP的代碼,Web容器將JSP的代碼

原创 java面試阿里第1期--代碼面(1)選擇排序(2)判斷二進制裏1的個數(3)輸入String判斷是不是ipv4地址

1.選擇排序 import java.util.Arrays; public class TestSelectSort { //測試選擇排序 public static void selectSort(int[]a