Java Web高性能开发(三)
今日要闻:
Clarifai:可识别视频中物体
最近几年,得益于深度学习技术的发展,谷歌和Facebook等企业的研究人员在图形识别软件领域取得了重大突破。现在,一家名为Clarifai的创业公司则提供了一项新服务,利用深度学习技术来理解视频内容。
深度学习需要借助一个模拟“神经元”的网络来处理数据,并且利用实例数据对其进行训练。Clarifai的技术源自纽约大学的研究,该公司2013年在一项著名的图片内容识别软件竞赛中取得前五名。
今日英文:
http://docs.oracle.com/cd/E11882_01/java.112/e16548/jdbcvers.htm#JJDBC28111
SQLXML 类型(Sql:2003)
需要导入xdb.jar 和 xmlparserv2.jar
设置 oracle.jdbc.getObjectReturnsXMLType=false 让getObject 返回java.sql.SQLXML类型
否则返回 oracle.xdb.XMLType 类型(10g以前)
import java.sql.*;
import java.util.Properties;
import oracle.jdbc.pool.OracleDataSource; public class SQLXMLTest
{ public static void main(String[] args)
{ Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
PreparedStatement ps = null; String xml = "<?xml version=\"1.0\"?>\n" +
"<oldjoke>\n" +
"<burns>Say <quote>goodnight</quote>, Gracie.</burns>\n" +
"<allen><quote>Goodnight, Gracie.</quote></allen>\n" +
"<applause/>\n" +
"</oldjoke>"; try
{ OracleDataSource ods = new OracleDataSource();
ods.setURL("jdbc:oracle:thin:@//localhost:1521/orcl");
ods.setUser("scott");
ods.setPassword("tiger");
conn = ods.getConnection(); ps = conn.prepareStatement("insert into x values (?, ?)");
ps.setString(1, "string to string");
SQLXML x = conn.createSQLXML();//初始化
x.setString(xml);//赋值
ps.setSQLXML(2, x);//绑定,不可以set空的Sqlxml
ps.execute();
x.free();//释放
stmt = conn.createStatement();
rs = stmt.executeQuery("select * from x");
while (rs.next())
{ System.out.println(rs.getString(1) + "\n" + rs.getSQLXML(2).getString());//取出为String
} rs.close();
ps.close();
} catch (SQLException e){e.printStackTrace ();} }
}
技术区:
Java Web高性能开发(三)优化实战
1.JS模块化技术提出按需加载,也就是当用户触发该功能的时候,那个功能才真正的被加载。
但模块如果是懒加载的,粒度不能太小,也就是模块不能太小。
根据网站的规模、团队的规模、自己对模块化技术的掌握程度来选择是否使用模块化技术。当你的团队预计或者已经发展到一个很大的规模,需要多人维护和开发自己的模块,那么模块化是个不错的选择。如果你的网站发展壮大到功能之间经常互相影响,大量可重用模块无组织,那么模块化就是一个最好的解决方案。当然,这一切都要取决于你是否可以 hold 住模块化技术。
2.HTML 的渲染和加载顺序是从上往下,必须等到这个 JavaScript 下载完毕才会渲染后续的部分。
主功能,需要及时反馈,如页面点击监听等 ,应放在头部
辅功能,不着急加载,如 SNS 分享按钮,流量统计,后台任务等 可以放在尾部
功能代码按类型归类到不同的 JavaScript 文件,比如应该放头部和应该放尾部的代码,最好不要合并在一起。
3.CSS Sprite:网页框架显示之后,许多背景部分迟迟没有显示出来,包括头部,模块头部背景,小图片,过一会就出现用 CSS Sprite 的背景一次性显示出来,形成所说的背景延迟现象。
如何让 CSS 的图片在网页框架显示前就被加载,就变为了一个难题。
可以在网页的顶部,添加隐藏的<img>图像标签,来加载 CSS 图片,CSS 链接在<img>图像标签后面,也就是网页会等到图片加载完后加载 CSS,CSS 再请求图片。发现如果图片已经被加载过,就不会再加载,而是直接渲染页面,这就达到了 CSS 图片优先于 CSS 文件和网页内容加载的目的。
4.传统的懒加载策略,当用户匀速一直下拉网页时,网页图片的加载时常有卡顿现象,原因是促发的多个图片批量下载导致的; 对网页上下移动的控制要求很高,在频繁的上下移动、快速移动后,图片有时无法加载;
所有的 img 标签,定义为:<img src=“wait.png” oriSrc=“真实图片地址”>,然后在网页 onload 事件后,设置 2 秒的定时器:
setTimeout(function(){var im = $(“img[src=‘wait.png’]”); im.attr(“src”, im.attr(“oriSrc”)); }, 2000);
代码和原理很简单,先让图片都显示等待,由于同一张图片被多次引用是不会被重复加载的,所以这样没问题。然后在网页加载 2 秒后显示所有的图片。
网页框架被快速的显示,由于图片来自淘宝,加载也很快。同时,提示性的等待图片加载,主动的将响应信息反馈给用户,也是一种用户体验的提升,总体来说已经达到了理想中的效果。
5.适当时候提示下,来掩盖问题
为每个非_target 的超链接或者表单的点击,添加点击事件处理,处理逻辑也很简单,就是设置 3 秒超时,显示等待对话框。如果在 3 秒内页面发生跳转,那么这个等待对话框就不会出现,否则会弹出提示用户等待,从而及时的将响应反馈给用户,减少用户空白等待时间。
优化的目的,就是不要让用户一直得不到响应,避免空白等待,让用户体验越来越好。
非技术:
黑客马拉松是程序员的“美国偶像”,非常受欢迎。参与黑客马拉松的,除了热衷钻研技术的软件工程师,还有来自风投公司的团队。黑客马拉松一般长达几十个小时,参赛者累了或坐或卧,现场休息。“黑客马拉松”逐渐成为插件开发的主要形式:一群高手云集一堂,在几十个小时内拿出作品,择优而录。
“黑客马拉松”就像程序员版的《美国偶像》,极其火爆。有了更加易用的软件编写工具,加上各公司乐于让第三方分享他们的数据
黑客马拉松不是突然冒出来的,它们源自编码潮流。电影《社交网络》有一幕很出名:马克·扎克伯格在哈佛一间宿舍里举行了10分钟的编码比赛,赢家成了他第一位实习生。
财富500强公司希望借黑客马拉松来宣传自己,AT&T、微软、诺基亚,甚至甚至是联合利华这样的巨头都主办过黑客马拉松和插件大赛。办一场 100人参加的比赛,只需投入5000美元——考虑到如果某位参赛者做出一鸣惊人的插件、被公司推到市场上带来的回报,这笔投资堪称微不足道。
风险投资者也把黑客马拉松视为寻找人才和投资目标的理想场所。投资者特别喜欢黑客马拉松,并会循例派下级员工混迹其中的原因:这里可以发现人才。“过去大家习惯于在技术大会上包下一个活动室。现在的潮流是,如果你想找工程师,就去黑客马拉松。”
风险投资人不是唯一在黑客马拉松转悠的人。独立的技术猎头尤其积极,他们的理由也很充分:一位软件工程师的起薪可以高达10万美元,而猎头可以拿到他头一年工资20%的佣金。
Keyani 说,“黑客马拉松”上有一个很关键的原则:不能做自己的日常工作,这是因为活动的主要目的是激发新点子。每次活动都会出现四五项新想法,并且使用在网站上面,有些主意甚至改变了公司的方向。比如,公司内部一直不愿意构建的聊天客户端。“编码胜过了争论”,Keyani 说,“你可以为一件事情争上两天,或者你可以在一小时内做好,然后证明你的观点”。
黑客马拉松”的核心理念是,以不同的方式思考你以前没有机会专注的主意。Kayani 说,许多公司都有”思考周“的观点,在一周内进行头脑风暴活动。那不一定是在深夜,”如果一个公司雇佣了合格的员工,相信他们能有好主意,就应该给予他们空闲时间和自由度,让他们在公司需要探索的方面,想出一些了不起的东西”。
Java Web高性能开发(三)的更多相关文章
- Java Web 高性能开发,前端的高性能
Java Web 高性能开发,第 2 部分: 前端的高性能 Web 发展的速度让许多人叹为观止,层出不穷的组件.技术,只需要合理的组合.恰当的设置,就可以让 Web 程序性能不断飞跃.Web 的思想是 ...
- Java Web高性能开发(二)
今日要闻: 性价比是个骗局: 对某个产品学上三五天个把月,然后就要花最少的钱买最多最好的东西占最大的便宜. 感谢万能的互联网,他顺利得手,顺便享受了智商上的无上满足以及居高临下的优越感--你们一千块买 ...
- Java Web 高性能开发,第 3 部分: 网站优化实战
这个系列的前两篇,介绍了前端的优化技术,这些技术秉承了前人至高无上的智慧,我只是负责吸收和传播.然而,这些技术一般也都是某某大型网站的技术经验,我们大部分人或许只能接触到相对小规模的网站,小规模的网站 ...
- Java Web 高性能开发,第 2 部分: 前端的高性能
Web 发展的速度让许多人叹为观止,层出不穷的组件.技术,只需要合理的组合.恰当的设置,就可以让 Web 程序性能不断飞跃.Web 的思想是通用的,它们也可以运用到 Java Web.这一系列的文章, ...
- Java Web 高性能开发,第 1 部分: 前端的高性能
Web 发展的速度让许多人叹为观止,层出不穷的组件.技术,只需要合理的组合.恰当的设置,就可以让 Web 程序性能不断飞跃.所有 Web 的思想都是通用的,它们也可以运用到 Java Web.这一系列 ...
- Java Web高性能开发 - 前端高性能
作者:IBM developerWorks链接:https://www.ibm.com/developerworks/cn/java/j-lo-javawebhiperf1/著作权归作者所有.商业转载 ...
- 基于Spring MVC的Web应用开发(三) - Resources
基于Spring MVC的Web应用开发(3) - Resources 上一篇介绍了在基于Spring MVC的Web项目中加入日志,本文介绍Spring MVC如何处理资源文件. 注意到本项目的we ...
- 使用MyEclipse搭建java Web项目开发
转自:http://blog.csdn.net/jiuqiyuliang/article/details/36875217 首先,在开始搭建MyEclipse的开发环境之前,还有三步工具的安装需要完成 ...
- java web面试技巧,数据库面试,java web轻量级开发面试教程
我最近看到一本比较好的讲java web方面面试的书,java web轻量级开发面试教程. 其中不仅用案例和视频讲述了Spring MVC,Hibernate, ORM等方面的技巧,而且还实际讲到了面 ...
随机推荐
- 索引 split2
当往一个已经满了的索引块中插入新的索引条目时,将发生索引块的split,在9i下,分两种不同的情况进行split: (1)如果插入的索引键值不是最大的,将发生50-50的split,也就是说有bloc ...
- vc 6.0 连接数据库
在mysql的文档(C:\Program Files\MySQL\MySQL Server 5.5\lib)里面找到libmysql.dll和libmysql.lib 两个文件,将他们移到 工程文件下 ...
- 《OD学oozie》20160813
一.日志收集项目案例 1. oozie中依赖jar包 在工作目录下创建lib目录,上传依赖包的lib目录下 2. 作业 将日志收集与处理项目案例使用oozie的workflow执行 3. coordi ...
- HDU 1574 RP问题
如果说难的话,难就难在对阶段的划分. 这又是一道对值域空间进行分段的题目. 因为rp有正有负,所以将整个数组向右平移10000个单位长度 l和r分别是rp可能的最小值 因为b是“门槛”,所以如果 发生 ...
- IOS中UIWebView执行javaScript脚本时注意点
1.webView之所以能够滚动,因为它内部有一个UIScrollView子控件 2.移除webView顶部和底部灰色的一层view * 遍历webView中scrollView内部的所有子控件 * ...
- php socket编程参考资料
WebSocket API https://msdn.microsoft.com/library/hh673567 http://www.jnecw.com/p/1523 经朋友推荐去一家手游公司面试 ...
- Mysql管理工具SQLyog
SQLyog_Enterprise 用户名:yunjian 注册码:81f43d3dd20872b6 http://download.csdn.net/detail/shel_lee/585361 ...
- erl0008 - unicode 和 utf-8之间的关系
转载:http://blog.jobbole.com/84903/ 原文出处: 卢钧轶 欢迎分享原创到伯乐头条 本文将简述字符集,字符编码的概念.以及在遭遇乱码时的一些常用诊断技巧. 背景:字符集 ...
- php时区测试
php里面关于时间的函数有date,time,strtotime,gmdate等,里面只要和时间字符串相关的基本都收到时区的影响,所以时间戳才是唯一稳定时间记录,因为标准都是统一的.这里联想到数据库的 ...
- 【英语】Bingo口语笔记(52) - sleep系列