java类
jokelyli
我热爱技术,但不拘泥于技术!
展开
-
MultiThreadedHttpConnectionManager遇到的坑
先说背景,使用的是commons-httpclient 3.1版本封装的HttpUtils,请求一个失效的url。设置了重试大小3次,因为是失效的url,所以应该重试3次直接退出。但是现象是重试了两次后,第三次一直等不到结果,并且请求不会超时,不会中断,任务一直卡着。附有问题的代码初始化client部分 privatestaticHttpClient client ...原创 2019-11-06 15:27:34 · 4300 阅读 · 0 评论 -
关于Java中的可变与不可变类
所谓不可变类,是指当创建了这个类的实例后,就不允许修改它的属性值。在JDK的基本类库中,所有基本类型的包装类,如Integer和Long类,都是不可变类,java.lang.String也是不可变类,虽然他不是基本类型。如:String var = "abcd";Long i = 0L;我们知道,当声明一个变量的时候,变量名实际上是该对象的指针;而我们在函数中传递该变量转载 2014-03-04 19:46:29 · 744 阅读 · 0 评论 -
HttpClient入门
HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。本文首先介绍 HTTPClient,然后根据作者实际工作经验给出了一些常见问题的解决方法。HttpClient简介HTTP 协议可能是现在 In转载 2014-03-12 10:11:39 · 552 阅读 · 0 评论 -
HttpClient 学习整理
HttpClient 是我最近想研究的东西,以前想过的一些应用没能有很好的实现,发现这个开源项目之后就有点眉目了,令人头痛的cookie问题还是有办法解决滴。在网上整理了一些东西,写得很好,寄放在这里。HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java.net 包中转载 2014-03-12 14:48:33 · 532 阅读 · 0 评论 -
java并发编程-Executor框架
Executor框架是指java 5中引入的一系列并发库中与executor相关的一些功能类,其中包括线程池,Executor,Executors,ExecutorService,CompletionService,Future,Callable等。他们的关系为: 并发编程的一种编程方式是把任务拆分为一些列的小任务,即Runnable,然后在提交给一个Executor执转载 2014-10-22 10:51:44 · 579 阅读 · 0 评论 -
subString() jdk1.7改进
String b = a.subString(2); JDK6中通过观察源码发现b虽然创建了一个新的对象,但是value[]属性域仍然指向原来的a所指向的字符数组,只是重新定义了起始位置以及长度。 原因是为了避免内存拷贝、加快速度。但如果有一个"非常"长的字符串,每次使用substring()时只想要很小的一部分,那么将会引起另一个性能问题: 虽然只需要很小的一部分,但是持有了整个v原创 2015-11-11 14:38:05 · 592 阅读 · 0 评论 -
多数据更新冲突处理机制
一 背景 在做一个数据合并项目的时候,遇到了多数据源更新同一数据,导致并发更新冲突的问题。具体场景是,有一个数据实时采集服务,然后通过数据merge服务,完成最终的数据合并操作。但是在做合并操作时,有可能会存在并发冲突,后一个线程将前一个线程刚处理后的字段给覆盖。当时的存储引擎是es,虽然es本身自带版本控制功能,但是由于es自身的刷新时间间隔,以及项目本身设置的刷新时间较长(场原创 2017-07-04 18:08:06 · 1546 阅读 · 0 评论