This is the place where I share my ideas.You can also visit me on @CSDN or @oschina.
Give Chapter and Verse and Author for Transshipment, copy or other using. Thanks!
【1】注册
格式验证,正则表达式[各种常用表达式,及使用方法] 重复验证,ajax css样式修改、提示框
【2】登陆
密码验证,传输安全性,MD5 Session… Shiro 过滤器,安全认证,权限获取
【3】密码找回
邮箱发送 手机短信发送、http请求 验证码 验证机制 存session中,分布式部署会出问题 存数据库中,流程
【4】主页跳转
forward和 全局
【5】评论、收藏
@Transient标签的使用 List 迭代器便利 Iterator its=list.iterator(); while(its.hasNext()){ int a=(java.lang.Integer)its.next(); Map ISKEY 加深运用方法总结
【6】异常抛出及处理
标准化 要么处理,要么往外抛,不要私吞。
【7】前后台传值
session;getout,自己组装返回结果格式 ajax,json数据包装,form表单提交。post请求,同步异步。
【8】个人信息的维护
hibernate序列 头像上传 文件服务:上传,下载。输入输出流。
【9】Junit单元测试
测试环境的配置 写法
【10】数据结构树
【11】权限控制思路
权限表设计 权限控制设计 后期维护设计
【12】项目
项目邀请-多表连接
【13】搜索
【14】通用标签
主要用到:
Query query = getSessionDao().createQuery(hql1);
及两个分页条件:
query.setFirstResult(firstPage*pageSize);//设置查询起始数
query.setMaxResults(pageSize);//设置查询最大结果数
代码示例:
/**
* 不带条件的简单分页查询
* @author lxh
* @version 1.0
*
*/
publicclassQueryListByPageextendsHibernateDaoImpl{
/**
* * 简单的分页的查询数据列表
*
* @param modelName
* 实体类名
* @param firstPage
* 查询第几页
* @param pageSize
* 每页显示几条数据
* @return 一页的数据列表,和总页数
*/
@SuppressWarnings("unchecked")
publicQueryResult findAllList(String modelName,int firstPage,int pageSize){
String hql1="from "+modelName;
String hql2="select count(*) from "+modelName;
Query query = getSessionDao().createQuery(hql1);
query.setFirstResult(firstPage*pageSize);
query.setMaxResults(pageSize);
Long count =(Long) getSessionDao().createQuery(hql2).uniqueResult();
int totalPageNum=count.intValue()/pageSize+1;//总页数
List list = query.list();
// 返回结果
returnnewQueryResult(totalPageNum, list);
/**
*
* Map map = new HashMap();
* map.put("xx",list);
* map.put("xxx",totalPageNum);
* JSONObject jobj = JSONTUtil.toObject(map);
*
*/
}
import java.util.List;
publicclassQueryResult{
privateint totalPageNum;// 总记录数
privateList list;// 一页的数据
publicQueryResult(int totalPageNum,List list){
this.totalPageNum = totalPageNum;
this.list = list;
}
publicint getTotalPageNum(){
return totalPageNum;
}
publicvoid setTotalPageNum(int totalPageNum){
this.totalPageNum = totalPageNum;
}
publicList getList(){
return list;
}
publicvoid setList(List list){
this.list = list;
}
}
介绍了Spark JVM 调优方面的知识
通常情况下,如果你的硬件配置,基础的JVM的配置,都ok的话,JVM通常不会造成太严重的性能问题,反而更多的是, 在troubleshooting中,JVM占了很重要的位置!!
JVM造成 线上的spark作业运行报错,甚至失败(比如OOM)
shuffle 调优,其实对spark作业的性能影响,是相当之高!!!
经验: 在spark作业的运行过程中。
只要一牵扯到shuffle的操作,基本上shuffle操作的性能消耗,要占到spark作业的50%~90%。
10%用来运行map等操作。 90% 耗费在两个shuffle操作。groupByKey、CountByKey。
有些算子的性能,是比其他一些算子的性能要高的。
例如:foreachPartion 替代 foreach。
1.分配资源并行度,RDD架构与缓存。
2.shuffle调优
3.spark算子调优
4.JVM,广播大变量
记录经历过的Java 面试题
记录经历过的Java 面试题