1. 假如有字符串”6sabcsssfsfs33”,用最快速的方法去掉字符”s3”,不能用java內置字符串方法。
2. 寫一個大小寫轉換的程序,將小寫的金額如1345,轉為大寫的金額”壹仟叄佰肆拾伍元”,要求支持到千萬,不需要支持小數。
3. 寫一個泛型類,加入Add()方法,Delete()方法,Find()方法,內部數據用List存儲。
4. 有僱員類,兩個私有變量name,salary;經理類還有自己的私有變量bonus;僱員類包含getName()和getSalary(),經理類除上述方法外,還有自己的setBonus()方法
要求:建立員工數組,記錄數為10,記錄信息自定義,並且經理作為其中一個元素,其他元素為員工,對此數組按名稱進行排序。
附加題:
利用上一題的實體類,增加一個Node類,此Node類採用樹形組合的結構,既包含自己也包含子對象,Node類中有的主要屬性Key,name和人員對象等,增加方法如下:
方法一:Add,參數為Key,Name,員工對象,父節點Key,此方法添加一個員工或經理。
方法二:Find,此方法要求遞歸遍歷所有節點,按名稱查找出某個員工
驗證:一個公司中包括一個總經理,總經理管理三個經理,每個經理管理五個員工,另外一個員工由總經理管理,請按樹形的層次建立多個Node對象,並且要有一個根Node對象(總經理)
將一個字符串逆序輸出,不使用中間變量!
StringBuffer buffer = new StringBuffer("abc");
System.out.println(buffer.reverse());
10000個數求第二大的數,不使用排序
Linux常用命令:
Linux命令查找:http://linux.51yip.com/
1. 磁盤管理
cd:切換目錄;
ll:展示當前目錄文件夾;ls:橫著展示;(可以帶參數 -a;例:ll -a可以展示隱藏文件)
dir:列出當前當前目錄下的文件或文件夾;(用的少)
mkdir:創建文件夾;
df:查看系統磁盤使用情況 (df -h:列出跟詳細)
du:查看文件和目錄的磁盤空間使用情況 (du -sh)
pwd:顯示當前目錄;
2. 文件管理
mv:文件(夾)重命名或將文件(夾)移動到指定目錄;
rm、rm -rf:刪除文件或者目錄;(rm:不能刪除文件夾,只能文件;刪文件加 -rf)
touch:創建一個新文件或將文件的最後修改時間改為當前時間(無就創建,有就修改為當前 時間);
cat:將整個文件內容輸出到控制檯;
more:逐屏輸出(空格鍵下一頁,回車鍵逐行展示)
less:逐屏輸出(用的少)
head:顯示頭十行;
tail:末尾十行(查看tomcat日誌常用:tail -f)
cp:複製文件內容(是否覆蓋:y/n) cp -rf:目錄文件夾,文件都可以複製
find:查找文件,例:find /-name(名字) ,find /-mtime +5(查找五天前修改的文件)
(find ./ :當前目錄下)
whereis:查找文件主要用於程序名的搜索,而且只搜索二進制文件(
-b),man說明手冊(-m),源代碼文件(-s),如果參數省略返回所有信息。which:在path變量指定的路徑中,搜索某個系統命令的位置,並且返回第一個搜索結果(例: which mkdir)
3. 系統設置
date:顯示或設置系統日期時間,date -s ‘時間’:修改時間
shutdown -h now:關機;
rebox:重啟;
ps:ps -ef:列出系統的當前進程、
ps -aux:多了內存和CPU佔比kill:殺掉進程(kill -pid),強制殺掉(kill -pid -9)
su:切換用戶(高級用戶--->普通用戶:不需要輸密碼;普通--->高級:密碼)
top:系統運行負載情況(退出:ctrl+c)
uptime:系統負載情況(非動態)
free:查看內存使用情況 ;-m以MB結尾
uname:查看系統信息 ;-a 展示所有
hostname:查看主機名
who、whoami:表示當前登錄系統的;
clear:清除(回到頂部)
crontab:linux下的定時任務;
crontab使用:編輯創建crontab:crontab -e
查看:crontab:crontab -l
刪除:crontab:crontab -r
(*/1 * * * * echo "hello world" >> /opt/crontab.log)輸出
>:重定向覆蓋輸出
>>:重定向輸出追加
|:管道符號,用於把管道左邊的輸出作為右邊的輸出(grep:過濾)
4. 用戶管理
useradd:添加用戶
userdel:刪除用戶 (包括文件夾:userdel -r)
passwd:修改用戶密碼,修改當前登錄用戶密碼passwd,修改指定用戶密碼
5. 網絡通訊
ifconfig:查看系統IP
netstat:查看網絡端口,netstat -nlp
ping:測試某個地址是否可以連通
6. 文件權限
chmod:更改權限
7. 備份壓縮
tar:解壓:(
tar -zxvf xxx.tar.gz; tar -xf xxx.tar)|壓縮:(tar -zcvf xxx.tar.gz ./aa/* ; tar -zcvf xxx.tar ./aa/*)
zip:壓縮為zip格式,zip aa.zip aa.log
unzip:解壓zip格式的壓縮包,unzip aa.zip
curl:抓取網絡文件的內容(頁面內容)
wget:網絡下載(wget 完整路徑)
常用快捷鍵:tab:命令1自動補全或顯示可選項;ctrl + c終止當前進程;ctrl + d關閉終端
Vi:是linux下標配的純字符界面的文本編輯器,由於不是圖形界面,相關的操作都要通過鍵盤輸入命令來完成,需要記住一些常用的操作命令。
Vim:是vi的升級版,完全兼容vi,vim也可以完全當成vi使用,vim是在vi的基礎上增加一些功能,比如語法著色等。
啟動vi:(vi 文件名)如果參數中的文件存在,則打開該文件,如果參數中的文件不存在,則會新建該文件(不是立即創建,而是在保存的時候創建)
Vi操作模式:命令模式:(按a或者j,進入編輯模式,此時,底部會出現insert)
在命令模式下,按 :wq保存退出;按 :q! 不保存退出
Vi常用快捷鍵:dd:刪除光標所在行;yy:複製光標所在行到緩衝區;
p: 粘貼緩存區中的內容;gg:光標回到文件第一行;
GG:光標回到文件最後一行;^:光標移動至當前行的行首;
$:光標移動至當前行的行尾
Linux目錄說明:
bin ->usr/bin:這個目錄存放最常使用命令
boot:這個目錄存放啟動linux時使用的一些核心文件,包括一些連接文件及鏡像文件
dev:dev是Device(設備)的縮寫,該目錄下存放的是linux的外部設備,linux中的設 備也是以文件形式存在;
etc:這個目錄存放所有的系統管理所需要的配置文件
home:用戶的主目錄,在linux中,每個用戶都有一個自己的目錄,一般該目錄名以用 戶的賬號命名
Lib -> usr/lib:存放系統最基本的動態鏈接庫,其作用類似於windows裡的DLL文件, 幾乎所有的應用程序都需要用到這些共享庫
Lib ->usr/lib64:64位的系統動態連接共享庫
media:linux會自動識別一些設備,U盤、光驅等;當識別後,linux會把識別的設備掛 載到這個目錄下
mnt:讓用戶臨時掛載別的文件系統,我們可以將光驅掛載在/mnt/上,然後進入目錄 就可以查看光驅裡的內容
opt:安裝其他軟件目錄
proc:虛擬目錄,系統內存映射
root:超級管理員目錄
run:程序運行時產生的文件
sbin:系統管理員使用的命令
srv:該目錄存放一些服務啟動之後需要提取的數據
sys:系統目錄
tmp:臨時文件
usr:應用程序存放目錄
var:類似臨時目錄,經常修改的
Rpm及yum
rpm:軟件包管理方式,使用rpm我們可以方便的進行軟件的安裝、查詢、卸載等,但是使用rpm命令安裝rpm軟件包,不能解決軟件包之間的依賴問題,需要自己一個一個去安裝依賴的軟件包。
yum:軟件包管理器,基於rpm,能夠制定服務器自動下載rpm包並且進行安裝,可以自動處理軟件包之間的依賴關係,並且一次安裝所有依賴包,無須繁瑣的一次次下載、安裝。
Rpm與yum區別
Rpm只能安裝一個指定的軟件包,如果該軟件包存在依賴關係,比如安裝A包,需要先安裝B包,採用rpm就要先安裝B,再安裝A。
Yum能自動檢測軟件包之間的關係,可以直接yum安裝A包,yum能檢測到A與B的依賴關係,自動安裝B包。
Rpm常用命令:安裝rpm包的軟件:rpm -ivh xxx.rpm
查看是否安裝了某個rpm包:rpm -pa | grep xxx
刪除某個rpm安裝包:rpm -e xxx,rpm
Yum常用命令:查找軟件包命令:yum search 文件名
安裝指定的軟件yum install 軟件名
刪除軟件包命令yum remove 包名
列出所有已安裝的軟件包命令 yum list install
清理yum安裝已下載的包命令 yum clean all (yum install 後的rpm包存放在 /var/cache/yum/下)
閱讀更多 給我一杯溫開水 的文章