JavaWeb高性能开发(一)
今日要闻:
淘宝删差评产业链
在你给出“差评”“中评”后不久,有人会偷偷登录你的淘宝账户,把你之前给过的评价删除或改成“好评”。而这种人就是“职业修改差评师”
案发前,李骏杰在杭州市滨江区一家科技公司上班。5 人当中,他主要负责通过 QQ 在网上联系需要修改“中评”和“差评”的淘宝卖家,改一个评价收费 260 元。
李骏杰把这些信息传给他的下线,即在广东打工的黄福权、王凤昭,黄、王二人再把信息反馈给在江西某市公安系统工作的胡榕,由他利用自己的职务便利查明买家的身份证信息,之后把信息以每条 15 元至 25 元不等的价格卖给黄、王二人。
收到胡榕给的买家身份证信息后,黄、王二人以每条 15 元的价格让河北石家庄人董伟“PS”出身份证复印件,再把复印件以每件 45 元的价格转卖给李骏杰。有了买家的身份证复印件,李骏杰就可以利用技术手段,冒充淘宝买家身份骗取该买家的淘宝账号并重置密码,最后非法登录淘宝评价系统删除或修改“中评”“差评”。
“追求‘好评’固然好,但 100% 的‘好评’大多是不符合事实的。”一位“资深”淘宝用户对记者说,“即便是买家出于个人意愿给出‘差评’,卖家也会要求对方改成‘好评’,或以返利来诱惑,或用谩骂、威胁等卑劣手段。说到底,是淘宝卖家对买家‘差评’的过度在意催生了‘职业修改差评师’和‘恶意差评师’的存在。”这位淘宝用户总结分析说。
今日英文:
http://docs.oracle.com/cd/E11882_01/java.112/e16548/apxref.htm#JJDBC28913
关闭转义可以提高性能 stmt.setEscapeProcessing(false);
日期字面量 {d '1995-10-22'} 会自动转为数据库类型
时间字面量 {t '05:10:45'} 或 {t '14:20:50'} 自动转24小时制
一般来说 Oracle类型oracle.sql.DATE
会自动映射为java.sql.Timestamp
这是正确的,不要修改
设置mapDateToTimestamp
=true 可以映射为java.sql.Date
但会有精度下降
特殊的,如果这个Date列恰好有个索引,要用特殊的setObject,无论setDate还是setTimestamp结果都不正确(略)
WHERE ename LIKE '&_%' {ESCAPE '&'} 表示以下划线开头的任意字串
WHERE ename LIKE '\\_%' {escape '\\'} 同上
Oracle不支持转义Outer Join写法,
如 FROM {OJ dept LEFT OUTER JOIN emp ON dept.deptno = emp.deptno
应写为 FROM emp b, dept a WHERE a.deptno = b.deptno(+)
调用存储过程 { call procedure_name (argument1, argument2,...) }
调用函数 { ? = call procedure_name (argument1, argument2,...) }
driver.processSqlEscapes("{ts '1998-10-22 16:22:34'}")
将输出 TO_TIMESTAMP ('1998-10-22 16:22:34', 'YYYY-MM-DD HH24:MI:SS.FF')
Oracle存储过程不支持Boolean类型的参数和返回值,通常要自己转为int或其他来判断
Oracle不支持java.sql.SQLWarning,应该用
java.sql.SQLException
DDL语句应该用Statement执行,如果用preSta或callSta则只会在首次执行
SELECT name FROM emp WHERE id = :EmpId 命名参数可以用set
XXX
AtName
技术区:
JavaWeb高性能开发(一)
事实证明,与其消耗大量时间在服务器端,在前端进行的优化更易获得用户的肯定。
前端的高性能部分,主要是指减少请求数、减少传输的数据以及提高用户体验,在这个部分,图片的优化显得至关重要。
1.减少图片的大小,可以明显的提高性能,而对于已有图片,要想减少图片的大小,只能改变图片的格式,这里推荐的是 PNG8 的格式
2.CSS Sprites 是一个吸引人的技术,它其实就是把网页中一些背景图片整合到一张图片文件中,再利用 CSS 的“background-image”,“background- repeat”,“background-position”的组合进行背景定位,background-position 可以用数字能精确的定位出背景图片的位置。
很好地减少网页的 HTTP 请求,从而大大的提高了页面的性能
由于图像合并后基本信息不用重复,那么多张图片合并成 1 张图片的字节往往总是小于这些图片的字节总和。
只需对一张集合的图片上命名就可以了,不需要对每一个小元素进行命名,从而提高了网页的制作效率
只需要在一张或少张图片上修改图片的颜色或样式,整个网页的风格就可以改变
图片的请求数就被缩减到 1 个。其他的请求都可以用到本地缓存
3.有时候,图片数据太多,一些公司的解决方法是将图片数据分到多个域名的服务器上
一方面是将服务器的请求压力分到多个硬件服务器上
另一方面,是利用了浏览器的特性。一般来说,浏览器对于相同域名的图片,最多用 2-4 个线程并行下载。不同浏览器的并发下载数,都是不同的
多域名的下载固然很好,但是太多域名并不太好,一般在 2-3 个域名下载就差不多
4.要是图片的下载不用向服务器发出请求,而可以随着 HTML 的下载同时下载到本地那就太好了
而目前,浏览器已经支持了该特性,我们可以将图片数据编码成 BASE64 的字符串,使用该字符串代替图像地址
从现实我们接触的角度看,如一些在线 HTML 编辑器,里面的小图标,如笑脸等,都使用到了 BASE64 编码,因为它们非常小,数量多,BASE64 可以帮助网页减少图标的请求数,提高效率
5.压缩是一个不错的选择,而 HTTP 协议支持 GZIP 的压缩格式,服务器响应的报头包含 Content-Encoding: gzip
<Connector port ="80" maxHttpHeaderSize ="8192" maxThreads ="150" minSpareThreads ="25" maxSpareThreads ="75" enableLookups ="false" redirectPort ="8443" acceptCount ="100" connectionTimeout ="20000" disableUploadTimeout ="true" URIEncoding ="utf-8" compression="on" compressionMinSize="2048" noCompressionUserAgents="gozilla, traviata" compressableMimeType="text/html,text/xml" />
在高并发的情况,多个 Tomcat 服务器之前,需要采用反向代理的技术,提高并发度,而目前比较火的反向代理是 Nginx
gzip on; gzip_min_length 1000; gzip_buffers 4 8k; gzip_types text/plain application/x-javascript text/css text/html application/xml;
6.预加载原理是在用户查看一张图片时,就将下一张图片先下载到本地
而懒加载则是在用户需要的时候再加载。当一个网页中可能同时有上百张图片,而大部分情况下,用户只看其中的一部分
Lazy Load Plugin for jQuery 是基于 JQuery 的懒加载组件
非技术:
如何把技术讲得通俗易懂:
1.先做市场分析。想明白以下问题:
- 你的受众是谁?
- 他们具备怎样的知识储备?
- 你要兜售的技术解决了他们的什么问题?(向老板解释技术问题也算一种兜售)
- 有没有现成的技术方案解决类似的问题?
- 如果没有现成的同类方案,为什么没有?是因为你对问题定义不清晰,还是不存在这种需求?
- 如果有现成的同类方案,那你兜售的技术和已有解决方案相比较,优缺点如何?
2.包装你的「产品」。可选的方法有很多,
比如假设你文学造诣不错,且你对受众的心理有相对精准的把握,大可以讲个漂亮的故事
文字功底一般,其实也不要紧,那咱就不讲故事,讲道理。把核心的概念按照合适的方式组织起来,用通俗易懂的语言去描述
3.分清主次。判断哪些部分是重要的,应当着重讲;哪些部分是次要的,时间有限或者为了减少复杂度可以忽略不讲
4.条理清晰、层次分明。能否从错综复杂的关系和概念网络中划清边界取决于你自己的抽象能力。
就好像写程序一样,有的人写一个方法/函数四五屏都不够用,而大牛的写法常常是分解为若干不相关的子方法/函数。
5.还得根据实际情况时不时抖个机灵、讲个笑话,把出窍的灵魂给捉回来
6.多用简单短句,少用复杂长句
7.多用比喻。我觉得,无论是否技术,这都能得到不错的效果。
转载于:https://www.cnblogs.com/gcg0036/p/4268979.html
JavaWeb高性能开发(一)相关推荐
- 自定义算子高性能开发
自定义算子高性能开发 在计图中,一共有三种方法来开发自定义的算子: 使用元算子进行组合. 使用Code算子开发自定义算子. 使用计图编译器编译自定义的模块和custom op. 其中,元算子开发是最为 ...
- 10大高性能开发宝石,我要消灭一半程序员!
程序员经常要面临的一个问题就是:如何提高程序性能? 这篇文章,我们循序渐进,从内存.磁盘I/O.网络I/O.CPU.缓存.架构.算法等多层次递进,串联起高性能开发十大必须掌握的核心技术. - I/O优 ...
- Java Web 高性能开发,前端的高性能
Java Web 高性能开发,第 2 部分: 前端的高性能 Web 发展的速度让许多人叹为观止,层出不穷的组件.技术,只需要合理的组合.恰当的设置,就可以让 Web 程序性能不断飞跃.Web 的思想是 ...
- 学生出勤率平时成绩java_《javaweb应用开发》课程标准.doc
<javaweb应用开发>课程标准.doc 还剩 5页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 2 成绩管理系统 过程性考核 权重:1 ...
- 高性能开发,别点,发际线要紧!
作者:轩辕之风O 来源:编程技术宇宙 -前言- 程序员经常要面临的一个问题就是:如何提高程序性能? 这篇文章,我们循序渐进,从内存.磁盘I/O.网络I/O.CPU.缓存.架构.算法等多层次递进,串联起 ...
- 学会这10大高性能开发技术,轻松躲过裁员名单!
来源 | 编程技术宇宙 责编 | Carol 封图 | CSDN 下载自视觉中国 程序员经常要面临的一个问题就是:如何提高程序性能? 这篇文章,我们循序渐进,从内存.磁盘I/O.网络I/O.CPU.缓 ...
- .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)...
大家都说反射耗性能,但是到底有多耗性能,哪些反射方法更耗性能:这些问题却没有统一的描述. 本文将用数据说明反射各个方法和替代方法的性能差异,并提供一些反射代码的编写建议.为了解决反射的性能问题,你可以 ...
- JavaWeb:前端开发基础
JavaWeb:前端开发基础 内联元素和块级元素 说明: 联元素和块级元素都是html中的范畴,块元素和内联元素的主要差异是块元素是从新的一行开始.而内联元素一般显示在一行上.但是可以通过css的di ...
- 高性能开发十大必须掌握的核心技术
作者 | 轩辕之风O 来源 | 编程技术宇宙(ID: xuanyuancoding) 程序员经常要面临的一个问题就是:如何提高程序性能? 这篇文章,我们循序渐进,从内存.磁盘I/O.网络I/O.CPU ...
最新文章
- 放弃在每日站会上按成员逐个发言
- Excel+DDT数据驱动实例
- QT消息/事件循环机制与多线程的关系
- 域传送漏洞(vulhub)
- 常识推理相关最新研究进展
- eclipse32位python版下载_32位eclipse怎么安装?
- 达人评测 i510400f和i511400f区别 i5 11400f和i5 10400f对比
- CentOS 系统修复
- 笛卡尔心形函数表达式_如何用几何画板画笛卡尔心形函数
- 1.3数据库系统的组成及特点
- 计算机学院迎条幅,会计学院迎新标语条幅
- Synchronized详细介绍之锁升级过程
- Tomcat小猫咪安装与环境配置
- Go Flag包使用及解析
- Linux信号详解:signal与sigaction函数【2】
- matlab 功率分配,一种基于遗传算法的NOMA功率分配方法与流程
- 淘宝店铺的运营思路和宝贝描述的要素与量子分析,开店必须要学的
- 惠普cq510改装xp系统
- python3 selenium 模拟登陆 获取cookies 保存到redis(安居客)
- Android如何获取软键盘的高度
热门文章
- css background 充满自适应_剖析一些经典的CSS布局问题,为前端开发+面试保驾护航...
- Java官方操纵byte数组的方式
- 3.6-3.8 分布式环境启动、测试
- java基础——equals及==的区别
- 【网络流24题----09】方格取数问题
- 【干货分享】前端面试知识点锦集03(JavaScript篇)——附答案
- java參数传递机制浅析
- Http方法:Get请求与Post请求的区别
- 领域驱动设计和开发实战总结
- 我理解的invoke和begininvoke