吴嘉俊(Stef)高级讲师
拥有多年的Java开发经验,CTO,EasyJF开源团队创始人之一、负责
EasyJWeb项目的开发和维护。曾在国内多家大型软件公司负责公司内部框架的开发和维护,为多个大中型公司做过架构和技术咨询。曾组织开发了蓝源
装饰行业ERP、美国EMR、蓝源服装行业连锁管理系统、蓝源SaaS服务平台、蓝源Eloan互联网金融综合解决方案等系统产品。具有非常丰富项目开发和
管理经验。
擅长技术:主流JavaEE,Android技术,对 Spring、JPA、Hibernate、
MyBatis、Struts2、MongoDB、Redis等技术领域有深入研究。
吴老师有丰富的Java培训经验和IT培训行业顾问经验;授课激情,有感染力
,注重对底层原理的剖析和理解;善于培养学生对编程的兴趣;
Java开发的应该如何掌握上述相关技术?
一:首先,有这样的一种情况很常见,对于想自学Java开发的人来说,他们
大多数都是非常盲目的,不知道自己改如何入手,很多人在网上找一些视频,然后疯狂的过视频,很快就把一块内容都学完,他们理解的学完了就是视
频看完了,但是让他们动手去做东西却做不出来,而我的理解学完了就是自己能写出东西,所以对于初学者来说一定不能盲目,要有自己的规划,不然
就是浪费时间白忙活。
二:既然是学习Java开发专业技术,我个人的建议是,一定要有一个能指导
你的人,不能都靠自己闭门造车,这样的行为并不聪明,结识一位这方面的人才,时不时去问问人家问题,不然你可能会发现一个小问题能困扰你一天
,**后还不知道是什么原因。
三:学习Java开发技术,不能跟学数学语文一样对待,比较刚接触代码是不
容易记住的,所以要掌握上述的技术,你还要知道学习Java开发技术有哪些“坑”。对于学习方法这块是尤为重要的,怎么学才能让你学完了能记住之
前学的那些,不至于学完了就忘,这个问题值得你学习之前去思考的。
四:根据我多年的学习情况来看,你平时一定要养成好的学习习惯,就说我
自己吧!我就喜欢把自己曾经遇到的问题整理在电脑的日记本上,然后我会搜集一下博客相关的Java技术文章,一些我认为比较有用的网站,以后都能
用的上,这是我个人的学习习惯,相信我,如果你想走的更远,一定要养成习惯。
**后给大家一些详细的学习安排路线:
Java基础:Java基础语法、数组、类与对象、继承与多态、异常、范型、集
合、流与文件、反射、枚举、自动装箱和注解。
数据库:mysql、oracle
Javaweb:HTML与CSS网页开发基础、Java脚本语言、搭建开发环境、JSP基
本语法、JSP内置对象、JavaBean技术、Servlet技术、Ajax技术
框架:Struts2、Hibernate、Spring、SpringMVC、mybatis
大数据核心知识
Hadoop基础
Hadoop1介绍
hadoop1架构
hadoop2架构(对比hadoop1)
hadoop2环境搭建
HDFS操作
yarn操作
Hadoop应用
Hive数据仓库
zookeeper系统服务
HBase非关系型数据库
Sqoop数据库抽取工具
Flume日志抽取工具
Spark基础
环境搭建
Spark平台介绍
RDD弹性分布式数据集
Scala编程
Spark应用
Spark-SQL组件
DataFrame组件
课程优势
1.真实的企业项目;
2.目前企业中应用广泛的技术路线;
3.部分Spark源码剖析,从源码层面提升问题解决能力。
4.从hadoop1到hadoop2机制原理详细解说;
5.生产环境hadoop集群调优经验;
6.企业真实项目实战;
本阶段学习目标
1.了解hadoop机制原理 ;
2.了解hadoop集群搭建过程;
3.了解Hdfs API使用以及mr编程模型;
4.了解hive、hbase、sqoop、flume等组件的使用方法;
5.Spark平台的优势以及Spark集群的搭建过程;
6.Scala程序设计基础;
7.Spark-SQL和DataFrame API详解。
本阶段学习效果
1.了解hadoop集群的搭建过程;
2.能够**mr和hive来实现简单的数据清洗的业务需求;
3.能够了解数据的抽取,转换,清洗,建模,入库过程;
4.掌握Spark集群的搭建;
5.掌握函数式编程思想,能够根据业务需求编写高质量的Scala程序;
6.掌握大规模离线数据的计算、分析能力。
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 编码数据
bzcompress() 压缩了指定的字符串并以 bzip2 编码返回数据。
下面对这四种方法进行压缩比较,分别进行中文和英文数字的压缩
[php] view
plain copy
<?php
$str1 = 布局 1 介绍 布局,简单来说就是设置元素的大小和位置。 Ext 的布局系统包括组件,布局,容器,容器是一种特殊的组件,可以管理组件的大小和位置。 容器是** 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>压缩英文数字比较</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;
}
?>
执行结果:
[plain] view
plain copy
压缩中文比较
原文:布局 1 介绍 布局,简单来说就是设置元素的大小和位置。 Ext 的布局系统包括组件,布局,容器,容器是一种特殊的组件,可以管理组件的大小和位置。 容器是** doLayout 来重新计算布局,并更新 DOM. 2 手工布局是不必要的,框架会为你自动处理。
原文大小:328
gzcompress 压缩后大小:251 耗时:59.99994ms
gzencode 压缩后大小:263 耗时:120.00012ms
gzdeflate 压缩后大小:245 耗时:119.99989ms
bzcompress 压缩后大小:303 耗时:259.99999ms
压缩英文数字比较
原文:!@#$%^&*()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稍有优势
bzcompress 速度**慢,压缩比率**慢。
因此建议使用 gzcompress 和 gzdeflate。
相关推荐:
苏州JAVA培训 苏州JAVA培训班 苏州JAVA培训机构