Wesley13 Wesley13
3年前
java目前可以通过以下几种方式进行定时任务
1、单机部署模式Timer:jdk中自带的一个定时调度类,可以简单的实现按某一频度进行任务执行。提供的功能比较单一,无法实现复杂的调度任务。ScheduledExecutorService:也是jdk自带的一个基于线程池设计的定时任务类。其每个调度任务都会分配到线程池中的一个线程执行,所以其任务是并发执行的,互不影响。
Wesley13 Wesley13
3年前
java 面试知识点笔记(十一)多线程与并发
自适应自旋锁:(java6引入,jvm对锁的预测会越来越精准,jvm也会越来越聪明)1.自选次数不再固定2.由前一次在同一个锁上的自旋时间及锁拥有者的状态来决定(如果在同一个锁对象上自旋等待刚刚成功获取过锁并且持有锁的线程正在运行中,jvm会认为该锁自旋获取到锁的可能性很大,会自动增加等待时间,相反jvm如果可能性很小会省掉自旋过程,
Wesley13 Wesley13
3年前
java反序列化——XMLDecoder反序列化漏洞
前言最近学习java反序列化学到了weblogic部分,weblogic之前的两个反序列化漏洞不涉及T3协议之类的,只是涉及到了XMLDecoder反序列化导致漏洞,但是网上大部分的文章都只讲到了触发XMLDecoder部分就结束了,并没有讲为什么XMLDecoder会触发反序列化导致命令执行。于是带着好奇的我就跟着调了一下XMLDecoder的
Wesley13 Wesley13
3年前
java 通过零拷贝实现有效数据传输
packagesendfile;importjava.io.File;importjava.io.FileInputStream;importjava.io.IOException;importjava.net.InetSocketAddress;importjava.net.SocketAddress;impor
Wesley13 Wesley13
3年前
Java多线程信号量同步类CountDownLatch与Semaphore
  信号量同步是指在不同线程之间,通过传递同步信号量来协调线程执行的先后次序。CountDownLatch是基于时间维度的Semaphore则是基于信号维度的。1:基于执行时间的同步类CountDownLatch  例如现有3台服务器,需编写一个获取各个服务器状态的接口,准备开三个子线程每个线程获取一台服务器状态后统一返回三台
Wesley13 Wesley13
3年前
Java 使用POI实现execl的导入导出数据实践
该篇文章使用poi3.5的版本需要导入包如下!(http://static.oschina.net/uploads/space/2013/0821/132336_2YOW_1167957.png)execl导入/execl数据导入@author小涂@title:im
Wesley13 Wesley13
3年前
Java软件开发中可能出现几个错误观点
原文:http://blog717171.blog.163.com/blog/static/250603111201511904934806/(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fblog717171.blog.163.com%2Fblog%2Fstatic%2F2506031
Wesley13 Wesley13
3年前
Java JDK安装,你不知道的文件丢失问题!!!!
很多用户在安装好JDK后编译时会出现报错信息,去到JDK安装目录下才发现tools.jar文件丢失了,导致无法正常编译。遇到这种问题,可能是因为本台计算机有安装JDK的历史,不同版本之间互相影响造成的,也可能是一些计算机自身因素造成的,这个就不需要去仔细研究啦~因为本人也遇到了类似的问题,网上很难直接找到一个tools.jar包,
Wesley13 Wesley13
3年前
Java内部类访问局部变量时的final问题
JAVA用了也快三年了,内部类访问局部变量的情况也没少遇到。也一直知道要给变量加个final修饰符,不然通过不了编译。但一直也没深究过为什么要加。昨天好奇的上网查了下,并翻阅了下相关的书籍(CoreJava8th),终于算是搞明白了,在这里简单说明下。说先我们来看一段示例代码:01publicvoidstart(int