2.7.3 整合静态页面
2.8 修改taotao-manager-mapper的pom文件
在pom文件加入如下内容:
src/main/java
**/*.properties
**/*.xml
false
2.9 整合测试
2.10 页面初始化
如果不使用tomcat插件,可以利用idea对tomcat进行配置
注意:
这里之所以访问localhost:8080/index会自动返回一个index.jsp页面,是因为在web.xml中配置了欢迎页,
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
欢迎页的功能类似于一个如下的controller:
@Controller
public class indexController {
@RequestMapping("/index")
public String showIndex(){
return "index";
}
注意:
web.xml中关于DispatcherServlet的url路径配置/
,其实有很多讲究,如果url-pattern设置为/
,则所有的静态资源都会被拦截,但不会影响jsp,对静态资源的访问都会除去后缀名,处理为对controller的调用。
2.11页面的切换
@Controller
public class PageController {
//打开首页
@RequestMapping("/")
public String showIndex(){
return "index";
}
//展示其他页,儒新增商品,查询商品等等
@RequestMapping("/{page}")
public String showPage(@PathVariable String page){
return page;
}
}
3. 商品列表查询
3.1 商品列表页面
红色画圈部分表示请求对应的jsp为item-list.jsp,对应于2.11 PageControlller
中的@RequestMapping("/{page}")
在加载出item-list.jsp,页面发起一个url为/item/list的get请求,请求参数为page和rows,为EasyUI自带的两个参数在item-list.jsp中table的标签上可以看到,如下,
客户端发起get请求:
服务端响应回json数据:
请求返回的数据必须为以下类型的实体转为的json字符串,EasyUI会根据这种格式的json字符串,自动解析json数据,渲染到页面,渲染结果即为上图查询商品列表所示
public class EUDataGridResult {
private long total;
private List> rows;
public long getTotal() {
return total;
}
public void setTotal(long total) {
this.total = total;
}
public List> getRows() {
return rows;
}
public void setRows(List> rows) {
this.rows = rows;
}
}
其中rows列表中的实体类属性要与item-list.jsp的table标签中filed属性名一一对应,如下: TbItem实体:
public class TbItem {
private Long id;
private String title;
private String sellPoint;
private Long price;
private Integer num;
private String barcode;
private String image;
private Long cid;
private Byte status;
private Date created;
private Date updated;
//set和get方法省略。。。
}
item-list.jsp的table标签中filed属性:
商品ID
商品标题
叶子类目
卖点
价格
库存数量
条形码
状态
创建日期
更新日期
当Controller返回一个EUDataGridResult对象时,@ResponseBoby会自动将其转为json格式的字符串,
@Controller
public class ItemController {
@Autowired
ItemService itemService;
@RequestMapping("/item/list")
@ResponseBody
public EUDataGridResult getItemList(Integer page,Integer rows){
EUDataGridResult result = itemService.getItemList(page,rows);
return result;
}
}
service的实现类中的getItemList方法,分页利用MyBatis的一个插件PageHelper,但是注意该插件对联合查询不友好
@Override
public EUDataGridResult getItemList(int page, int rows) {
//查询商品列表
TbItemExample example = new TbItemExample();
//分页处理
PageHelper.startPage(page, rows);
List list = itemMapper.selectByExample(example);
//创建一个返回值对象
EUDataGridResult result = new EUDataGridResult();
result.setRows(list);
//取记录总条数
PageInfo pageInfo = new PageInfo<>(list);
result.setTotal(pageInfo.getTotal());
return result;
}
3.3 分页处理
3.3.1 Mybatis分页插件 - PageHelper说明
如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件。该插件目前支持Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库分页。
3.3.2 使用方法
第一步:在Mybatis配置xml中配置拦截器插件:
第二步:在代码中使用
1、设置分页信息:
//获取第1页,10条内容,默认查询总数count
PageHelper.startPage(1, 10);
//紧跟着的第一个select方法会被分页
List list = countryMapper.selectIf(1);
2、取分页信息
//分页后,实际返回的结果list类型是Page,如果想取出分页信息,需要强制转换为Page,
Page listCountry = (Page)list;
listCountry.getTotal();
3、取分页信息的第二种方法
//获取第1页,10条内容,默认查询总数count
PageHelper.startPage(1, 10);
List list = countryMapper.selectAll();
//用PageInfo对结果进行包装
PageInfo page = new PageInfo(list);
//测试PageInfo全部属性
//PageInfo包含了非常全面的分页属性
assertEquals(1, page.getPageNum());
assertEquals(10, page.getPageSize());
assertEquals(1, page.getStartRow());
assertEquals(10, page.getEndRow());
assertEquals(183, page.getTotal());
assertEquals(19, page.getPages());
assertEquals(1, page.getFirstPage());
assertEquals(8, page.getLastPage());
assertEquals(true, page.isFirstPage());
assertEquals(false, page.isLastPage());
assertEquals(false, page.isHasPreviousPage());
assertEquals(true, page.isHasNextPage());
你可能感兴趣的:(分布式商城项目总结二之整合静态页面)
算法工程师必备:数据结构10大经典算法详解
数据结构与算法学习
数据结构与算法宝典 算法 数据结构 ai
算法工程师必备:数据结构10大经典算法详解关键词:数据结构、经典算法、时间复杂度、应用场景、代码实现摘要:本文是算法工程师的“算法工具箱”指南,系统讲解数据结构领域最核心的10大经典算法(快速排序、归并排序、二分查找、深度优先搜索DFS、广度优先搜索BFS、动态规划、贪心算法、KMP字符串匹配、哈希算法、并查集)。通过生活案例、代码示例、复杂度分析和实战场景,帮你彻底掌握这些算法的原理与应用,真正
YXG362~037抓复习的方法
丁妞森娃
没有一种知识是不需要复习巩固的,没有一种能力是不需要反复训练的。第一条日常进行知识性复习第二课时新授前要复习第一课时的内容,复习朗读、词、多音字、复习概括、分段。第二篇课文的第一课时先复习上一篇课文的要点。一个单元上两个星期,上星期学的内容到下一星期也要复习,一周一次基本知识的过关要形成惯例,小步子的小复习走得扎实,大步子的复,中后等学生跟不上。第二条单元进行整理性复习。一个单元结束后,复习主要依
lvs调度算法(10种)
beyoundout
lvs 算法
一、静态算法(不考虑后端真实服务器的负载情况,按算法该谁就分配给谁)1.rr(RoundRobin)轮询算法算法原理:将外部请求按顺序轮流分配到集群中的真实服务器上,它均等地对待每一台服务器,而不管服务器上实际的连接数和系统负载举例:就像在食堂打饭,有三个打饭窗口。学生们排成一队从餐厅门口进入食堂,依次到第一个窗口、第二个窗口、第三个窗口打饭,后面的学生再从第一个窗口循环,每个窗口平等地接待学生,
三层架构 vs SOA vs 微服务:该选谁?
Echo_Wish
架构运维实战:高可用与高性能 架构 微服务 云原生
三层架构vsSOAvs微服务:该选谁?一、从单体到分布式:架构演进的必然性最早的系统架构通常是单体架构(MonolithicArchitecture),所有功能都打包在一个应用里,部署方便,但扩展性和灵活性有限。后来,为了让系统更具可维护性,三层架构成为主流。但当业务变得复杂,单纯的三层架构不再够用,SOA应运而生,再到后来的微服务,都是在解决“架构如何更灵活、可扩展、好维护”这个核心问题。那么,
娜姐教你选郎君24——婚姻,以感情为内核的利益同盟
一根筋的列那狐
蒋介石和陈洁如婚姻是什么?客观来讲,婚姻是以感情为内核的利益同盟。没有感情,婚姻只是空架子;没有利益的捆绑和力量的相互制衡,就没有婚姻长久稳固的发展。二者缺一不可。可能有人会质疑“利益同盟”一说,觉得这样说太直白露骨,把婚姻说得太不可爱了。可世间的东西,除了童话里的,有多少是纯粹可爱的呢?再说了,“利益同盟”这个词,没什么不好。世间最长久的关系就是互利共赢的合作关系,也就是这里所说的“利益同盟”。
2019-4-2晨间日记
展翅的鱼
今天是什么日子起床:8:10就寝:11:30天气:阴心情:美丽纪念日:4月第二天任务清单昨日完成的任务,最重要的三件事:昨天完成了一个面试;体验超市服务人员的工作4小时;与侄女玩耍改进:每日目标的确定;按时早中晚三餐;习惯养成:按时中晚餐;日目标总结;周目标·完成进度写一个简易小程序,完成进度0%;学习·信息·阅读学习小程序;完成法语每日基础单词的认识;阅读一篇英语文章;健康·饮食·锻炼下班走路回
零信任安全:重塑网络安全架构的革命性理念
scuter_yu
安全 web安全 架构
一、核心理念零信任安全的核心理念是“永不信任,持续验证”(NeverTrust,AlwaysVerify)。这一理念认为,任何用户、设备或应用程序无论处于网络内部还是外部,都不应被默认信任。与传统的基于边界的安全模型不同,零信任模型假设网络内部和外部都存在潜在威胁,因此对每一次访问请求都进行严格的身份验证和授权。二、核心原则零信任安全遵循以下核心原则:持续验证:对用户和设备进行持续的身份验证,确保
代码相关(python)
一个月只能修改一次次
代码 python
python程序崩溃提示符用python的时候的各个tips矩阵python判断某个矩阵是否满足要求python生成二维随机数文件/档python检查某个文件存不存在python添加有特定字段的文件到列表python矩阵保存为txt文档python按行读文档python写文档python文档操作字符串python用split来拆分字符串python搜索字符串某个字符的位置给字符串前/后添加字符画图
【Tomcat】Tomcat线程池深度调优手册(终极版)
夜雨hiyeyu.com
java tomcat java jvm spring spring boot nginx apache
Tomcat线程池深度调优手册(终极版)一、Tomcat线程池架构全解析二、精准参数计算公式(带场景适配)三、线程池溢出故障树分析四、生产环境全链路调优五、极限性能压测方案六、特殊场景应对策略七、调优禁忌清单八、调优效果验证一、Tomcat线程池架构全解析三层处理模型accept队列任务分发响应TCP层NIO线程业务线程池网络层TCP层:内核维护的SYN队列(受net.core.somaxconn
Springboot + MyBatis-Plus + PageHelper 分页性能混合优化方案
夜雨hiyeyu.com
java spring boot mybatis 后端 database spring java spring cloud
springboot+MyBatis-Plus+PageHelper分页性能混合优化方案一、传统分页性能瓶颈分析1.1深度分页问题1.2性能对比测试二、混合优化方案架构三、完整实现代码3.1依赖配置3.2配置类3.3混合分页工具类3.4Service层实现四、深度优化策略4.1游标分页优化4.2覆盖索引极致优化4.3分页缓存策略五、性能对比测试5.1测试环境5.2测试结果5.3内存消耗对比六、生产
Spring Boot + LLM 智能文档生成全流程技术方案,包含从代码注解规范、OpenAPI增强、Prompt工程到企业级落地
夜雨hiyeyu.com
java spring boot spring java 系统架构 后端 spring cloud 人工智能
SpringBoot+LLM智能文档生成全流程技术方案,包含从代码注解规范、OpenAPI增强、Prompt工程到企业级落地一、深度集成架构设计二、代码层深度规范(含20+注解模板)2.1精细化参数描述2.2错误码智能生成三、OpenAPI规范增强策略3.1扩展字段注入3.2多语言支持四、企业级Prompt工程库4.1基础Prompt模板4.2智能问答Prompt五、智能文档生成全流程5.1动态示
大模型 Function Calling 中的两种参数传入方式对比——为什么建议tools方式传参而不建议system message传参
John_今天务必休息一天
大模型智能体 大模型 function call 人工智能
大模型FunctionCalling中的两种参数传入方式对比——为什么建议tools方式传参而不建议systemmessage传参一、设计定位与功能匹配度不同二、结构化vs非结构化:影响工具调用的准确性三、分离关注点:降低维护成本与逻辑混淆四、模型优化适配:专用参数的可靠性更高总结在大模型(如千问)的工具调用场景中,建议通过tools参数传入调用函数信息,而非通过SystemMessage传入,核
Java中的值传递 vs 引用传递本质区别
码农小灰
面试题 java java 开发语言
目录【导语】面试官到底想考什么?一、值传递和引用传递的本质区别1.值传递(PassbyValue)2.引用传递(PassbyReference)二、Java的“值传递”真相:传的是引用的副本1.基本类型:直接拷贝值2.对象类型:传递引用的副本三、常见误区:别再踩这些坑!误区1:“对象是引用传递”误区2:“数组是引用传递”误区3:“String是特殊引用传递”四、实战案例:覆盖90%的应用场景案例1
Spring Boot+Redis+Caffeine 二级缓存架构的终极实现方案、包含万级QPS下的黄金配置参数、全文超过2500字(博君一赞)
夜雨hiyeyu.com
java spring boot redis 架构 后端 java spring cloud spring
SpringBoot+Redis+Caffeine二级缓存架构的终极实现方案、包含万级QPS下的黄金配置参数、全文超过2500字(博君一赞)一、架构设计原理(10万QPS基石)设计优势:二、Caffeine本地缓存原子级配置1.高性能缓存构造器2.容量智能计算算法3.动态TTL策略三、Redis集群极致优化(支撑百万OPS)1.Lettuce连接池配置2.Redis服务端关键配置3.Pipelin
微软CEO Satya Nadella提出AI重构法则:从范式跃迁到社会盈余
TGITCIC
AI-大模型的落地之道 AI大模型 大模型AI AI Agent AI智能体 AI落地 大模型落地
1.范式跃迁:AI作为第四次技术革命的核心驱动力1.1技术代际的复合效应从客户端到互联网、移动互联网再到云计算,技术平台的演进始终遵循“平台变革→产品跃迁→反哺平台”的螺旋上升逻辑。AI的特殊性在于其叠加了前三代技术的基础设施能力:云计算:提供百亿级参数模型的分布式训练能力互联网:构建全球数据流动与反馈闭环移动终端:扩展AI服务的触达边界技术范式核心特征代表产品对AI的支撑作用客户端本地化计算Wi
单体VS微服务:如何选择最适合的架构?
目录一、什么是单体架构和微服务架构?1.单体架构(MonolithicArchitecture)2.微服务架构(MicroservicesArchitecture)二、单体架构的优缺点优点:缺点:三、微服务架构的优缺点优点:缺点:四、如何选择?适用场景对比五、实际案例分析1.单体架构的成功场景2.微服务的典型应用3.混合模式六、面试与职场建议七、总结在Java开发中,单体架构和微服务架构是两种核心
得意忘形
俞贞竹
今天王政老师来啦!谁?新浙派古琴的老师,我们全都是他的弟子。比如在重庆教我的老师夏夏,她带了很多徒弟,也只能叫做代师传艺,师父就王老师一位。因为是斫乐府三周年的纪念日,他从舟山飞过来,主持人说叫雅聚,跟雅集有区别,我不解,没来得及问区别是在哪里。开场吟唱《小雅.鹿鸣》请出老师,老师弹一首,大家各自发挥,学了三节课的美女同学也大胆秀,哪怕一紧张忘词重来,表达就美好。过程中穿插了汉服舞蹈《礼仪之邦》,
【做好当下事】
晨萱的后花园
有时候有些事情你不去做,永远不知道自己的潜能在哪里,2020年重点将自己的个人能力放在提升成长上面,分为三个方面!一、演讲目前在这方面做的还不是很优秀,还不能做到,开口就来。二、写作写作目前谈不上,最多只是一个记录的习惯,坚持让自己的输入倒逼自己输出。三、德行每天有意识的反思自己的身,语,意!
老板让我介绍一下公司
发财北
小程序 产品运营 内容运营 矩阵 大数据
11年深耕,从源头定义系统开发的“放心之选”在数字经济加速奔跑的今天,一套稳定、高效、贴合业务的系统,早已成为企业破局增长的“核心引擎”。而选择什么样的开发伙伴,直接决定了这套引擎的“动力上限”。我们,一家拥有11年系统开发经验的源头开发商,始终坚信:真正的技术服务,不仅要“能做”,更要“做好”“做透”。全场景覆盖,从需求到落地无缝衔接11年的行业浸润,让我们深谙不同企业的数字化痛点。无论是想抢占
【C#】C# 事件 两次 -= 会怎么样?
在C#中,事件(event)的+=和-=运算符用于添加和移除事件处理器(delegate)。以下是两次-=和+=的具体行为:两次-=(移除)示例代码:MyEvent-=Handler;MyEvent-=Handler;行为:第一次-=:如果Handler存在于事件列表中,它会被移除一次。第二次-=:如果此时Handler已不在事件中,则不会抛异常,也不会有任何效果。✅是安全的,即使事件处理器已经不
我那年才十八岁
四季红小龙
记得17岁那年,第一次和她接吻,快亲上的时候,她突然说等一下,我就纳闷了,她要干嘛?只见她小心翼翼地从兜里拿出三个糖,就上好佳那种圆的,草莓苹果和荔枝味的,她让我挑一个喜欢的,我指了一下那个荔枝的,然后问她干嘛?她二话不说,马上撕开糖纸,就把那颗糖给吃了,然后一把扯过我的脖子,我俩就接吻了,全程一股荔枝味。后来她跟我说,人生那么长,我没有自信能让你记住我,但是你既然喜欢吃荔枝味的糖我只能让你记住我
LangChain 源码剖析(二):LangChain 流程编排的核心骨架——Chain 基类源码剖析
ATM006
人工智能 langchain 大模型 Agent
每一篇文章都短小精悍,不啰嗦。在LangChain框架中,Chain是连接各种组件(模型、工具、数据库等)的核心骨架,负责将多个步骤按逻辑串联成可执行的工作流。无论是简单的「提问-回答」流程,还是复杂的「检索-思考-工具调用」pipeline,都依赖Chain基类提供的基础能力。本文将从架构设计、核心功能到实现细节,全面解析这一基类的设计智慧。一、架构定位:为什么需要Chain基类?Chain基类
历史悬疑之阿房宫是不是项羽烧的
叶之林
大家好我是叶之林,今天为大家,了解,分析,阿房宫是不是项羽烧的,喜欢的话点点关注,谢谢史书记载,西楚霸王项羽进入咸阳后,看到如此奢华的秦朝暴君享乐之所,心中大怒,一把火烧了阿房宫。从此人们一直认为阿房宫是项羽烧的,但现在不断有人指出,项羽烧的是秦始皇在咸阳的宫室建筑,而不是阿房宫,项羽究竟有没有烧阿房宫呢,如果没有烧过,那规模宏大的阿房宫又到那里去了,为何消失了呢?唐代著名诗人杜牧在(阿房宫赋)中
2x2矩阵教程
2x2矩阵教程1.简介2x2矩阵是线性代数中的基本概念,用于表示二维线性变换。本教程将介绍如何使用C++实现2x2矩阵的基本运算,包括矩阵加减、乘法、行列式、逆矩阵等操作。2.代码实现2.1头文件(matrix2x2.h)#ifndefMATRIX2X2_H#defineMATRIX2X2_H#include#include#includenamespacemath{namespacelinear
非对称加密算法(RSA、ECC、SM2)——密码学基础
对称加密算法(AES、ChaCha20和SM4)Python实现——密码学基础(Python出现Nomodulenamed“Crypto”解决方案)这篇的续篇,因此实践部分少些;文章目录一、非对称加密算法基础二、RSA算法2.1RSA原理与数学基础2.2RSA密钥长度与安全性2.3RSA实现工具与库2.4RSA的局限性三、椭圆曲线密码学(ECC)3.1ECC原理与数学基础3.2常用椭圆曲线标准3.
明天的计划
一袋米要抗几楼
起床7:00吃饭7:10~7:15上学7:16~7:40上课8:05~11:35吃饭11:45~12:30睡觉12:35~1:30上课2:05~5:00上课外班5:20~6:30吃饭6:45~8:30打羽毛球8:35~9:50睡觉10:30~第二天早上7:00
尽心尽性寻求神,神就赐下四境平安历代志下15:8-19
对话是一份事业
默想问题:1、亚撒听见先知亚撒利雅的预言,怎么做?(便除去偶像,重修圣殿的祭坛。)•8就壮起胆来,在犹大、便雅悯全地,并以法莲山地所夺的各城,将可憎之物尽都除掉;又在耶和华殿的廊前,重新修筑耶和华的坛;9又招聚犹大、便雅悯的众人,并他们中间寄居的以法莲人、玛拿西人、西缅人。有许多以色列人归降亚撒,因见耶和华他的神与他同在。2、犹大百姓和许多归顺亚撒的北国以色列人此时怎么做?(均聚集在耶路撒冷,且坚
晨间日记 2023 2 20字帖掀开儿时景,《武林三绝》第八回之四十三
微丹湜意
霍天云和谷飞霞看着暧昧,可还是不曾走得太近,这是因为信息不对称。而且谷飞霞是知道有风鸣玉的存在,这样的话,她是更放心了。霍天云则不知道谷飞霞和上官英杰之间的情愫,可他也有意无意地在克制自己。这种感情倒也玄妙,走得近的其实没什么,思念的都是远方的人。原文是——思念父母教养之恩谷飞霞道:“真是多亏了李大妈了!”她素性爱洁,本来有点担心这间卧房可能污秽不堪的。但当霍天云把油灯放在她床前的一张书桌上时,她
2018-05-25
张景_b55f
姓名:张景公司:扬州方圆建筑有限公司363期(哈尔滨)《六项精进》“谦虚二组”【日精进打卡第62天】【知~学习】背诵《六项精进》5遍背诵《大学》5遍共计570遍【经典名句分享】只要认真的为自己活过,只要为生命中重要的人,努力奋斗过,这本身已是一种完美。【行~实践】一、修身:默背《六项精进》五遍默背《大学》五遍微信步数:20000二、齐家:与父母视频和女友聊天三、建功:淀粉车间B去放线,放控制线A去
筑基笔记三十六
王婷灏常用
一、《筑基笔记三十六》王婷灏,中原焦点团队讲师、心理咨询师,持续原创分享第1391天,2022年9月18日一、心境障碍又称情感性精神障碍;以持续而显著的情绪低落或高涨为主要表现,包括抑郁症和躁狂症;伴有相应认知、行为改变,可有精神病性症状;—般为发作性病程,间歇期完全正常;虽有反复发作的倾向,但不出现精神衰退,具有复发倾向,大多可缓解。预后较好。二、躁狂症“三高”:思维奔逸、情感高涨、意志增强。易
Spring中@Value注解,需要注意的地方
无量
spring bean @Value xml
Spring 3以后,支持@Value注解的方式获取properties文件中的配置值,简化了读取配置文件的复杂操作
1、在applicationContext.xml文件(或引用文件中)中配置properties文件
<bean id="appProperty"
class="org.springframework.beans.fac
mongoDB 分片
开窍的石头
mongodb
mongoDB的分片。要mongos查询数据时候 先查询configsvr看数据在那台shard上,configsvr上边放的是metar信息,指的是那条数据在那个片上。由此可以看出mongo在做分片的时候咱们至少要有一个configsvr,和两个以上的shard(片)信息。
第一步启动两台以上的mongo服务
&nb
OVER(PARTITION BY)函数用法
0624chenhong
oracle
这篇写得很好,引自
http://www.cnblogs.com/lanzi/archive/2010/10/26/1861338.html
OVER(PARTITION BY)函数用法
2010年10月26日
OVER(PARTITION BY)函数介绍
开窗函数 &nb
Android开发中,ADB server didn't ACK 解决方法
一炮送你回车库
Android开发
首先通知:凡是安装360、豌豆荚、腾讯管家的全部卸载,然后再尝试。
一直没搞明白这个问题咋出现的,但今天看到一个方法,搞定了!原来是豌豆荚占用了 5037 端口导致。
参见原文章:一个豌豆荚引发的血案——关于ADB server didn't ACK的问题
简单来讲,首先将Windows任务进程中的豌豆荚干掉,如果还是不行,再继续按下列步骤排查。
&nb
canvas中的像素绘制问题
换个号韩国红果果
JavaScript canvas
pixl的绘制,1.如果绘制点正处于相邻像素交叉线,绘制x像素的线宽,则从交叉线分别向前向后绘制x/2个像素,如果x/2是整数,则刚好填满x个像素,如果是小数,则先把整数格填满,再去绘制剩下的小数部分,绘制时,是将小数部分的颜色用来除以一个像素的宽度,颜色会变淡。所以要用整数坐标来画的话(即绘制点正处于相邻像素交叉线时),线宽必须是2的整数倍。否则会出现不饱满的像素。
2.如果绘制点为一个像素的
编码乱码问题
灵静志远
java jvm jsp 编码
1、JVM中单个字符占用的字节长度跟编码方式有关,而默认编码方式又跟平台是一一对应的或说平台决定了默认字符编码方式;2、对于单个字符:ISO-8859-1单字节编码,GBK双字节编码,UTF-8三字节编码;因此中文平台(中文平台默认字符集编码GBK)下一个中文字符占2个字节,而英文平台(英文平台默认字符集编码Cp1252(类似于ISO-8859-1))。
3、getBytes()、getByte
java 求几个月后的日期
darkranger
calendar getinstance
Date plandate = planDate.toDate();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
cal.setTime(plandate);
// 取得三个月后时间
cal.add(Calendar.M
数据库设计的三大范式(通俗易懂)
aijuans
数据库复习
关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式。数据库的设计范式是数据库设计所需要满足的规范。只有理解数据库的设计范式,才能设计出高效率、优雅的数据库,否则可能会设计出错误的数据库.
目前,主要有六种范式:第一范式、第二范式、第三范式、BC范式、第四范式和第五范式。满足最低要求的叫第一范式,简称1NF。在第一范式基础上进一步满足一些要求的为第二范式,简称2NF。其余依此类推。
想学工作流怎么入手
atongyeye
jbpm
工作流在工作中变得越来越重要,很多朋友想学工作流却不知如何入手。 很多朋友习惯性的这看一点,那了解一点,既不系统,也容易半途而废。好比学武功,最好的办法是有一本武功秘籍。研究明白,则犹如打通任督二脉。
系统学习工作流,很重要的一本书《JBPM工作流开发指南》。
本人苦苦学习两个月,基本上可以解决大部分流程问题。整理一下学习思路,有兴趣的朋友可以参考下。
1 首先要
Context和SQLiteOpenHelper创建数据库
百合不是茶
android Context创建数据库
一直以为安卓数据库的创建就是使用SQLiteOpenHelper创建,但是最近在android的一本书上看到了Context也可以创建数据库,下面我们一起分析这两种方式创建数据库的方式和区别,重点在SQLiteOpenHelper
一:SQLiteOpenHelper创建数据库:
1,SQLi
浅谈group by和distinct
bijian1013
oracle 数据库 group by distinct
group by和distinct只了去重意义一样,但是group by应用范围更广泛些,如分组汇总或者从聚合函数里筛选数据等。
譬如:统计每id数并且只显示数大于3
select id ,count(id) from ta
vi opertion
征客丶
mac opration vi
进入 command mode (命令行模式)
按 esc 键
再按 shift + 冒号
注:以下命令中 带 $ 【在命令行模式下进行】,不带 $ 【在非命令行模式下进行】
一、文件操作
1.1、强制退出不保存
$ q!
1.2、保存
$ w
1.3、保存并退出
$ wq
1.4、刷新或重新加载已打开的文件
$ e
二、光标移动
2.1、跳到指定行
数字
【Spark十四】深入Spark RDD第三部分RDD基本API
bit1129
spark
对于K/V类型的RDD,如下操作是什么含义?
val rdd = sc.parallelize(List(("A",3),("C",6),("A",1),("B",5))
rdd.reduceByKey(_+_).collect
reduceByKey在这里的操作,是把
java类加载机制
BlueSkator
java 虚拟机
java类加载机制
1.java类加载器的树状结构
引导类加载器
^
|
扩展类加载器
^
|
系统类加载器
java使用代理模式来完成类加载,java的类加载器也有类似于继承的关系,引导类是最顶层的加载器,它是所有类的根加载器,它负责加载java核心库。当一个类加载器接到装载类到虚拟机的请求时,通常会代理给父类加载器,若已经是根加载器了,就自己完成加载。
虚拟机区分一个Cla
动态添加文本框
BreakingBad
文本框
<script> var num=1; function AddInput() { var str=""; str+="<input 
读《研磨设计模式》-代码笔记-单例模式
bylijinnan
java 设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
public class Singleton {
}
/*
* 懒汉模式。注意,getInstance如果在多线程环境中调用,需要加上synchronized,否则存在线程不安全问题
*/
class LazySingleton
iOS应用打包发布常见问题
chenhbc
ios iOS发布 iOS上传 iOS打包
这个月公司安排我一个人做iOS客户端开发,由于急着用,我先发布一个版本,由于第一次发布iOS应用,期间出了不少问题,记录于此。
1、使用Application Loader 发布时报错:Communication error.please use diagnostic mode to check connectivity.you need to have outbound acc
工作流复杂拓扑结构处理新思路
comsci
设计模式 工作 算法 企业应用 OO
我们走的设计路线和国外的产品不太一样,不一样在哪里呢? 国外的流程的设计思路是通过事先定义一整套规则(类似XPDL)来约束和控制流程图的复杂度(我对国外的产品了解不够多,仅仅是在有限的了解程度上面提出这样的看法),从而避免在流程引擎中处理这些复杂的图的问题,而我们却没有通过事先定义这样的复杂的规则来约束和降低用户自定义流程图的灵活性,这样一来,在引擎和流程流转控制这一个层面就会遇到很
oracle 11g新特性Flashback data archive
daizj
oracle
1. 什么是flashback data archive
Flashback data archive是oracle 11g中引入的一个新特性。Flashback archive是一个新的数据库对象,用于存储一个或多表的历史数据。Flashback archive是一个逻辑对象,概念上类似于表空间。实际上flashback archive可以看作是存储一个或多个表的所有事务变化的逻辑空间。
多叉树:2-3-4树
dieslrae
树
平衡树多叉树,每个节点最多有4个子节点和3个数据项,2,3,4的含义是指一个节点可能含有的子节点的个数,效率比红黑树稍差.一般不允许出现重复关键字值.2-3-4树有以下特征:
1、有一个数据项的节点总是有2个子节点(称为2-节点)
2、有两个数据项的节点总是有3个子节点(称为3-节
C语言学习七动态分配 malloc的使用
dcj3sjt126com
c language malloc
/*
2013年3月15日15:16:24
malloc 就memory(内存) allocate(分配)的缩写
本程序没有实际含义,只是理解使用
*/
# include <stdio.h>
# include <malloc.h>
int main(void)
{
int i = 5; //分配了4个字节 静态分配
int * p
Objective-C编码规范[译]
dcj3sjt126com
代码规范
原文链接 : The official raywenderlich.com Objective-C style guide
原文作者 : raywenderlich.com Team
译文出自 : raywenderlich.com Objective-C编码规范
译者 : Sam Lau
0.性能优化-目录
frank1234
性能优化
从今天开始笔者陆续发表一些性能测试相关的文章,主要是对自己前段时间学习的总结,由于水平有限,性能测试领域很深,本人理解的也比较浅,欢迎各位大咖批评指正。
主要内容包括:
一、性能测试指标
吞吐量、TPS、响应时间、负载、可扩展性、PV、思考时间
http://frank1234.iteye.com/blog/2180305
二、性能测试策略
生产环境相同 基准测试 预热等
htt
Java父类取得子类传递的泛型参数Class类型
happyqing
java 泛型 父类 子类 Class
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import org.junit.Test;
abstract class BaseDao<T> {
public void getType() {
//Class<E> clazz =
跟我学SpringMVC目录汇总贴、PDF下载、源码下载
jinnianshilongnian
springMVC
----广告--------------------------------------------------------------
网站核心商详页开发
掌握Java技术,掌握并发/异步工具使用,熟悉spring、ibatis框架;
掌握数据库技术,表设计和索引优化,分库分表/读写分离;
了解缓存技术,熟练使用如Redis/Memcached等主流技术;
了解Ngin
the HTTP rewrite module requires the PCRE library
流浪鱼
rewrite
./configure: error: the HTTP rewrite module requires the PCRE library.
模块依赖性Nginx需要依赖下面3个包
1. gzip 模块需要 zlib 库 ( 下载: http://www.zlib.net/ )
2. rewrite 模块需要 pcre 库 ( 下载: http://www.pcre.org/ )
3. s
第12章 Ajax(中)
onestopweb
Ajax
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
Optimize query with Query Stripping in Web Intelligence
blueoxygen
BO
http://wiki.sdn.sap.com/wiki/display/BOBJ/Optimize+query+with+Query+Stripping+in+Web+Intelligence
and a very straightfoward video
http://www.sdn.sap.com/irj/scn/events?rid=/library/uuid/40ec3a0c-936
Java开发者写SQL时常犯的10个错误
tomcat_oracle
java sql
1、不用PreparedStatements 有意思的是,在JDBC出现了许多年后的今天,这个错误依然出现在博客、论坛和邮件列表中,即便要记住和理解它是一件很简单的事。开发者不使用PreparedStatements的原因可能有如下几个: 他们对PreparedStatements不了解 他们认为使用PreparedStatements太慢了 他们认为写Prepar
世纪互联与结盟有感
阿尔萨斯
10月10日,世纪互联与(Foxcon)签约成立合资公司,有感。
全球电子制造业巨头(全球500强企业)与世纪互联共同看好IDC、云计算等业务在中国的增长空间,双方迅速果断出手,在资本层面上达成合作,此举体现了全球电子制造业巨头对世纪互联IDC业务的欣赏与信任,另一方面反映出世纪互联目前良好的运营状况与广阔的发展前景。
众所周知,精于电子产品制造(世界第一),对于世纪互联而言,能够与结盟