在我做项目的时候遇到一个需求,要将存在于表ta而不存在于表tb中的数据查询出来。
记录使用的方法和探讨效率。
在我使用get请求进行查询的时候遇到一个问题:
当我的请求参数中有中文时,出现乱码。
可是即使我设置了Spring的characterEncodingFilter,也还是出现乱码。
原因:tomcat默认使用ISO8859-1编码来解析get中的url参数,导致乱码。而characterEncodingFilter
或者request.setCharacterEncoding("UTF-8");
都只针对post请求体有效。
下面对Http中get方法编码到tomcat的解码过程进行探究。
在高并发下,为了提高访问的性能,需要将数据库中 一些经常展现和不会频繁变更的数据,存放在存取速率更快的内存中。这样可以
缓存适用于读多写少的场合,查询时缓存命中率很低、写操作很频繁等场景不适宜用缓存。
MySQL有自己的查询缓存,为什么还要使用 Redis 等缓存应用?
而Redis是一个高性能的 key-value 内存数据库,恰恰可以作为缓存使用。
现在遇到一个需求就是要求完成简单的单点登录,通过在一个tomcat实例中放置两个webapps应用ROOT应用和CEO应用来完成在ROOT应用登录后,在CEO可以直接使用,而未在ROOT应用登录时,不可以进去CEO应用。
实际上问题就是session如何在两个webapp中实现共享,通过上网搜索发现一个方法
链表作为常考的面试题,并且本身比较灵活,对指针的应用较多。本文对常见的链表面试题Java实现做了整理。
链表节点定义如下:static class Node {
int num;
Node next;
}
二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现。在三种遍历中,前序和中序遍历的非递归算法都很容易实现,非递归后序遍历实现起来相对来说要难一点。