吳嘉俊(Stef)高級講師
擁有多年的Java開發(fā)經(jīng)驗,CTO,EasyJF開源團(tuán)隊創(chuàng)始人之一、負(fù)責(zé)
EasyJWeb項目的開發(fā)和維護(hù)。曾在國內(nèi)多家大型軟件公司負(fù)責(zé)公司內(nèi)部框架的開發(fā)和維護(hù),為多個大中型公司做過架構(gòu)和技術(shù)咨詢。曾組織開發(fā)了藍(lán)源
裝飾行業(yè)ERP、美國EMR、藍(lán)源服裝行業(yè)連鎖管理系統(tǒng)、藍(lán)源SaaS服務(wù)平臺、藍(lán)源Eloan互聯(lián)網(wǎng)金融綜合解決方案等系統(tǒng)產(chǎn)品。具有非常豐富項目開發(fā)和
管理經(jīng)驗。
擅長技術(shù):主流JavaEE,Android技術(shù),對 Spring、JPA、Hibernate、
MyBatis、Struts2、MongoDB、Redis等技術(shù)領(lǐng)域有深入研究。
吳老師有豐富的Java培訓(xùn)經(jīng)驗和IT培訓(xùn)行業(yè)顧問經(jīng)驗;授課激情,有感染力
,注重對底層原理的剖析和理解;善于培養(yǎng)學(xué)生對編程的興趣;
Java開發(fā)的應(yīng)該
如何掌握上述相關(guān)技術(shù)?
Java開發(fā)的應(yīng)該如何掌握上述相關(guān)技術(shù)?
一:首先,有這樣的一種情況很常見,對于想自學(xué)Java開發(fā)的人來說,他們
大多數(shù)都是非常盲目的,不知道自己改如何入手,很多人在網(wǎng)上找一些視頻,然后瘋狂的過視頻,很快就把一塊內(nèi)容都學(xué)完,他們理解的學(xué)完了就是視
頻看完了,但是讓他們動手去做東西卻做不出來,而我的理解學(xué)完了就是自己能寫出東西,所以對于初學(xué)者來說一定不能盲目,要有自己的規(guī)劃,不然
就是浪費(fèi)時間白忙活。
二:既然是學(xué)習(xí)Java開發(fā)專業(yè)技術(shù),我個人的建議是,一定要有一個能指導(dǎo)
你的人,不能都靠自己閉門造車,這樣的行為并不聰明,結(jié)識一位這方面的人才,時不時去問問人家問題,不然你可能會發(fā)現(xiàn)一個小問題能困擾你一天
,**后還不知道是什么原因。
三:學(xué)習(xí)Java開發(fā)技術(shù),不能跟學(xué)數(shù)學(xué)語文一樣對待,比較剛接觸代碼是不
容易記住的,所以要掌握上述的技術(shù),你還要知道學(xué)習(xí)Java開發(fā)技術(shù)有哪些“坑”。對于學(xué)習(xí)方法這塊是尤為重要的,怎么學(xué)才能讓你學(xué)完了能記住之
前學(xué)的那些,不至于學(xué)完了就忘,這個問題值得你學(xué)習(xí)之前去思考的。
四:根據(jù)我多年的學(xué)習(xí)情況來看,你平時一定要養(yǎng)成好的學(xué)習(xí)習(xí)慣,就說我
自己吧!我就喜歡把自己曾經(jīng)遇到的問題整理在電腦的日記本上,然后我會搜集一下博客相關(guān)的Java技術(shù)文章,一些我認(rèn)為比較有用的網(wǎng)站,以后都能
用的上,這是我個人的學(xué)習(xí)習(xí)慣,相信我,如果你想走的更遠(yuǎn),一定要養(yǎng)成習(xí)慣。
**后給大家一些詳細(xì)的學(xué)習(xí)安排路線:
Java基礎(chǔ):Java基礎(chǔ)語法、數(shù)組、類與對象、繼承與多態(tài)、異常、范型、集
合、流與文件、反射、枚舉、自動裝箱和注解。
數(shù)據(jù)庫:mysql、oracle
Javaweb:HTML與CSS網(wǎng)頁開發(fā)基礎(chǔ)、Java腳本語言、搭建開發(fā)環(huán)境、JSP基
本語法、JSP內(nèi)置對象、JavaBean技術(shù)、Servlet技術(shù)、Ajax技術(shù)
框架:Struts2、Hibernate、Spring、SpringMVC、mybatis
大數(shù)據(jù)核心知識
Hadoop基礎(chǔ)
Hadoop1介紹
hadoop1架構(gòu)
hadoop2架構(gòu)(對比hadoop1)
hadoop2環(huán)境搭建
HDFS操作
yarn操作
Hadoop應(yīng)用
Hive數(shù)據(jù)倉庫
zookeeper系統(tǒng)服務(wù)
HBase非關(guān)系型數(shù)據(jù)庫
Sqoop數(shù)據(jù)庫抽取工具
Flume日志抽取工具
Spark基礎(chǔ)
環(huán)境搭建
Spark平臺介紹
RDD彈性分布式數(shù)據(jù)集
Scala編程
Spark應(yīng)用
Spark-SQL組件
DataFrame組件
課程優(yōu)勢
1.真實的企業(yè)項目;
2.目前企業(yè)中應(yīng)用廣泛的技術(shù)路線;
3.部分Spark源碼剖析,從源碼層面提升問題解決能力。
4.從hadoop1到hadoop2機(jī)制原理詳細(xì)解說;
5.生產(chǎn)環(huán)境hadoop集群調(diào)優(yōu)經(jīng)驗;
6.企業(yè)真實項目實戰(zhàn);
本階段學(xué)習(xí)目標(biāo)
1.了解hadoop機(jī)制原理 ;
2.了解hadoop集群搭建過程;
3.了解Hdfs API使用以及mr編程模型;
4.了解hive、hbase、sqoop、flume等組件的使用方法;
5.Spark平臺的優(yōu)勢以及Spark集群的搭建過程;
6.Scala程序設(shè)計基礎(chǔ);
7.Spark-SQL和DataFrame API詳解。
本階段學(xué)習(xí)效果
1.了解hadoop集群的搭建過程;
2.能夠**mr和hive來實現(xiàn)簡單的數(shù)據(jù)清洗的業(yè)務(wù)需求;
3.能夠了解數(shù)據(jù)的抽取,轉(zhuǎn)換,清洗,建模,入庫過程;
4.掌握Spark集群的搭建;
5.掌握函數(shù)式編程思想,能夠根據(jù)業(yè)務(wù)需求編寫高質(zhì)量的Scala程序;
6.掌握大規(guī)模離線數(shù)據(jù)的計算、分析能力。
php 字符串壓縮方法比較
>
php 提供的字符串壓縮方法有
1.gzcomPRess — Compress a string
This function compress the given string using the ZLIB data format.
2.gzencode — Create a gzip compressed string
This function returns a compressed version of the input data compatible with the output of the gzip program
3.gzdeflate — Deflate a string
This function compress the given string using the DEFLATE data format.
4.bzcompress — 把一個字符串壓縮成 bzip2 編碼數(shù)據(jù)
bzcompress() 壓縮了指定的字符串并以 bzip2 編碼返回數(shù)據(jù)。
下面對這四種方法進(jìn)行壓縮比較,分別進(jìn)行中文和英文數(shù)字的壓縮
[php] view
plain copy
<?php
$str1 = 布局 1 介紹 布局,簡單來說就是設(shè)置元素的大小和位置。 Ext 的布局系統(tǒng)包括組件,布局,容器,容器是一種特殊的組件,可以管理組件的大小和位置。 容器是** doLayout 來重新計算布局,并更新 DOM. 2 手工布局是不必要的,框架會為你自動處理。 ;
$str2 = !@#$%^&*()QWERTYUIOPSDFGHJKL!@#$%^&*()QWERTYUIOPSDFGHJKL:ZXCVBNMa!@#$%^&*()ERTYUIODFGHJKLXCVBNM@#$%^&*()RTYUIOPD:ZXCVBNM#!@#!@#$%^&*()QWERTYUIOPSDFGHJKL:ZXCVBNM-!@#$%^&*()ERTYUIODFGHJKLXCVBNM@#$%^&*()RTYUIOPD$%^&*()ERTYUIODFGHJ!@#$%^&*()QWERTYUIOPSDFGHJKL:ZXCVBNM]!@#$%^&*()ERTYUIODFGHJKLXCVBNM@#$%^&*()RTYUIOPDKLXCVBNM@#$%^&*()RTYUIOPDFGHJKLCVBNMFGHJTYU%^&RFGHJ4d56g7h8ui7h8ujirqwerqh8 ;
echo <b>壓縮中文比較</b><br><br> ;
compress_comp($str1, 1000); // 壓縮1000次 與 解壓縮1000次比較
echo <b>壓縮英文數(shù)字比較</b><br><br> ;
compress_comp($str2, 1000); // 壓縮1000次 與 解壓縮1000次比較
/* 壓縮 */
function compress_comp($str, $num){
$func_compress = array( gzcompress , gzencode , gzdeflate , bzcompress );
echo 原文: .$str. <br><br> ;
echo 原文大小: .strlen($str). <br><br> ;
for($i=0,$length=count($func_compress); $i<$length; $i ){
$starttime = get_microtime();
for($j=0; $j<$num; $j ){
switch($func_compress[$i]){
case gzcompress :
$mstr = gzcompress($str, 9); // 解壓方法:gzuncompress
break;
case gzencode :
$mstr = gzencode($str, 9); // 解壓方法:gzdecode php>=5.4
break;
case gzdeflate :
$mstr = gzdeflate($str, 9); // 解壓方法:gzinflate
break;
case bzcompress :
$mstr = bzcompress($str, 9); // 解壓方法:bzdecompress
break;
}
}
$endtime = get_microtime();
echo $func_compress[$i]. 壓縮后大小: .strlen($mstr). 耗時: .round(($endtime-$starttime)*1000,5). ms<br><br> ;
}
}
/* 獲取 microtime */
function get_microtime(){
list($usec, $sec) = explode( , microtime(true));
return $usec $sec;
}
?>
執(zhí)行結(jié)果:
[plain] view
plain copy
壓縮中文比較
原文:布局 1 介紹 布局,簡單來說就是設(shè)置元素的大小和位置。 Ext 的布局系統(tǒng)包括組件,布局,容器,容器是一種特殊的組件,可以管理組件的大小和位置。 容器是** doLayout 來重新計算布局,并更新 DOM. 2 手工布局是不必要的,框架會為你自動處理。
原文大小:328
gzcompress 壓縮后大小:251 耗時:59.99994ms
gzencode 壓縮后大小:263 耗時:120.00012ms
gzdeflate 壓縮后大小:245 耗時:119.99989ms
bzcompress 壓縮后大小:303 耗時:259.99999ms
壓縮英文數(shù)字比較
原文:!@#$%^&*()QWERTYUIOPSDFGHJKL!@#$%^&*()QWERTYUIOPSDFGHJKL:ZXCVBNMa!@#$%^&*()ERTYUIODFGHJKLXCVBNM@#$%^&*()RTYUIOPD:ZXCVBNM#!@#!@#$%^&*()QWERTYUIOPSDFGHJKL:ZXCVBNM-!@#$%^&*()ERTYUIODFGHJKLXCVBNM@#$%^&*()RTYUIOPD$%^&*()ERTYUIODFGHJ!@#$%^&*()QWERTYUIOPSDFGHJKL:ZXCVBNM]!@#$%^&*()ERTYUIODFGHJKLXCVBNM@#$%^&*()RTYUIOPDKLXCVBNM@#$%^&*()RTYUIOPDFGHJKLCVBNMFGHJTYU%^&RFGHJ4d56g7h8ui7h8ujirqwerqh8
原文大小:386
gzcompress 壓縮后大小:116 耗時:50.00019ms
gzencode 壓縮后大小:128 耗時:99.9999ms
gzdeflate 壓縮后大小:110 耗時:89.99991ms
bzcompress 壓縮后大小:183 耗時:210.00004ms
可以得出
gzcompress 速度**快,壓縮比率較高。
gzdeflate 壓縮比率**高,速度稍慢于gzcompress
gzencode 與 gzdeflate 比較接近,gzdeflate稍有優(yōu)勢
bzcompress 速度**慢,壓縮比率**慢。
因此建議使用 gzcompress 和 gzdeflate。
相關(guān)推薦:
蘇州JAVA培訓(xùn) 蘇州JAVA培訓(xùn)班 蘇州JAVA培訓(xùn)機(jī)構(gòu)