技术博客
xusheng__zhang
这个作者很懒,什么都没留下…
展开
-
java操作json对象出现StackOverflow的错误
今天在做项目的时候,遇到一个非常怪异的问题。一个java实体类中存在多个属性,每一个属性都是JsonObject类型。在程序中用setXXX方法对这些属性设置值的时候,竟然报了Stack Overflow的错误。仔细检查了一遍程序,确定没有循环引用和死递归的发生。最后经过和查阅相关资料,终于发现我用的JsonObject是net.sf.json包下的类。在这个类库中的json对象可能会存在父子对象原创 2017-09-08 21:44:43 · 2859 阅读 · 0 评论 -
elasticsearch倒排索引
先简单介绍一下ElasticSearch。ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。 我们建立一个网站或应用程序,并...翻译 2018-02-28 11:27:52 · 828 阅读 · 0 评论 -
MySQL优化——使用explain来分析sql语句
MySQL为我们提供了一个分析sql语句执行计划的利器,那就是explain。通过explain我们可以分析一个sql语句完整的执行计划,包括使用的索引,扫描的行数以及是否使用了文件排序等等,在我们分析sql语句,优化sql语句中具有重要的意义。原创 2018-01-02 15:16:49 · 1528 阅读 · 0 评论 -
Java利用Request请求获取IP地址对应的省份、城市
这里的操作步骤一共有步: 通过Request获取IP通过IP获取对应省份、城市通过设置的省份和IP对应省份进行比对,展示内容通过Request获取IPpublic class IpAdrressUtil { /** * 获取Ip地址 * @param request * @return */ private static String getIpAdrress(HttpServl转载 2017-12-20 18:30:06 · 3517 阅读 · 0 评论 -
如何限制用户在某一时间段多次访问接口
转载自https://www.cnblogs.com/leechenxiang/p/6181449.html 要知道,如今很多平台的接口都是可以同时被门户网站,手机端,移动浏览器访问,因为接口是通用的,而为了安全起见,有些接口都会设置一个门槛,那就是限制访问次数,也就是在某一时间段内不能过多的访问,比如登录次数限制,在一些金融理财或者银行的接口上比较常见,另外一些与用户信息有关的接口都会有一个限制转载 2017-12-20 18:16:49 · 9374 阅读 · 0 评论 -
shared nothing架构
shared noting(SN)是一种分布式计算架构。这这种架构中,每一个节点都是独立的,自给的,在系统中不存在单点竞争。更明确地说,没有节点共享存储和硬盘。人们通常将SN和大量保存中央存储状态信息的系统进行对比,无论是在数据库,应用服务器或者是其他相似的单点竞争。 SN相对中央控制架构有很大的优点。SN可以避免单点故障,拥有自我恢复能力,并且在不破坏原有系统的情况下进行升级。 SN架构的概念翻译 2017-11-22 10:48:58 · 11105 阅读 · 0 评论 -
DRUID连接池的实用 配置详解
DRUID介绍DRUID是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0、DBCP、PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB连接池(据说是目前最好的连接池,不知道速度有没有BoneCP快)。配置参数和其它连接池一样DRUID的DataSource类为:com.alibaba.druid.pool.DruidD转载 2017-10-24 07:22:19 · 395 阅读 · 0 评论 -
使用mongoDB pipeline进行聚合操作
mongoDB中的聚合操作将多个文档中的值组合在一起,并可对分组数据执行各种操作,以返回单个结果。 在SQL中的 count(*)与group by组合相当于mongodb 中的聚合功能。 mongoDB为我们提供了三种方法来实现聚合操作。分别是aggregation pipeline,Map-Reduce和Single Purpose Aggregation Operations。今天我们主要来原创 2017-11-06 20:18:58 · 19023 阅读 · 1 评论 -
倚天剑:apache-common-collections
接着上次的话题,再介绍apache-common系列中另一个重要的成员:apache-common-collections。包中对Java中的集合类进行了一定的补充,定义了一些全新的集合,当然也是实现了Collection接口的,比如Bag,BidiMap。同时拥有新版本的原有集合,比如FastArrayList。最后,更为重要的是一系列utils类,提供了我们常用的集合操作,可以大大方便我们的日常转载 2017-10-21 10:23:41 · 860 阅读 · 0 评论 -
maven工程报错failure to transfe........................
maven工程报错failure to transfe……………………是因为本地maven仓库中对应的jar包不完整导致的。这个时候本地的jar包对应的目录下一般会有一个.lastUpdated的文件。这个是因为maven由于网络原因导致jar没有下载完整,即使后来网络畅通了,也不会自动修复。需要我们打开自己的本地maven库,找到对应的jar包目录,直接删除,然后update工程,重新下载jar包原创 2017-10-27 16:31:43 · 206 阅读 · 0 评论 -
SpringMVC之DispatcherServlet
DispatcherServlet是springMVC的前端控制器,也是springMVC中最重要的一个类。理解了DispatcherServlet也就差不多理解了springMVC。DispatcherServlet继承自FrameworkServlet,FrameWorkServlet继承自HttpServletBean并且实现了ApplicationContextAware接口。Http原创 2017-09-21 11:34:56 · 598 阅读 · 0 评论 -
使用swagger创建功能强大的API
wagger是什么?swagger官网对其的简介为:Swagger is the world’s largest framework of API developer tools for the OpenAPI Specification(OAS), enabling development across the entire API lifecycle, from design and do原创 2017-09-29 18:05:32 · 5375 阅读 · 0 评论 -
@SuppressWarnings可以抑制的警告类型
The list of tokens that can be used inside a SuppressWarnings annotation is:all to suppress all warningsboxing to suppress warnings relative to boxing/unboxing operationscast to suppress warnings转载 2017-09-21 14:12:06 · 863 阅读 · 0 评论 -
springmvc九大组件之HandlerMapping
HandlerMapping的主要作用就是通过用户的请求找到对该请求相应的处理器。打开HandlerMapping的源代码我们可以看见,HandlerMapping只有一个方法:HandlerExecutionChain getHandler(HttpServletRequest request) throws Exception。HandlerExecutionChain 中封装了Handl原创 2017-09-27 11:57:19 · 461 阅读 · 0 评论 -
ElasticSearch的基本概念
概念 解释 Cluster 集群,一个集群中包含多个node. Node 一个elasticsearch服务器。 Index 索引,包含一堆有相似结构的文档数据,类似于关系型数据库的一个库。一个index下可以有多个type. Type 类型,每个索引里都可以有一个或多个type,type是index中的一个逻辑数据分类,类似于关系型...原创 2018-02-28 11:37:34 · 370 阅读 · 0 评论