![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 59
sourny
sourny@126.com
展开
-
使用XMLInputFactory,XMLStreamReader,XMLEventReader解析修改XML文件
package com.org.domain;import java.io.IOException;import java.io.InputStream;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.stream.EventFilte转载 2014-11-06 10:48:13 · 1197 阅读 · 0 评论 -
解决Spring MVC @ResponseBody返回中文字符串乱码问题
public static void responseJson(HttpServletResponse response,String data) throws IOException{ response.setContentType("text/json"); response.setCharacterEncoding("utf-8"); response.ge原创 2014-12-22 13:16:04 · 626 阅读 · 0 评论 -
JAVA String.split()以"\t"分割字符串的问题
代码: public static void main(String[] args) throws Exception { File file = new File("E:\\a.txt"); FileReader fileReader = new FileReader(file); BufferedReader reader = new BufferedReader(fileRe原创 2015-04-27 10:55:59 · 23077 阅读 · 1 评论 -
Eclipse 快捷键
Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对转载 2015-04-28 15:57:20 · 404 阅读 · 0 评论 -
log4j.properties配置详解与实例
最近使用log4j写log时候发现网上的写的都是千篇一律,写的好的嘛不全,写的全一点的嘛没有一点格式,看着累。这里把网上收集到的整理了一下,并且全部都在机器上测试成功了。这么好的文档估计没有了吧? ################################################################################ #①配置根Logger,其语法为转载 2016-05-26 17:57:34 · 248 阅读 · 0 评论 -
spring mvc 静态资源配置
静态资源配置:<mvc:resources mapping="/images/**" location="/images/"/> 前,要加上,否则servlet控件器会解析失败原创 2016-06-15 10:18:14 · 288 阅读 · 0 评论 -
HTMLParser使用--只是为了保存
HTMLParser具有小巧,快速的优点,缺点是相关文档比较少(英文的也少),很多功能需要自己摸索。对于初学者还是要费一些功夫的,而一旦上手以后,会发现HTMLParser的结构设计很巧妙,非常实用,基本你的各种需求都可以满足。 这里我根据自己这几个月来的经验,写了一点入门的东西,希望能对新学习HTMLParser的朋友们有所帮助。(不过当年高考本人语文只比及格高一分,所以文法方面的问题转载 2016-07-18 22:49:29 · 1428 阅读 · 0 评论 -
支付宝支付之PC网页支付 支付宝即时到账
到支付宝即时到账官方文档查询接口文档点 快速接入 下载demo 项目引入java文件配置AlipayConfig.java如果想配置更多信息 请参照文档新增封装请求数据获取支付宝网关地址,再MAP里移除网关的key,打包数据并且重定向到支付宝网关然后在网页进行支付支付完成后支付宝会回调AlipayConfig.return_u原创 2017-03-29 11:30:10 · 987 阅读 · 1 评论 -
支付宝支付之APP支付接口 服务器端
官方文档:点击打开链接下载服务器端DEMO导入项目中代码部分// 实例化客户端 AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.SERVER_URI, AlipayConfig.APP_ID, AlipayConfig.RSA2_PRIVATE, "json", AlipayConfig.原创 2017-03-29 14:01:19 · 17439 阅读 · 2 评论 -
java微信APP支付v3版服务端开发
先在微信开发平台注册并认证开发者账号,创建一个APP应用,申请支付功能,创建商户平台账号开始开发配置Configure文件APPID就是微信开放平台审核通过的应用APPIDkey是https://pay.weixin.qq.com/index.php/core/cert/api_cert里的API秘钥 最多最多只能三十二位CERTLOCALPATH 先访问https原创 2017-03-30 20:14:23 · 5128 阅读 · 0 评论 -
Exception in thread "main" java.lang.UnsupportedOperationException
今天写代码时把 String[] 数组使用Arrays.asList方法直接转成List,然后想在list.add一个字符结果却报Exception in thread "main" java.lang.UnsupportedOperationException at java.util.AbstractList.add(AbstractList.java:148) at java.uti原创 2017-06-22 16:36:11 · 3214 阅读 · 1 评论 -
log4j异常信息单独保存 log4j包名缩写
项目中的日志非常多,如果在服务器上想找error信息麻烦的很。如果只存储error信息又不知道到底是什么原因导致的报错。所以我就自己定义了一个DailyRollingFileAppenderpackage com.moker.utils.log.shorten;import org.apache.log4j.DailyRollingFileAppender;import org原创 2017-08-22 11:21:07 · 5822 阅读 · 0 评论 -
SpringBoot2.0.0版本actuator监控配置
o.s.b.a.e.web.EndpointLinksResolver : Exposing 2 endpoint(s) beneath base path '/actuator's.b.a.e.w.s.WebMvcEndpointHandlerMapping : Mapped "{[/actuator/health],methods=[GET],produces=[applicati...原创 2018-06-11 18:32:16 · 10058 阅读 · 0 评论 -
SpringCloud Feign/Ribbon第一次请求超时
Servlet.service() for servlet [dispatcherServlet] in context with path [/payment] threw exception [Request processing failed; nested exception is feign.RetryableException: connect timed out executing ...转载 2018-06-13 17:02:43 · 1988 阅读 · 0 评论 -
简单的微服务feign之间调用授权/安全验证
不会写开头,就这样吧~我想让使用这个验证组件开发者配置越少越好所以我使用了注解 类似于springboot的自动装配类创建@EnableSecurityAuth注解作用于在application类上用@Import来注入SecurityAuthAutoConfiguration类SecurityAuthAutoConfiguration是用来注入校验token的Filter当配置文件中只需要生成t...原创 2018-06-13 18:09:54 · 32181 阅读 · 5 评论 -
Software caused connection abort: recv failed
新装机器JAVA测试FTP下载文件报Software caused connection abort: recv failed 因为原来机器没重装之前是可以测通的网上看了很多Software caused connection abort: recv failed 可能产生的原因 都不能解决问题最后想到可能是新电脑防火墙阻止了,关闭防火墙就可以正常下载了原创 2015-05-08 15:24:17 · 1046 阅读 · 0 评论 -
httpClient中post上传文件乱码
org/apache/commons/httpclient/util包下EncodingUtil.java编码用的是"US-ASCII"原创 2014-11-06 16:41:11 · 962 阅读 · 0 评论 -
Java线程(三):线程协作-生产者/消费者模式
上一篇讲述了线程的互斥(同步),但是在很多情况下,仅仅同步是不够的,还需要线程与线程协作(通信),生产者/消费者模式是一个经典的线程同步以及通信的模型。 假设有这样一种情况,有一个盘子,盘子里只能放一个鸡蛋,A线程专门往盘子里放鸡蛋,如果盘子里有鸡蛋,则一直等到盘子里没鸡蛋,B线程专门从盘子里取鸡蛋,如果盘子里没鸡蛋,则一直等到盘子里有鸡蛋。这里盘子是一个互斥区,每次放鸡蛋是转载 2014-12-08 12:36:27 · 325 阅读 · 0 评论 -
Java线程(一):线程安全与不安全
当我们查看JDK API的时候,总会发现一些类说明写着,线程安全或者线程不安全,比如说StringBuilder中,有这么一句,“将StringBuilder 的实例用于多个线程是不安全的。如果需要这样的同步,则建议使用StringBuffer。 ”,那么下面手动创建一个线程不安全的类,然后在多线程中使用这个类,看看有什么效果。 Count.java:转载 2014-12-08 11:20:16 · 441 阅读 · 0 评论 -
Java线程(六):Callable和Future
接着上一篇继续并发包的学习,本篇说明的是Callable和Future,它俩很有意思的,一个产生结果,一个拿到结果。 Callable接口类似于Runnable,从名字就可以看出来了,但是Runnable不会返回结果,并且无法抛出返回结果的异常,而Callable功能更强大一些,被线程执行后,可以返回值,这个返回值可以被Future拿到,也就是说,Future可以拿到异步执行转载 2014-12-08 12:49:52 · 305 阅读 · 0 评论 -
Java线程(四):Timer和TimerTask
Timer和TimerTask可以做为实现线程的第三种方式,前两中方式分别是继承自Thread类和实现Runnable接口。 Timer是一种线程设施,用于安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行,可以看成一个定时器,可以调度TimerTask。TimerTask是一个抽象类,实现了Runnable接口,所以具备了多线程的能力。转载 2014-12-08 12:42:53 · 383 阅读 · 0 评论 -
Java线程(十四):Concurrent包中强大的并发集合类
我们平时写程序需要经常用到集合类,比如ArrayList、HashMap等,但是这些集合不能够实现并发运行机制,这样在服务器上运行时就会非常的消耗资源和浪费时间,并且对这些集合进行迭代的过程中不能进行操作,否则会出现错误,例如下面程序:[java] view plaincopypublic class CollectionModifyEx转载 2014-12-08 15:20:34 · 646 阅读 · 0 评论 -
Java线程(十):CyclicBarrier-用路障实现分阶段线程并发
生活中我们常常会遇到这样的情景:10个朋友邀约去公园玩,彼此约好上午十点在小区门口集合然后一块租车过去,可能上午九点就会有人开始到了门口,但是因为人没有来全,必须等剩下的人,最后等到人全后大家一块到公园,到达公园后又约定分头开始玩,下午6点的时候公园门口集合,然后一块回去。在我们java编程过程中也会遇到类似的情况,要求必须几个线程都运行完后才可以进行下一步的操作,这就用到了循环路障类--Cycl转载 2014-12-08 14:55:45 · 513 阅读 · 0 评论 -
Java线程(十三):BlockingQueue-线程的阻塞队列
BlockingQueue作为线程容器,可以为线程同步提供有力的保障,其主要用到的方法包括:[java] view plaincopyadd(E o); //将指定的元素添加到此队列中(如果立即可行),在成功时返回 true,其他情况则抛出 IllegalStateException。 drainTo(Collectionsuper转载 2014-12-08 15:20:05 · 390 阅读 · 0 评论 -
Java线程(五):线程池
自JDK5之后,Java推出了一个并发包,java.util.concurrent,在Java开发中,我们接触到了好多池的技术,String类的对象池、Integer的共享池、连接数据库的连接池、Struts1.3的对象池等等,池的最终目的都是节约资源,以更小的开销做更多的事情,从而提高性能。 我们的web项目都是部署在服务器上,浏览器端的每一个request就是一个线程,那转载 2014-12-08 12:46:12 · 353 阅读 · 0 评论 -
Java线程(十二):Exchanger-兄弟线程的信息交换
如果两个线程在运行过程中需要交换彼此的信息,比如一个数据或者使用的空间,就需要用到Exchanger这个类,Exchanger为线程交换信息提供了非常方便的途径,它可以作为两个线程交换对象的同步点,只有当每个线程都在进入 exchange ()方法并给出对象时,才能接受其他线程返回时给出的对象。 Exchanger的构造方法如下:转载 2014-12-08 15:10:42 · 429 阅读 · 0 评论 -
Java线程(十一):CountDownLatch-线程并发的发令枪
田径赛百米短跑时,运动员会在起跑线做准备动作,等到发令枪一声响,运动员就会奋力奔跑。在多线程运行时,也有这么一个发令枪--CountDownLatch,它通过控制事先定义的计数来控制线程的运行。 CountDownLatch的构造方法如下:[java] view plaincopyCountDownLatch(int转载 2014-12-08 15:04:50 · 678 阅读 · 0 评论 -
Java线程(八):Condition-线程通信更高效的方式
上一篇讲述了并发包下的Lock,Lock可以更好的解决线程同步问题,使之更面向对象,并且ReadWriteLock在处理同步时更强大,那么同样,线程间仅仅互斥是不够的,还需要通信,本篇的内容是基于上篇之上,使用Lock如何处理线程通信。 那么引入本篇的主角,Condition,Condition 将 Object 监视器方法(wait、notify 和 notifyAll)分转载 2014-12-08 14:04:56 · 380 阅读 · 0 评论 -
Java线程(七):锁对象Lock-同步问题更完美的处理方式
Lock是java.util.concurrent.locks包下的接口,Lock 实现提供了比使用synchronized 方法和语句可获得的更广泛的锁定操作,它能以更优雅的方式处理线程同步问题,我们拿Java线程(二)中的一个例子简单的实现一下和sychronized一样的效果,代码如下:[java] view plaincopy转载 2014-12-08 13:43:05 · 482 阅读 · 0 评论 -
Java线程(九):Semaphore-信号灯机制
当我们创建一个可扩展大小的线程池,并且需要在线程池内同时让有限数目的线程并发运行时,就需要用到Semaphore(信号灯机制),Semaphore 通常用于限制可以访问某些资源(物理或逻辑的)的线程数目,它是一个计数信号量,从概念上讲,信号量维护了一个许可集合,如有必要,在许可可用前会阻塞每一个acquire(),然后再获取该许可,每个release() 添加一个许可,从而可能释放一个正在阻塞的获转载 2014-12-08 14:51:15 · 366 阅读 · 0 评论 -
Java线程(二):线程同步synchronized和volatile
上篇通过一个简单的例子说明了线程安全与不安全,在例子中不安全的情况下输出的结果恰好是逐个递增的,为什么会产生这样的结果呢,因为建立的Count对象是线程共享的,一个线程改变了其成员变量num值,下一个线程正巧读到了修改后的num,所以会递增输出。 要说明线程同步问题首先要说明Java线程的两个特性,可见性和有序性。多个线程之间是不能直接传递数据交互的,它们之间的交互只能通过共转载 2014-12-08 12:29:45 · 520 阅读 · 0 评论 -
DerInputStream.getLength(): lengthTag=111, too big.
MAVEN打包项目后读取jar内的证书报错DerInputStream.getLength(): lengthTag=111, too big.分析 可能MAVEN打包时证书文件被篡改了解决<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-reso...原创 2018-06-27 17:09:13 · 2103 阅读 · 0 评论