Java

?一要销、Java基礎(chǔ)

1挑辆、JVM笨触、JRE和JDK的關(guān)系

(1)jvm是java虛擬機(jī)宾尚,java程序需要運(yùn)行在jvm上丙笋,java因此實(shí)現(xiàn)跨平臺(tái)性

(2)jre包含jvm 和java的核心類庫(kù)(lang包:基本數(shù)據(jù)培訓(xùn)、基本數(shù)學(xué)函數(shù)煌贴、字符串處理御板、線程、異常處理類)

(3)jdk包含jre和java開發(fā)工具 (編譯工具牛郑、打包工具)

2怠肋、Java有哪些數(shù)據(jù)類型

字節(jié)型byte、短整型short淹朋、整型int笙各、長(zhǎng)整型long、單精度浮點(diǎn)型float础芍、雙精度浮點(diǎn)型double杈抢、字符型char、布爾型boolean

3仑性、&和&&的區(qū)別

(1)二者都要求運(yùn)算符左右兩端的布爾值都是true 整個(gè)表達(dá)式的值才是 true

(2)&&是短路運(yùn)算惶楼,如果&&左邊的表達(dá)式的值是 false,右邊的表達(dá)式會(huì)被直接短路掉诊杆,不會(huì)進(jìn)行運(yùn)算

4歼捐、final 有什么用?用于修飾類晨汹、屬性和方法

(1)被final修飾的類不可以被繼承

(2)被final修飾的方法不可以被重寫

(3)被final修飾的變量不可以被改變豹储,被final修飾不可變的是變量的引用,而不是引用指向的內(nèi)容淘这,引用指向的內(nèi)容是可以改變的

5剥扣、static存在的主要意義

(1)static可以不創(chuàng)建對(duì)象,就能調(diào)用屬性和方法

(2)只會(huì)在類加載的時(shí)候執(zhí)行一次

6慨灭、面向?qū)ο笕筇匦?/p>

封裝朦乏、多態(tài)、繼承

7氧骤、面向?qū)ο笪宕蠡驹瓌t

(1)單一職責(zé)原則:每一個(gè)類應(yīng)該專注于做一件事情呻疹。

(2)開放封閉原則:一個(gè)模塊對(duì)于拓展是開放的,對(duì)于修改是封閉的

(3)里氏替換原則:超類存在的地方筹陵,子類是可以替換的

(4)依賴倒置原則:實(shí)現(xiàn)依賴抽象刽锤,抽象不應(yīng)該依賴具體實(shí)現(xiàn)

(5)接口分離原則:應(yīng)當(dāng)為客戶端提供盡可能小的單獨(dú)的接口,而不是提供大的總的接口

8朦佩、重載(Overload)和重寫(Override)的區(qū)別

(1)重載:發(fā)生在同一個(gè)類中并思,方法名相同參數(shù)列表不同(參數(shù)類型不同、個(gè)數(shù)不同语稠、順序不同)宋彼,與方法返回值和訪問修飾符無關(guān)弄砍,即重載的方法不能根據(jù)返回類型進(jìn)行區(qū)分

(2)重寫:發(fā)生在父子類中,方法名输涕、參數(shù)列表必須相同音婶,返回值小于等于父類,拋出的異常小于等于父類莱坎,訪問修飾符大于等于父類(里氏代換原則)衣式;如果父類方法訪問修飾符為private則子類中就不是重寫。

9檐什、== 和 equals 的區(qū)別是什么

(1)==: 它的作用是判斷兩個(gè)對(duì)象的地址是不是相等

(2)equals : 它的作用也是判斷兩個(gè)對(duì)象是否相等,

(2.1)沒有覆蓋 equals() 方法等價(jià)于==碴卧,

(2.2)覆蓋 equals() 方法

10、JDK 中常用的包有哪些

(1)java.lang:這個(gè)是系統(tǒng)的基礎(chǔ)類乃正;

(2)java.io:這里面是所有輸入輸出有關(guān)的類住册,比如文件操作等;

(3)java.nio:為了完善 io 包中的功能瓮具,提高 io 包中性能而寫的一個(gè)新包界弧;

(4)java.net:這里面是與網(wǎng)絡(luò)有關(guān)的類;

