YOU'VE MADE A BRAVE DECISION, WELCOME.

每一个不曾起舞的日子都是对生命的辜负。

ActiveMQ的简单使用ActiveMQ 是一种消息队列,是Apache提供的一个开源消息系统,完全采用Java实现,因此,它能很好地支持J2EE提出的JMS(Java Message Service,即Java消息服务)规范。 第一种方式(点对点)——Queue生产者123456789101112131415161718192021222324252627282930313233343536373839404142434445464

Read More...


Mysql自动还原脚本(.sh文件)还原数据库的基本指令1source d:/abc.sql 当连接数据库之后,可以直接使用 以上命令来还原指定数据库。 自动还原脚本那么能不能使用脚本的方式自动还原呢?当每次都是还原同一个数据库,或者还原同一个数据库中的指定表时,便可以采用脚本的方式执行。 当数据库备份文件存储在云端时,可采用以下脚本: 12345678910111213141516171819202122232425262728#!/

Read More...


Map 的4种遍历方式及比较KeySet第一种方式: keySet 其实遍历了两次,第一次获取Iterator,第二次根据key获取value,因此性能较差。1234567public void testKetSet(Map<String, String> map) { Set<String> keys = map.keySet(); for (String key : keys) &#

Read More...


一、数据库的定时备份备份命令Mysql的备份指令: 指定数据库:1mysqldump -h localhost -uroot -proot tuser>d:\user_2017-12-25_15-42-10.sql tuser:数据库名user_2017-12-25_15-42-10.sql:文件名 指定数据库中的多个表: 1mysqldump -h localhost -uroot -proot --database

Read More...


一、中缀表达式转后缀表达式中缀表达式就是普通的表达式。如:9+(3-1)*3+10/2后缀表达式是一种不需要括号的表示法,又叫逆波兰表达式。 上面的式子用后缀法表示:9 3 1 - 3 * + 10 2 / + 那么如何转化成后缀表达式? 思路:从左往右遍历:1. 如果是数字则直接输出2. 如果是符号则入栈,但要通过以下判断 若该符号c是右括号或者c的优先级≤栈顶符号,则栈中元素依次出栈输出,c入栈 代码实现:12345678910

Read More...


一、Semaphore的概念Semaphore又叫信号量,用来控制同时访问特定资源的线程数量。它通过协调各个线程,以保证合理地使用公共资源。 Semaphore和CountDownLatch一样,也是维护了一个计数器,其本质是一个共享锁。 Semaphore有公平性和非公平性之分。 Semaphore的工作过程: 当一个线程想要访问某个共享资源时,它必须要先获取Semaphore; 当Semaphore > 0 时,获取该

Read More...


一、CyclicBarrier的概念CyclicBarrier的意思是可循环使用的屏障。它可以让一组线程到达一个屏障时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有阻塞的线程才会继续执行。 它就好像一道关卡,只有所有的部队(线程)都到了才能放行。 二、CyclicBarrier的实现分析部分源码:12345678910111213public class CyclicBarrier { private

Read More...


一、概念CountDownLatch也叫闭锁,是并发包的工具类之一,允许一个或多个线程等待其他线程完成操作后再执行。 回忆之前,我们知道Join方法,用于让当前线程等待join的线程执行结束。 123while(isAlive()){ wait(0);} 其原理就是不停地检查join线程是否存活,如果存活则一直等待。CountDownLatch也可以实现join的功能,且功能更多。 CountDownLa

Read More...


一、Condition的概念介绍回忆synchronized关键字,它配合Object的wait()、notify()系列方法可以实现等待/通知模式。 对于Lock,通过Condition也可以实现等待/通知模式。 Condition是一个接口。Condition接口的实现类是Lock(AQS)中的ConditionObject。Lock接口中有个 newCondition()方法,通过这个方法可以获得Condition对象(其实就是C

Read More...


一、Executor框架的介绍Java中的线程既是工作单元又是执行机制。JDK1.5开始,把工作单元与执行机制分离开来。工作单元为Runnable(Thread实现该接口)和Callable,执行机制就是Executor框架。 使用Executor框架时不用显式的创建线程Thread。 Executor框架由三部分组成: 任务:Runnable或Callable 任务的执行:ExecutorService接口及其实现。 异

Read More...


人生如逆旅,我亦是行人。