
Java
文章平均质量分 57
Tchaikovsky_
目前在广州某私企任职,本人方向为java Web开发,精通ssm框架,多线程编程, 工作经验两年,对b/s架构有一定自己的理解。总的来说,我能通过快速学习,按时把项目完成
展开
-
震惊!Tomcat的Response对象竟然不能同时使用PrintWriter与SevletOutputStream
震惊!Tomcat的Response对象竟然不能同时使用PrintWriter与SevletOutputStream1、背景2、原因查找2.1 小文件失败2.2 大文件可行1、背景前几天项目上线,就是把MVC框架由Spring MVC换成Restlet,然后客户说原有的TXT文件导出功能报500了,而且生产上没有报错日志,而后面更有客户说某些的TXT文件导出功能是可行的。经过场景复现,最终推导出这个TXT功能大文件导出是正常的,而小文件就会失败。针对这种场景,当时就猜测是由于小文件在写入缓冲区后原创 2020-11-07 23:49:46 · 492 阅读 · 0 评论 -
关于Java中用Double型运算时精度丢失的问题,真的很蛋疼!
在使用Java,double 进行运算时,经常出现精度丢失的问题,总是在一个正确的结果左右偏0.0000**1。 特别在实际项目中,通过一个公式校验该值是否大于0,如果大于0我们会做一件事情,小于0我们又处理其他事情。 这样的情况通过double计算出来的结果去和0比较大小,尤其是有小数点的时候,经常会因为精度丢失而导致程序处理流程出错。 BigDecimal在《Effecti转载 2015-10-14 19:45:41 · 8589 阅读 · 1 评论 -
java并发编程的一些小记录之interrupt
当外部线程对某线程调用了thred.interrupt()方法后,java语言的处理机制是这样的:如果该线程处在可中断状态下(调用了Thread.wait()或者Thread.sleep()等特定会发生阻塞的api),那么该线程会立即被唤醒,同时会收到一个InterruptedException,同时,如果是阻塞在IO上,对应的资源会被关闭。如果该线程接下来不执行Thread.interrupte原创 2016-11-16 23:30:19 · 329 阅读 · 0 评论 -
java线程异常的处理
Run()方法不允许throw exception,所有的异常必须在run方法内部处理。在java多线程程序中,所有线程都不允许抛出未捕获checked exception,即各个线程需要自己处理checked exception。Java通过为java.lang.Runnable.run()方法生命没有throw exception 部分进行了约束。所以对于checked excepti原创 2016-11-21 16:00:38 · 792 阅读 · 0 评论 -
多线程之间交互线程之BlockingQueue
线程阀是一种线程与线程之间相互制约和交互的机制。1、阻塞队列BlockingQueue是一个支持两个附加操作的队列,这两个附加操作是:队列为空时,获取元素的线程会等待队列变为非空;当队列满时,存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿取元素的线程。阻塞队列作为生产者存放元素的容器,而消费者也只能从容器里拿取元素。(想要了原创 2016-11-22 00:17:40 · 675 阅读 · 0 评论