(5)java.util:這個(gè)是系統(tǒng)輔助類搭综,特別是集合類垢箕;

(6)java.sql:這個(gè)是數(shù)據(jù)庫(kù)操作的類。

11兑巾、java 中 IO 流分為幾種?

按照流的流向分条获,可以分為輸入流和輸出流;

按照操作單元?jiǎng)澐纸瑁梢詣澐譃樽止?jié)流和字符流帅掘;

按照流的角色劃分為節(jié)點(diǎn)流和處理流。

Java Io流共涉及40多個(gè)類堂油,這些類看上去很雜亂修档,但實(shí)際上很有規(guī)則,而且彼此之間存在非常緊密的聯(lián)系府框, Java I0流的40多個(gè)類都是從如下4個(gè)抽象類基類中派生出來的吱窝。

? ? InputStream/Reader: 所有的輸入流的基類,前者是字節(jié)輸入流迫靖,后者是字符輸入流院峡。

? ? OutputStream/Writer: 所有輸出流的基類,前者是字節(jié)輸出流系宜,后者是字符輸出流照激。

按操作方式分類結(jié)構(gòu)圖:

12、Java獲取反射的三種方法

1.通過new對(duì)象實(shí)現(xiàn)反射機(jī)制

2.通過路徑實(shí)現(xiàn)反射機(jī)制

3.通過類名實(shí)現(xiàn)反射機(jī)制

13盹牧、java中進(jìn)程和線程的區(qū)別和聯(lián)系_進(jìn)程和線程有什么聯(lián)系和區(qū)別俩垃?

1.定義:

(1)?進(jìn)程是具有一定獨(dú)立功能的程序關(guān)于某個(gè)數(shù)據(jù)集合上的一次運(yùn)行活動(dòng)励幼,是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位。

(2)?線程是進(jìn)程的一個(gè)實(shí)體口柳,是CPU調(diào)度和分派的基本單位赏淌,他是比進(jìn)程更小的能獨(dú)立運(yùn)行的基本單位,線程自己基本上不擁有系統(tǒng)資源啄清,只擁有一點(diǎn)在運(yùn)行中必不可少的資源(如程序計(jì)數(shù)器,一組寄存器和棧)俺孙,一個(gè)線程可以創(chuàng)建和撤銷另一個(gè)線程辣卒。

2.進(jìn)程和線程的關(guān)系:

(1)一個(gè)線程只能屬于一個(gè)進(jìn)程,而一個(gè)進(jìn)程可以有多個(gè)線程睛榄,但至少有一個(gè)線程荣茫。

(2)資源分配給進(jìn)程,同一進(jìn)程的所有線程共享該進(jìn)程的所有資源场靴。

(3)線程在執(zhí)行過程中啡莉,需要協(xié)作同步。不同進(jìn)程的線程間要利用消息通信的辦法實(shí)現(xiàn)同步旨剥。

(4)處理機(jī)分給線程,即真正在處理機(jī)上運(yùn)行的是線程咧欣。

(5)線程是指進(jìn)程內(nèi)的一個(gè)執(zhí)行單元,也是進(jìn)程內(nèi)的可調(diào)度實(shí)體。

3.線程與進(jìn)程的區(qū)別:

(1)調(diào)度:線程作為調(diào)度和分配的基本單位,進(jìn)程作為擁有資源的基本單位

(2)并發(fā)性:不僅進(jìn)程之間可以并發(fā)執(zhí)行,同一個(gè)進(jìn)程的多個(gè)線程之間也可以并發(fā)執(zhí)行轨帜。

(3)擁有資源:進(jìn)程是擁有資源的一個(gè)獨(dú)立單位,線程不擁有系統(tǒng)資源,但可以訪問隸屬于進(jìn)程的資源魄咕。

