摘要:如果不存在最后一個單詞,請返回。樣例輸入輸出解法倒序遍歷去除字符串最后的所有空格定義計數(shù)器緩存長度循環(huán)直到遇到空格,計數(shù)器自增
????本文首發(fā)于cartoon的博客
????轉(zhuǎn)載請注明出處:https://cartoonyu.github.io/c...
Iterator與ListIterator的區(qū)別
Iterator與ListIterator都是Collection的迭代器實現(xiàn),ListIterator繼承于Iterator
遍歷集合分類
Iterator可以遍歷Set,List,Queue的實現(xiàn)類
ListIterator只能遍歷List接口下的實現(xiàn)類
修改被迭代集合
Iterator不能對元素進行修改或者添加元素
ListIterator可以在迭代中修改添加元素
刪除元素
兩個都可以在迭代過程中刪除元素
遍歷方式
Iterator只能向下遍歷
ListIterator可以向前向后遍歷,同時可以獲取當前迭代元素的索引
synchronized和ReentrantLock的區(qū)別
共同點
都是協(xié)調(diào)線程間訪問互斥資源
可重入,同一線程可以多次獲得同一鎖
都保證了可見性和互斥性
不同點
獲取鎖的方式
ReentrantLock需要顯式獲取鎖
synchronized隱式獲取鎖
靈活性
ReentrantLock可以響應中斷,可以切換鎖的公平性
synchronized不可以響應中斷,鎖的獲取只能依靠系統(tǒng)調(diào)度
存在位置
ReentrantLock是API級別
synchronized是JVM級別
底層實現(xiàn)
synchronized是同步阻塞式的,采用悲觀并發(fā)策略
ReentrantLock時同步非阻塞式的,采用樂觀并發(fā)策略
hasCode,equals的了解
hasCode方法是JVM計算對象的哈希碼的方法,計算結(jié)果會放在對象頭的哈希碼字段中
equals是常用的對象對比方法
重寫equals,需要重寫hashCode
equals返回true,hashCode也返回相等的整數(shù)
equasl返回false,hasCode返回不一定相等
hashCode相等,equals對比不一定相等
hashCode不相等,equals返回false
JVM
java對象在jvm的組成
對象頭
自身運行數(shù)據(jù)
哈希碼
GC分代年齡
鎖狀態(tài)標志
線程鎖
偏向線程ID
偏向時間戳
類型指針
對象指向元數(shù)據(jù)的指針
實例數(shù)據(jù)
對齊字節(jié)
雙親委派模型的概念
雙親委派模型發(fā)生在類加載的過程中
當前類不直接負責加載,將類依次遞歸交給父加載器進行加載
若父加載器都不能加載,則當前類負責加載
如果我不想用這個雙親加載模型,怎么操作
自定義類加載器,重載loadClass方法
數(shù)據(jù)庫
延遲加載是什么?Mybatis 是否支持延遲加載?
延遲加載
符合查詢條件的結(jié)果只加載滿足要求的部分
若信息需要更詳細則再查詢從關聯(lián)表
延遲加載配置
查詢語句中開啟fetchType
全局配置文件中
開啟lazyLoadingEnabled(開啟全局延遲加載)
關閉aggressiveLazyLoading
開啟lazyLoadTriggerMethods
select語句是怎么執(zhí)行的
連接器
客戶端通過賬戶密碼進入到mysql服務器層中
查詢緩存
查詢時候執(zhí)行過此條select語句
若執(zhí)行過,直接返回緩存結(jié)果
若未執(zhí)行過,進入第三步
分析器
詞法分析
語法分析
優(yōu)化器
通過選擇索引實現(xiàn)查詢速度的優(yōu)化
執(zhí)行器
操作引擎,進行查詢操作并返回結(jié)果
Spring
spring的作用域
singleton(多用于無狀態(tài))
prototype(多用于有狀態(tài))
session
request
global session
spring的bean線程安全嗎
prototype以及request再每次被調(diào)用會產(chǎn)生新對象,所以是線程安全的
無狀態(tài)的singleton線程安全,有狀態(tài)的singleton線程不安全
session以及global session會造成線程競爭
設計模式
裝飾者模式的原理實現(xiàn)以及java中使用場景
原理以及實現(xiàn)
裝飾者與被裝飾者有一致的行為流程
定義一個接口,接口方法為一致的行為流程
裝飾者與被裝飾者實現(xiàn)同一個接口,并重寫方法實現(xiàn)自身邏輯
當需要裝飾時,傳入被裝飾者到裝飾者的實現(xiàn)邏輯中,并返回裝飾者的對象
使用場景
java的IO相關類
算法
字符串統(tǒng)計最后一個單詞的長度(leetcode58)
題目
給定一個僅包含大小寫字母和空格 " " 的字符串,返回其最后一個單詞的長度。
如果不存在最后一個單詞,請返回 0 。
樣例
輸入:"Hello World"
輸出:5
解法
倒序遍歷去除字符串最后的所有空格
定義計數(shù)器緩存長度
循環(huán)直到遇到空格,計數(shù)器自增
文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/75598.html
摘要:并總結(jié)經(jīng)典面試題集各種算法和插件前端視頻源碼資源于一身的文檔,優(yōu)化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快速搭建項目。 本文是關注微信小程序的開發(fā)和面試問題,由基礎到困難循序漸進,適合面試和開發(fā)小程序。并總結(jié)vue React html css js 經(jīng)典面試題 集各種算法和插件、前端視頻源碼資源于一身的文檔,優(yōu)化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快...
摘要:并總結(jié)經(jīng)典面試題集各種算法和插件前端視頻源碼資源于一身的文檔,優(yōu)化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快速搭建項目。 本文是關注微信小程序的開發(fā)和面試問題,由基礎到困難循序漸進,適合面試和開發(fā)小程序。并總結(jié)vue React html css js 經(jīng)典面試題 集各種算法和插件、前端視頻源碼資源于一身的文檔,優(yōu)化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快...
摘要:并總結(jié)經(jīng)典面試題集各種算法和插件前端視頻源碼資源于一身的文檔,優(yōu)化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快速搭建項目。 本文是關注微信小程序的開發(fā)和面試問題,由基礎到困難循序漸進,適合面試和開發(fā)小程序。并總結(jié)vue React html css js 經(jīng)典面試題 集各種算法和插件、前端視頻源碼資源于一身的文檔,優(yōu)化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快...
摘要:基礎知識復習后端掘金的作用表示靜態(tài)修飾符,使用修飾的變量,在中分配內(nèi)存后一直存在,直到程序退出才釋放空間。將對象編碼為字節(jié)流稱之為序列化,反之將字節(jié)流重建成對象稱之為反序列化。 Java 學習過程|完整思維導圖 - 后端 - 掘金JVM 1. 內(nèi)存模型( 內(nèi)存分為幾部分? 堆溢出、棧溢出原因及實例?線上如何排查?) 2. 類加載機制 3. 垃圾回收 Java基礎 什么是接口?什么是抽象...
閱讀 2252·2021-11-22 09:34
閱讀 1371·2021-10-11 10:59
閱讀 4474·2021-09-22 15:56
閱讀 3364·2021-09-22 15:08
閱讀 3434·2019-08-30 14:01
閱讀 806·2019-08-30 11:16
閱讀 1151·2019-08-26 13:51
閱讀 2933·2019-08-26 13:43