- 博客(14)
- 收藏
- 关注
原创 查看mysql数据库正在执行的sql 配置执行sql packet最大值 mysql添加删除主键
查看mysql数据库正在执行的sql show PROCESSLIST配置执行sql packet最大值 show variables like ‘%max_allowed_packet%’; 修改 set global max_allowed_packet = 2*1024*1024*10;
2017-04-19 15:47:03 414
原创 Tomcat源码随手笔记
Bootstrap类的init()方法有一句 Thread.currentThread().setContextClassLoader(catalinaLoader); 与类加载器的双亲委派有关,有时父 类加载器加载的jar包类要回调子 类加载器的类,通过放到线程上下文中 ‘舞弊’。
2017-04-16 19:24:19 212
原创 搞定后台url/uri编码问题
一般来说,浏览器客户端可以以任意字符集对url进行urlEncode,但却无法让后端服务器使用指定的编码方式,除非后端服务器拟定了某种特殊规范,比如在http header中添加类似 urlEncoding:utf-8 的请求头,然后后端服务器则按照其指定的编码方式进行解码。以下在讨论tomcat处理uri的源码,首先贴张图,了解一下url与uri的区别:对于编解码的影响,最大的区别就是uri不包含
2017-04-15 23:38:44 2057
转载 BIO、NIO、AIO的关系
一个IO操作其实分成了两个步骤:发起IO请求和实际的IO操作。 同步IO和异步IO的区别就在于第二个步骤是否阻塞,如果实际的IO读写阻塞请求进程,那么就是同步IO。 阻塞IO和非阻塞IO的区别在于第一步,发起IO请求是否会被阻塞,如果阻塞直到完成那么就是传统的阻塞IO,如果不阻塞,那么就是非阻塞IO。同步和异步是针对应用程序和内核的交互而言的,同步指的是用户进程触发IO操作并等待或者轮询的去查看
2017-04-15 20:00:00 301
转载 修改Tomcat Connector运行模式,优化Tomcat运行性能
原文:http://www.365mini.com/page/tomcat-connector-mode.htmTomcat是一个小型的轻量级应用服务器,也是JavaEE开发人员最常用的服务器之一。不过,许多开发人员不知道的是,Tomcat Connector(Tomcat连接器)有bio、nio、apr三种运行模式,那么这三种运行模式有什么区别呢,我们又如何修改Tomcat Conn
2017-04-15 19:21:59 305
转载 HTTP1.1协议新特性
摘自 《How Tomcat Works》持久连接在HTTP1.1之前,无论什么时候浏览器连接到一个web服务器,当请求的资源被发送之后,连接就被服务器关闭了。然而,一个互联网网页包括其他资源, 例如图片文件,applet 等等。因此,当一个页面被请求的时候,浏览器同样需要下载页面所引用到的资源。加入页面和它所引用到的全部资源使用不同连接来 下载的话,进程将会非常慢。那就是为什HTTP1.1引入持久
2017-04-15 19:00:19 3023
原创 jdk、第三方jar中有关工厂模式或单例模式
Tomcat中StringManager类,工厂模式,通过StringManager.getManager(Constants.Package) ,根据包名获取相应的StringManager对象,即每个包共享一个或几个StringManager对象(因为Locale国际化原因,一个包可能共享多个StringManager对象)
2017-04-15 14:15:44 610
原创 jdk、第三方jar中WeaReference的应用
1 ThreadLocal.ThreadLocalMap的Entry继承了WeakReference< ThreadLocal > ,即ThreadLocal对象为弱引用,Entry以ThreadLocal对象的弱引用为key:static class Entry extends WeakReference<ThreadLocal> { /** The value associated wi
2017-04-15 14:02:46 245
原创 隐藏极深的空指针- -
最近测试反馈了一个bug,经过查看日志发现是mq消息重复消费导致的,一开始连续重试,等重试了一会,后来就变成了每隔两分钟重试一次。这应该是mq框架的功能,遇到某种情况,mq框架认为消费者没有能成功把消息消费掉,所以一直不断尝试,重新消费。最大的可能就是业务代码抛异常了,一路抛给了mq框架,所以mq框架才会如此鬼畜。但是在项目日志中完全没看到异常日志啊?怎么回事。可能正是因为异常一路抛出去了,在业务代
2017-04-13 18:41:00 322
原创 拿到当前被调用代码所在的类名
Thread.currentThread().getStackTrace()[1].getClassName()代码中的 [ 1 ] 可能会让人比较疑惑:为什么是 1 呢?看debug截图:这其实就是一个典型的栈,对应着jvm内存模型中的方法栈,栈的最上方是当前被调用的栈帧,也就是getStackTrace() 方法,那么它下面的一个栈帧自然就是调用它的代码位置了,也就是当前类调用 Thread.c
2017-04-11 21:14:18 254
原创 java泛型
泛型好处: 1. Stronger type checks at compile time. 在编译期进行强类型检查 A Java compiler applies strong type checking to generic code and issues errors if the code violates type safety. Fixing compile-time error
2017-04-07 14:28:51 214
原创 关于前后台交互时'和"的问题
最近在项目中遇到一个问题:前台表单填写的数据含有 ’ 或者 “,传到java服务器端正常接收,正常保存到数据库。在页面显示的时候,使用的velocity模板,就像下面这样:<div>initData('$!{data}');</div>data为Controller存入Model的一个jsonObject对象(fastjson),比如为 class User{ private String
2017-04-04 19:04:12 683
转载 Spring RootBeanDefinition,ChildBeanDefinition,GenericBeanDefinition
RootBeanDefinition,ChildBeanDefinition,GenericBeanDefinition均继承了AbstractBeanDefiniton,其中BeanDefinition是配置文件元素标签在容器中内部表示形式。元素标签拥有class、scope、lazy-init等配置属性,BeanDefinition则提供了相应的beanClass、scope、lazyInit属
2017-04-01 12:00:28 1570
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人