(4)系統(tǒng)開銷:在創(chuàng)建或撤銷進(jìn)程的時(shí)候,由于系統(tǒng)都要為之分配和回收資源,導(dǎo)致系統(tǒng)的明顯大于創(chuàng)建或撤銷線程時(shí)的開銷。但進(jìn)程有獨(dú)立的地址空間,進(jìn)程崩潰后,在保護(hù)模式下不會(huì)對(duì)其他的進(jìn)程產(chǎn)生影響蚌父,而線程只是一個(gè)進(jìn)程中的不同的執(zhí)行路徑哮兰。線程有自己的堆棧和局部變量,但線程之間沒有單獨(dú)的地址空間,一個(gè)線程死掉就等于整個(gè)進(jìn)程死掉,所以多進(jìn)程的程序要比多線程的程序健壯,但是在進(jìn)程切換時(shí),耗費(fèi)的資源較大,效率要差些。

二苟弛、java集合容器

1喝滞、集合和數(shù)組的區(qū)別

(1)數(shù)組是固定長(zhǎng)度的;集合可變長(zhǎng)度的

(2)數(shù)組可以存儲(chǔ)基本數(shù)據(jù)類型膏秫,也可以存儲(chǔ)引用數(shù)據(jù)類型右遭;集合只能存儲(chǔ)引用數(shù)據(jù)類型

(3)數(shù)組存儲(chǔ)的元素必須是同一個(gè)數(shù)據(jù)類型;集合存儲(chǔ)的對(duì)象可以是不同數(shù)據(jù)類型

2缤削、常用的集合類有哪些狸演?

? ? Map接口和Collection接口是所有集合框架的父接口:

? ? (1)Collection接口的子接口包括:Set接口和List接口

? ? (2)Map接口的實(shí)現(xiàn)類主要有:HashMap、TreeMap僻他、Hashtable宵距、ConcurrentHashMap以及Properties等

? ? (3)Set接口的實(shí)現(xiàn)類主要有:HashSet、TreeSet吨拗、LinkedHashSet等

? ? (4)List接口的實(shí)現(xiàn)類主要有:ArrayList满哪、LinkedList婿斥、Stack以及Vector等

3、集合框架底層數(shù)據(jù)結(jié)構(gòu)

? ? Collection

? ? List

? ? Arraylist:數(shù)組,有序哨鸭,可重復(fù)民宿,默認(rèn)初始長(zhǎng)度10,每次擴(kuò)容二分之一,newCapacity = oldCapacity + (oldCapacity >> 1)

? ? LinkedList: 雙向循環(huán)鏈表像鸡,插入刪除較多是比Arraylist性能高

? ? Vector:數(shù)組活鹰,線程安全,每次擴(kuò)容一倍

? ? Stack:棧,后進(jìn)先出

? ? ArrayQueue 數(shù)組隊(duì)列只估,先進(jìn)后出

? ? Queue 隊(duì)列志群,有序、可重復(fù)

? ? ArrayDeque 數(shù)組實(shí)現(xiàn)的雙端隊(duì)列蛔钙,ArrayDeque 是隊(duì)列锌云,但也可以作為棧使用,而且對(duì)比 Stack 更高效吁脱。作為雙端隊(duì)列那就可以在隊(duì)列兩端插入和刪除元素桑涎。當(dāng)追加元素超過容量限制時(shí),則創(chuàng)建一個(gè)兩邊容量的新數(shù)組兼贡,并將原數(shù)組的內(nèi)容拷貝到新數(shù)組中攻冷。

? ? LinkedList 隊(duì)列也是雙向鏈表

? ? PriorityQueue 優(yōu)先隊(duì)列,數(shù)組實(shí)現(xiàn)的二叉樹遍希,PriorityQueue 是一個(gè)完全二叉樹實(shí)現(xiàn)的小頂堆(任意一個(gè)非葉子節(jié)點(diǎn)的權(quán)值讲衫,都不大于其左右子節(jié)點(diǎn)的權(quán)值)。

? ? Set

? ? HashSet(無序孵班,唯一):基于 HashMap 實(shí)現(xiàn)的涉兽,底層采用 HashMap 來保存元素

? ? LinkedHashSet: LinkedHashSet 繼承與 HashSet,并且其內(nèi)部是通過 LinkedHashMap 來實(shí)現(xiàn)的篙程。

? ? TreeSet(有序枷畏,唯一): 紅黑樹(自平衡的排序二叉樹。)

? ? Map

? ? HashMap:

