随笔分类 -  Java

深入学习java
异常统一处理类
摘要:import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.b... 阅读全文

posted @ 2017-03-22 11:45 感遇

go语言-helloworld
摘要:1、非root用户,先在home目录下载 2、解压包 3、如果没.profile,就创建$HOME/.profile文件,加入环境变量 3、编辑完执行下命令 4、然后在$HOME/go/work目录下创建一个package文件夹$HOME/go/work/test,创建hello.go 5、写下第一 阅读全文

posted @ 2016-11-26 17:00 感遇 阅读(215) 评论(0) 推荐(0)

定时任务调度
摘要:import java.util.Iterator; import java.util.Map; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; /** * *... 阅读全文

posted @ 2016-08-29 19:56 感遇

java性能监控常用命令
摘要:jps -m -l:主要用来输出JVM中运行的进程状态信息 jstack -l pid 来观察锁持有情况 jsatck pid | grep pid(十六进制):输出进程pid的堆栈信息 jmap -heap pid:查看进程堆内存使用情况,包括使用的GC算法、堆配置参数和各代中堆内存使用情况 jm 阅读全文

posted @ 2016-08-23 19:54 感遇 阅读(336) 评论(0) 推荐(0)

Java注解和代理实现
摘要:1、定义注解 2、使用注解的信息类 3、实现该接口 4、动态代理类实现及main测试 阅读全文

posted @ 2016-07-02 14:36 感遇 阅读(584) 评论(0) 推荐(0)

ThreadLocal的理解
摘要:ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。 每个线程中都有一个自己的ThreadLocalMap类对象,可以将线程自己的对象保持到其中,各管各的,线程 阅读全文

posted @ 2015-06-29 15:53 感遇

java socket编程
摘要:模拟java scoket服务端和客户端编程 阅读全文

posted @ 2015-06-28 14:39 感遇

Thread join
摘要:主线程生成并起动了子线程,而子线程里要进行大量的耗时的运算,当主线程处理完其他的事务后,需要用到子线程的处理结果,这个时候就要用到join()方法了。 Java Thread中, join() 方法主要是让调用该方法的thread完成run方法里面的东西后, 再执行join()方法后面的代码。 jo 阅读全文

posted @ 2015-06-16 09:52 感遇 阅读(119) 评论(0) 推荐(0)

Java中的ClassLoader
摘要:Java中类的加载过程(如Dog类):通过类型信息定位Dog.class文件。载入Dog.class文件,创建相应的Class对象。执行父类的静态字段定义时初始化语句和父类的静态初始化块。执行子类的静态字段定义时初始化语句和子类的静态初始化块。当使用new Dog()方式时,在堆上为Dog对象分配... 阅读全文

posted @ 2015-04-09 15:08 感遇 阅读(228) 评论(0) 推荐(0)

驯服共享可变性
摘要:本例子为电池使用和充电,并计算使用次数,可见性、增强高并发、保证原子性 阅读全文

posted @ 2015-02-11 13:11 感遇

模拟银行账户汇款操作(并发控制)
摘要:import java.util.Arrays;import java.util.concurrent.CountDownLatch;import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.Lock;import 阅读全文

posted @ 2015-02-01 17:02 感遇 阅读(696) 评论(0) 推荐(0)

计算一个文件大小的几种实现方式
摘要:1、串行计算 2、线程协作,分子任务,启动新线程(目录不是很深的时候没问题) 3、解决第二种方法出现线程死锁超时的问题,每次计算文件夹中文件大小和保存子目录 4、数据交换,使用ArrayBlockingQueue,在线程间互发多组数据 5、CountDownLatch实现,不返回结果,共享状态,代码 阅读全文

posted @ 2015-02-01 16:59 感遇 阅读(1518) 评论(0) 推荐(0)

可扩展集合类(遍历的时间执行插入操作)
摘要:Collections.synchronizedMap:实现了线程安全的特性 ConcurrentHashMap:保证了线程安全的同时也兼顾了并发访问的性能,将整个数据集合分成了若干个块 import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.concurrent... 阅读全文

posted @ 2015-02-01 16:44 感遇 阅读(220) 评论(0) 推荐(0)

JAVA注解入门
摘要:package testannotation;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import jav... 阅读全文

posted @ 2015-01-27 23:27 感遇 阅读(158) 评论(0) 推荐(0)

CallableAndFuture
摘要:Callable和Runnable的区别如下: I Callable定义的方法是call,而Runnable定义的方法是run。 II Callable的call方法可以有返回值,而Runnable的run方法不能有返回值。 III Callable的call方法可抛出异常,而Runnable的ru 阅读全文

posted @ 2015-01-06 12:05 感遇 阅读(233) 评论(0) 推荐(0)

用ThreadLocal为线程生成唯一标识及实现原理
摘要:1、在多线程编程中,有时候需要自动为每个启动的线程生成一个唯一标识,这个时候,通过一个ThreadLocal变量来保存每个线程的标识是最有效、最方便的方式了。2、ThreadLocal实例通常是类中的私有静态字段3、在构建ThreadLocal的时候,通过覆盖子类的方法来改写序号。从而达到为每个线程... 阅读全文

posted @ 2014-12-24 18:23 感遇 阅读(922) 评论(0) 推荐(0)

CountDownLatch使用例子
摘要:CountDownLatch是一个同步辅助类,犹如倒计时计数器,创建对象时通过构造方法设置初始值,调用CountDownLatch对象的await()方法则处于等待状态,调用countDown()方法就将计数器减1,当计数到达0时,则所有等待者或单个等待者开始执行。简单例子import java.u... 阅读全文

posted @ 2014-12-24 16:58 感遇 阅读(791) 评论(0) 推荐(0)

ThreadLocal的使用及介绍
摘要:ThreadLocal总结 1、ThreadLocal使用场合主要解决多线程中数据数据因并发产生不一致问题。ThreadLocal为每个线程的中并发访问的数据提供一个副本,通过访问副本来运行业务,这样的结果是耗费了内存,单大大减少了线程同步所带来性能消耗,也减少了线程并发控制的复杂度。 2、Thre 阅读全文

posted @ 2014-12-24 16:53 感遇 阅读(582) 评论(0) 推荐(0)