Java
bloodylzy
这个作者很懒,什么都没留下…
展开
-
关于多线程和线程安全相关讨论(二)
二:并行程序设计模式 有时候我们会利用并行线程的方式来完成我们的业务要求,专业来说有以下模式: 1.Future模式 2.Master-Worker模式 3.Guarded Suspension 模式 4.不变模式 5.生产者与消费者模式 本人才疏学浅,讲不出太多东西,这里就是对一个模式所对应的场景做一个总结,然后从代码层面做一个例子。 1.Futur原创 2018-01-23 15:05:37 · 139 阅读 · 0 评论 -
关于多线程和线程安全相关讨论(三)
三:线程池的相关总结 1.线程池的意义: 线程虽然好用,但是如果创建了大量的线程,会拖垮整个程序,甚至可能会出现OOM异常;另一方面,大量的线程被GC的时候,也会产生巨大的压力,延长GC的停顿时间。 其次,线程在被创建和销毁的时候,也是会消耗系统的内存和资源的。 说的简单一点,你们JDBC连接是不是用连接池的,现在基本上不会有人去创建JDBC连接,然后去使用它了,基本都是利用连接池,原创 2018-01-23 15:30:46 · 176 阅读 · 0 评论 -
关于多线程和线程安全相关讨论(四)
线程安全的数据结构: 1.线程安全: 线程安全问题说的直白一点就是多个线程在操作同一个对象的时候,会不会出现问题。我们时常说的,StringBuidle,HashMap,ArrayList这些线程不安全,就是在说多个线程在操作这个对象的时候,可能会出现数据不正确的问题。 所以说,所谓的线程安全都是指一个公共对象被多个线程操作,至于你写在run方法里面的局部变量,那根本和线程安全无关,所原创 2018-01-23 15:34:50 · 167 阅读 · 0 评论 -
一个全局ID生成器
public class IdGenUtil { private long workerId; private long datacenterId; private long sequence = 0L; private long twepoch = 1288834974657L; // Thu, 04 Nov 2010 01:42:54 GMT原创 2018-01-24 15:01:18 · 311 阅读 · 0 评论 -
设计一个线程超时终止的线程池
原贴地址:点击打开链接 起因是公司有一个定时任务,对于几千的VPN,做一个端口映射,去取得对方客户的硬件信息,做一个监控。 但是部分VPN会连接不通,等待的时间又过长,所以设计这么一个线程池。 原贴提供了一个线程超时终止的实现方式,我再在这个基础上,整理成一个线程池。 首先是线程超时终止 import java.util.concurrent.Callable; pub转载 2018-01-25 15:26:07 · 3330 阅读 · 1 评论 -
关于Java加密的相关操作
最近被公司交付了一个新的工作。由于java的可编译性,导致将jar包进行反编译非常容易,为了保证公司代码不被泄露,我的任务就是将jar包进行加密,然后在主程序调用的时候,实时地将加密后的jar解密,再被主程序调用。 说上去好像很绕,其实就是说,我要完成三个包的编写,被加密的jar(Test.jar),用于解密的jar(Decode.jar),用于加密的jar(Encode.jar)。...原创 2018-04-17 16:53:12 · 221 阅读 · 0 评论 -
关于统一处理Error
Spring中存在统一处理抛出错误的场景 @ControllerAdvice 这个是来切Controller的,该注解是放置在class上面的 在类中,关于方法体, @ExceptionHandler(Exception.class) 这个注解,表示被这个注解标记的会来处理Exception,而被controller抛出的Exception错误是会被这个注解 handle 掉 那么这...原创 2018-08-28 10:30:24 · 193 阅读 · 0 评论