? ? (1)JDK1.8之前由數(shù)組+鏈表組成的虱饿,JDK1.8以后當(dāng)鏈表長(zhǎng)度大于閾值(默認(rèn)為8)時(shí)拥诡,將鏈表轉(zhuǎn)化為紅黑樹

? ? (2)key是唯一的,鍵值都可以為null,默認(rèn)初始容量16,擴(kuò)容:newsize = oldsize*2,size一定為2的n次冪氮发,默認(rèn)加載因子0.75,index = hash & (tab.length – 1)渴肉,J

? ? LinkedHashMap:繼承自 HashMap,所以它的底層仍然是基于拉鏈?zhǔn)缴⒘薪Y(jié)構(gòu)即由數(shù)組和鏈表或紅黑樹組成爽冕。另外在上面結(jié)構(gòu)的基礎(chǔ)上仇祭,增加了一條雙向鏈表,使得上面的結(jié)構(gòu)可以保持鍵值對(duì)的插入順序颈畸。同時(shí)通過對(duì)鏈表進(jìn)行相應(yīng)的操作乌奇,實(shí)現(xiàn)了訪問順序相關(guān)邏輯没讲。

? ? HashTable:

? ? (1)底層數(shù)組+鏈表實(shí)現(xiàn),無論key還是value都不能為null礁苗,線程安全哲银,實(shí)現(xiàn)線程安全的方式是在修改數(shù)據(jù)時(shí)鎖住整個(gè)HashTable喊暖,效率低熄攘,

? ? (2)初始size為11勤哗,擴(kuò)容:newsize = olesize*2+1,計(jì)算index的方法:index = (hash & 0x7FFFFFFF) % tab.length

? ? TreeMap:

? ? (1)紅黑樹(自平衡的排序二叉樹),可排序

? ? ConcurrentHashMap:

? ? (1)底層采用分段的數(shù)組+鏈表實(shí)現(xiàn)疏叨,線程安全

? ? ? ? (2)通過把整個(gè)Map分為N個(gè)Segment潘靖,可以提供相同的線程安全,但是效率提升N倍考廉,默認(rèn)提升16倍。(讀操作不加鎖携御,由于HashEntry的value變量是 volatile的昌粤,也能保證讀取到最新的值。)

? ? ? ? (3)Hashtable的synchronized是針對(duì)整張Hash表的啄刹,即每次鎖住整張表讓線程獨(dú)占涮坐,ConcurrentHashMap允許多個(gè)修改操作并發(fā)進(jìn)行,其關(guān)鍵在于使用了鎖分離技術(shù)

? ? ? ? (4)有些方法需要跨段誓军,比如size()和containsValue()袱讹,它們可能需要鎖定整個(gè)表而而不僅僅是某個(gè)段,這需要按順序鎖定所有段昵时,操作完畢后捷雕,又按順序釋放所有段的鎖

? ? ? ? (5)擴(kuò)容:段內(nèi)擴(kuò)容(段內(nèi)元素超過該段對(duì)應(yīng)Entry數(shù)組長(zhǎng)度的75%觸發(fā)擴(kuò)容,不會(huì)對(duì)整個(gè)Map進(jìn)行擴(kuò)容)壹甥,插入前檢測(cè)需不需要擴(kuò)容救巷,有效避免無效擴(kuò)容

? ? (6)鎖分段技術(shù):首先將數(shù)據(jù)分成一段一段的存儲(chǔ),然后給每一段數(shù)據(jù)配一把鎖句柠,當(dāng)一個(gè)線程占用鎖訪問其中一個(gè)段數(shù)據(jù)的時(shí)候浦译,其他段的數(shù)據(jù)也能被其他線程訪問。 ConcurrentHashMap提供了與Hashtable和SynchronizedMap不同的鎖機(jī)制溯职。Hashtable中采用的鎖機(jī)制是一次鎖住整個(gè)hash表精盅,從而在同一時(shí)刻只能由一個(gè)線程對(duì)其進(jìn)行操作;而ConcurrentHashMap中則是一次鎖住一個(gè)桶谜酒。ConcurrentHashMap默認(rèn)將hash表分為16個(gè)桶叹俏,諸如get、put僻族、remove等常用操作只鎖住當(dāng)前需要用到的桶她肯。這樣佳头,原來只能一個(gè)線程進(jìn)入,現(xiàn)在卻能同時(shí)有16個(gè)寫線程執(zhí)行晴氨,并發(fā)性能的提升是顯而易見的康嘉。

