- 浏览: 577882 次
- 性别:
- 来自: 北京
最新评论
-
冰糖雪栗:
...
使用jstack分析cpu消耗过高的问题 -
hongyuan19:
ron.luo 写道我也有此疑问,求解。使用Intercept ...
spring mvc获取header -
ron.luo:
我也有此疑问,求解。
spring mvc获取header -
wzhj0528:
vi /etc/selinux/config SELINUX ...
ssh使用公钥授权不通过的问题解决 -
xuhuan1108:
请问请问一下:使用Spring MVC 怎么预先统一处理所有 ...
spring mvc获取header
文章列表
针对于一些小的数据,可以在网页中直接嵌入,而不是从外部文件载入,比如图片。这样的好处是可以减少一次http的请求,缺点是使得页面内容变大。data类型的url格式在98年就已经提出了,现在绝大部分的浏览器都能支持,比如使用IE6内核的国内浏览器,chrome和firefox等,但IE8上使用有问题,图片显示不完整。
data类型的url有以下几种形式:
data:,<文本数据>
data:text/plain,<文本数据>
data:text/html,<HTML代码>
data:text/html;base64,<base64编码的HTML代码 ...
为了减少js文件大小,或者避免代码易读,可以使用混淆工具进行压缩。
yui基本没混淆,packer混淆程度不错,但执行时可能会出错。几个常见的工具比较:http://compressorrater.thruhere.net/
yui
下载http://yuilibrary.com/download/yuicompressor/
java -jar yuicompressor-x.y.z.jar --preserve-semi -o output.js input.js
--preserve-semi表示保留逗号
例如:
java -jar yuicompressor-2.4.6.jar --p ...
0.服务器配置
服务器2台,安装rhel5.1
服务端10.10.8.87
客户端10.10.8.81
1)务必在服务端的hosts加入对客户端ip的识别
10.10.8.87操作:
vi /etc/hosts
加入
10.10.8.81 client.81
2)务必在客户端的hosts加入对服务端ip的识别
10.10.8.81操作:
vi /etc/hos ...
一个常见的场景,在游戏中打一个怪物,10%几率出现miss,那么这次攻击是命中还是miss呢?我们可以用随机数来实现,miss的范围是[1,10],命中的范围是[11,100],然后我们取一个随机数,比如60就是命中了,如果不幸取到8就是miss了 ...
这里申请了1000个线程,并且执行1000次任务。当所有任务完成后,main退出。
public class Test {
public static void main(String[] args) {
int count = 1000;
ExecutorService executorService = Executors.newFixedThreadPool(count);
for (int i = 0; i < count; i++)
executorService.exe ...
方式一:
参考:http://www.mkyong.com/spring-mvc/spring-3-mvc-and-xml-example/
满足以下条件时会自动将对象转换为xml格式进行输出:
引用As i know, when Spring see
1. Object annotated with JAXB
2. JAXB library existed in classpath
3. “mvc:annotation-driven” is enabled
4. Return method annotated with @ResponseBody
It will handle th ...
两种方法:
1.在方法参数中加入@RequestHeader
2.在类级别注入HttpServletRequest
建议使用第二种方法,这样可避免每个方法都加入HttpHeaders参数
@Controller
@RequestMapping("/hello")
public class HelloController {
@Autowired
private HttpServletRequest request;
@RequestMapping(value="/printname/{name}", m ...
简介:
反向代理服务器,适用于对静态资源的访问,比如图片,可通过缓存提高访问速度。
官网https://www.varnish-cache.org/
试用心得:
原来项目的图片是通过tomcat来访问的,图片访问量占到所有请求的20%左右。并且图片不多,决大部分都是重复访问。于是想使用缓存来减少磁盘IO的消耗。很自然就用到了varnish,比较新、性能也很强劲的缓存服务器,squid的替换者。
不过在redhat企业版
参考:http://radar.oreilly.com/2011/09/java7-features.html
语法增强:
1.方块操作符
原:
Map<String, List<Trade>> trades = new TreeMap<String, List<Trade>> ();
现:Map<String, List<Trade>> trades = new TreeMap <> ();
2.switch终于可以使用String类型了
String status = t.getStatus();
sw ...
solr访问量增大时,日志实在是多,1天的日志就是3G,而且基本没什么用,于是想着怎么关闭它。
solr使用jdk自带的logging输出,jvm启动时通过设置-Djava.util.logging.config.file可以指定日志的配置文件。这里以tomcat容器为例,tomcat启动时会设置:
-Djava.util.logging.config.file=tomcat/conf/logging.properties
我们在logging.properties添加以下的内容:
org.apache.solr.level = WARNING
重启tomcat之后,info的日志就不会输 ...
如果solr客户端和服务端在同一个服务器上,客户端可使用embedded的方式(使用luence直接访问索引)替代http的访问。测试次数较少,性能提升30%左右,仅供参考。
压力测试对比:
线程数
500
循环次数
20
http_server.py为一个启动http服务器的脚本,大概代码:
server_address = ("", 7000)
server = BaseHTTPServer.HTTPServer(server_address, ServerHandler)
server.serve_forever()
现象:
1)在linux shell后台执行python脚本
python http_server.py &
2)退出当前shell
exit
3)这时请求一下http服务
http://localhost:7000
4)报错
Traceback (most r ...
日志过大之后,如果每次都人工处理,是件很头疼的事情。这里介绍几种常用的方法,可使用简单的linux命令定时执行:
1.删除
时间比较早的日志觉得已经无用,删除即可。
这里以mysql的二进制日志为例:
find /data/mysql_data -maxdepth 1 -name "mysql-bin.0*" -ctime +15 -exec rm {} \;/data/mysql_data是日志所在的文件夹
-maxdepth 1表示只查找指定的文件夹,而不包括子目录。如果不指定-maxdepth,表示包括子目录。
-name查找符合条件的文件名
-ctime +15表示 ...
我们使用jdk自带的jstack来分析。当linux出现cpu被java程序消耗过高时,以下过程说不定可以帮上你的忙:
1.top查找出哪个进程消耗的cpu高
21125 co_ad2 18 0 1817m 776m 9712 S 3.3 4.9 12:03.24 java
5284 co_ad 21 0 3028m 2.5g 9432 S 1.0 16.3 6629:44 jav ...
mysql 5.1.37
表记录数41,547,002,即4000w行
使用远程客户端取1000条数据,统计时间:
SELECT * FROM `dmsp`.`dmsp_dimension_content` LIMIT 0, 1000;时间2.218s,网络消耗0.547s
SELECT `id`, `appid`, `aop`, `t`, `uid`, `sid`, `pid`, `pname`, `bid`, `bname`, `ptype`, `sm`, `sv`, `bt`, `national`, `area`, `ov` FROM `dmsp`.`dmsp_dimension_co ...