随笔分类 - Java
Record the java's knowledage
摘要:更正: 线程越多,会耗费越多的内存,在线程切换上,为什么线程越多消耗的时间越长呢?其实单个线程的上下文占用的内存其实是不会随着线程数量的增多而增多的,线程越多切换越慢是和操作系统的CPU调度器的调度策略有关,目前大部分服务器操作系统的cpu调度器使用的调度策略是“CFS”(CFS是Completel
阅读全文
摘要:今天测试团队反馈说,服务A的响应很慢,我在想,测试环境也会慢?于是我自己用postman请求了一下接口,真的很慢,竟然要2s左右,正常就50ms左右的。 于是去测试服务器看了一下,发现服务器负载很高,并且该服务A占了很高的cpu。先用top命令,看了load average,发现都到了1.5左右(双
阅读全文
摘要: 接口在线上服务器出现异常的时候,我们第一时间就是去服务器看下log,检查log是否有异常堆栈信息,如果有异常堆栈信息的话,再结合api的access log,是非常容易找出问题所在的,所以我们要学会看异常堆栈信息。异常堆栈信息如何看呢?下面我们一起来看一下。 下面是一个简单的demo: pack
阅读全文
摘要: 最近公司要求要压测几个主要的借口,并且要输出最终的压测报告,因为压测报告要给甲方爸爸们看,让他们相信我们的服务是杠杠的,嘿嘿~。其实甲方爸爸们主要是想看服务器参数以及接口的负载能力(tps),于是我就压测了几个接口,发现了一些问题,针对有问题的接口做了一些优化。 其实做一下压测是挺好的,可以发现
阅读全文
摘要:最近有一个接口偶然出现超时报500的情况,通过服务后台log,发现以下错误,说白了就是在更新mysql的时候,获取排它锁超时导致更新失败了。 org.springframework.web.util.NestedServletException: Request processing failed;
阅读全文
摘要:今天运营那边反馈说有个功能一直弹出500的弹框,我看了下,是后台的接口报500了,于是立即上生产服务器看了下,发现这个接口有时候确实报了很多exception,找了其中一个exception的log来看,怎么那么奇怪,log中打出来的堆栈竟然看不出是哪里的业务代码报出来的(其实这个问题之前也有遇到过
阅读全文
摘要:最近有一个业务是前端要上传word格式的文稿,然后用户上传完之后,可以用浏览器直接查看该文稿,并且可以在富文本框直接引用该文稿,所以上传word文稿之后,后端保存到db的必须是html格式才行,所以涉及到word格式转html格式。 通过调查,这个word和html的处理,有两种方案,方案1是前端做
阅读全文
摘要:最近新开发的ios平台的app在提审的时候,被拒了,原因是app上如果有接第三方登陆(比如,微信,微博,facebook等),那就必须要接apple id登陆,坑爹~苹果霸权啊!然而没办法,靠他吃饭,他是爸爸,唯有顺从。下面我来说一下对接苹果登陆的后端验证模块,目前这一块网上资料比较少,而且说得不够
阅读全文
摘要:我们使用jdbc操作数据库的时候,都习惯性地使用参数化的sql与数据库交互。因为参数化的sql有两大有点,其一,防止sql注入;其二,提高sql的执行性能(同一个connection共用一个的sql编译结果)。下面我们就通过mybatis来分析一下参数化sql的过程,以及和非参数化sql的不同。 注
阅读全文
摘要:mytabis是可以遍历map的,试过很多其他的方法都不行,最终使用如下方法是可以的: 1.mapper.java如下(注意要加@Param注解,否则不行,我就在这里折腾了不少时间): int updateBatch(@Param("map") Map<Long, String> map); 2.m
阅读全文
摘要:一、前言 1.CATALINA_HOME和CATALINA_BASE两个变量的区别:前者是tomcat的安装目录,后者是tomcat实例的目录。(安装一个tomcat,可以启动多个tomcat实例,类似多开器~) 二、tomcat的部署方式有三种: 参考:http://blog.csdn.net/y
阅读全文
摘要:转自:http://liyanjie918.blog.163.com/blog/static/20227290201581143110105/ 在使用eclipse构建maven项目时,突然出现错误提示:An error occurred while filtering resources,在项目中
阅读全文
摘要:Java 和 .net中的枚举不一样,在.net中,枚举是属于值类型的,而在java中确实引用类型的(其实就是一个特殊的类,enum默认集成java.lang.Enum类),所以在java中操作枚举类型就没有.net中那么方便了,比如:在.net中,可以很简单地给枚举赋值,也可以强制进行类型转换,非
阅读全文
摘要:转载自:http://www.cnblogs.com/zhoulf/archive/2013/02/04/2891633.html 安装说明 安装环境:CentOS-6.3安装方式:源码安装 软件:apache-tomcat-7.0.29.tar.gz下载地址:http://tomcat.apach
阅读全文
摘要:转载自:http://blog.csdn.net/xinxin19881112/article/details/46816385 Linux CentOS 6.6安装JDK1.7 目录 1、下载JDK 2、卸载JDK 3、安装JDK 3.1、.rpm后缀格式JDK安装方式 3.2、.tar.gz后缀
阅读全文
摘要:转载自:http://blog.csdn.net/zhangdaiscott/article/details/18141017 -bash: rz: command not found rz命令没找到? 执行sz,同样也没找到。 安装lrzsz: # yum -y install lrzsz 现在就
阅读全文
摘要:在写javaweb的时候,在写路径的时候,/有时候表示站点根目录,有时候表示当前web应用根目录,究竟如何区分呢? 首先,我们建议开发的时候,跳转之类的都是用绝对路径(注意:不是物理路径),而不是使用相对路径,因为使用相对路径很容易出现问题。现在这里科普下绝对路径,相对路径和物理路径的区别。1.绝对
阅读全文
摘要:转载自:http://blog.163.com/dingyi_57@126/blog/static/110479195200911229337281/ 一.为什么要使用转义字符? 1、 HTML中<、>、&等都有特殊的含义(<,>,用于链接签,&用于转义),不能够直接使用,这些符号是不显示在我们最终
阅读全文
摘要:转载自:Java创建线程的两个方法 Java提供了线程类Thread来创建多线程的程序。其实,创建线程与创建普通的类的对象的操作是一样的,而线程就是Thread类或其子类的实例对象。每个Thread对象描述了一个单独的线程。要产生一个线程,有两种方法: ◆需要从Java.lang.Thread类派生
阅读全文
摘要:转载自:JSP中pageEncoding和charset区别,中文乱码解决方案 JSP指令标签中<%@ page contentType="text/html;charset=GB2312"%>这句有什么用途?关于JSP页面中的pageEncoding和contentType两种属性的区别: pag
阅读全文

浙公网安备 33010602011771号