4、哪些集合類是線程安全的籽前?

vector:就比arraylist多了個(gè)同步化機(jī)制(線程安全)亭珍,因?yàn)樾瘦^低,現(xiàn)在已經(jīng)不太建議使用枝哄。在web應(yīng)用中肄梨,特別是前臺(tái)頁面,往往效率(頁面響應(yīng)速度)是優(yōu)先考慮的挠锥。

statck:堆棧類众羡,先進(jìn)后出。

hashtable:就比hashmap多了個(gè)線程安全蓖租。

enumeration:枚舉粱侣,相當(dāng)于迭代器。

5蓖宦、Java集合的快速失敗機(jī)制 “fail-fast”齐婴?

是java集合的一種錯(cuò)誤檢測(cè)機(jī)制,當(dāng)多個(gè)線程對(duì)集合進(jìn)行結(jié)構(gòu)上的改變的操作時(shí)稠茂,有可能會(huì)產(chǎn)生 fail-fast 機(jī)制柠偶。

例如:假設(shè)存在兩個(gè)線程(線程1、線程2)睬关,線程1通過Iterator在遍歷集合A中的元素诱担,在某個(gè)時(shí)候線程2修改了集合A的結(jié)構(gòu)(是結(jié)構(gòu)上面的修改,而不是簡(jiǎn)單的修改集合元素的內(nèi)容)电爹,那么這個(gè)時(shí)候程序就會(huì)拋出 ConcurrentModificationException 異常该肴,從而產(chǎn)生fail-fast機(jī)制。

原因:迭代器在遍歷時(shí)直接訪問集合中的內(nèi)容藐不,并且在遍歷過程中使用一個(gè) modCount 變量匀哄。集合在被遍歷期間如果內(nèi)容發(fā)生變化,就會(huì)改變modCount的值雏蛮。每當(dāng)?shù)魇褂胔ashNext()/next()遍歷下一個(gè)元素之前涎嚼,都會(huì)檢測(cè)modCount變量是否為expectedmodCount值,是的話就返回遍歷挑秉;否則拋出異常法梯,終止遍歷。

解決辦法:

在遍歷過程中,所有涉及到改變modCount值得地方全部加上synchronized立哑。

使用CopyOnWriteArrayList來替換ArrayList

6夜惭、怎么確保一個(gè)集合不能被修改?

可以使用 Collections. unmodifiableCollection(Collection c) 方法來創(chuàng)建一個(gè)只讀集合铛绰,這樣改變集合的任何操作都會(huì)拋出 Java. lang. UnsupportedOperationException 異常诈茧。

7、Iterator 和 ListIterator 有什么區(qū)別捂掰?

Iterator 可以遍歷 Set 和 List 集合敢会,而 ListIterator 只能遍歷 List。

Iterator 只能單向遍歷这嚣,而 ListIterator 可以雙向遍歷(向前/后遍歷)鸥昏。

ListIterator 實(shí)現(xiàn) Iterator 接口,然后添加了一些額外的功能姐帚,比如添加一個(gè)元素吏垮、替換一個(gè)元素、獲取前面或后面元素的索引位置

8罐旗、遍歷一個(gè) List 有哪些不同的方式膳汪?每種方法的實(shí)現(xiàn)原理是什么?

? ? (1)for 循環(huán)遍歷尤莺,基于計(jì)數(shù)器旅敷。在集合外部維護(hù)一個(gè)計(jì)數(shù)器生棍,然后依次讀取每一個(gè)位置的元素颤霎,當(dāng)讀取到最后一個(gè)元素后停止。

? ? (2)迭代器遍歷涂滴,Iterator友酱。Iterator 是面向?qū)ο蟮囊粋€(gè)設(shè)計(jì)模式,目的是屏蔽不同數(shù)據(jù)集合的特點(diǎn)柔纵,統(tǒng)一遍歷集合的接口缔杉。Java 在 Collections 中支持了 Iterator 模式。

? ? (3)foreach 循環(huán)遍歷搁料。foreach 內(nèi)部也是采用了 Iterator 的方式實(shí)現(xiàn)或详,使用時(shí)不需要顯式聲明 Iterator 或計(jì)數(shù)器。優(yōu)點(diǎn)是代碼簡(jiǎn)潔郭计,不易出錯(cuò)霸琴;缺點(diǎn)是只能做簡(jiǎn)單的遍歷,不能在遍歷過程中操作數(shù)據(jù)集合昭伸,例如刪除梧乘、替換。

9、說一下 HashMap 的實(shí)現(xiàn)原理选调?

HashMap概述: HashMap是基于哈希表的Map接口的非同步實(shí)現(xiàn)夹供。此實(shí)現(xiàn)提供所有可選的映射操作,并允許使用null值和null鍵仁堪。此類不保證映射的順序哮洽,特別是它不保證該順序恒久不變。

HashMap的數(shù)據(jù)結(jié)構(gòu): 在Java編程語言中枝笨,最基本的結(jié)構(gòu)就是兩種袁铐,一個(gè)是數(shù)組,另外一個(gè)是模擬指針(引用)横浑,所有的數(shù)據(jù)結(jié)構(gòu)都可以用這兩個(gè)基本結(jié)構(gòu)來構(gòu)造的剔桨,HashMap也不例外。HashMap實(shí)際上是一個(gè)“鏈表散列”的數(shù)據(jù)結(jié)構(gòu)徙融,即數(shù)組和鏈表的結(jié)合體洒缀。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市欺冀,隨后出現(xiàn)的幾起案子树绩,更是在濱河造成了極大的恐慌,老刑警劉巖隐轩,帶你破解...
    沈念sama閱讀 221,548評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件饺饭,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡职车,警方通過查閱死者的電腦和手機(jī)瘫俊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來悴灵,“玉大人扛芽,你說我怎么就攤上這事』鳎” “怎么了川尖?”我有些...
    開封第一講書人閱讀 167,990評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)茫孔。 經(jīng)常有香客問我叮喳,道長(zhǎng),這世上最難降的妖魔是什么缰贝? 我笑而不...
    開封第一講書人閱讀 59,618評(píng)論 1 296
  • 正文 為了忘掉前任馍悟,我火速辦了婚禮,結(jié)果婚禮上揩瞪,老公的妹妹穿的比我還像新娘赋朦。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評(píng)論 6 397
  • 文/花漫 我一把揭開白布宠哄。 她就那樣靜靜地躺著壹将,像睡著了一般。 火紅的嫁衣襯著肌膚如雪毛嫉。 梳的紋絲不亂的頭發(fā)上诽俯,一...
    開封第一講書人閱讀 52,246評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音承粤,去河邊找鬼暴区。 笑死,一個(gè)胖子當(dāng)著我的面吹牛辛臊,可吹牛的內(nèi)容都是我干的仙粱。 我是一名探鬼主播,決...
    沈念sama閱讀 40,819評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼彻舰,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼伐割!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起刃唤,我...
    開封第一講書人閱讀 39,725評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤隔心,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后尚胞,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體硬霍,經(jīng)...
    沈念sama閱讀 46,268評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評(píng)論 3 340
  • 正文 我和宋清朗相戀三年笼裳,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了唯卖。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,488評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡侍咱,死狀恐怖耐床,靈堂內(nèi)的尸體忽然破棺而出密幔,到底是詐尸還是另有隱情楔脯,我是刑警寧澤,帶...
    沈念sama閱讀 36,181評(píng)論 5 350
  • 正文 年R本政府宣布胯甩,位于F島的核電站昧廷,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏偎箫。R本人自食惡果不足惜木柬,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望淹办。 院中可真熱鬧眉枕,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至姥宝,卻和暖如春翅萤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背腊满。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工套么, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人碳蛋。 一個(gè)月前我還...
    沈念sama閱讀 48,897評(píng)論 3 376
  • 正文 我出身青樓胚泌,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親肃弟。 傳聞我的和親對(duì)象是個(gè)殘疾皇子诸迟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評(píng)論 2 359