摘要: 在pom.xml加入 在resources\templates\hello.html 在Controller中加入 启动,然后输入localhost:8080/hello 会跳转到页面 注意:必须加入thymeleaf包,不然找不到 阅读全文
posted @ 2017-05-27 10:53 孤独时光 阅读(28966) 评论(2) 推荐(0) 编辑
摘要: 这是接着上一篇写的,在上一篇的基础上添加 Controller Service Dao(接口,实现了CrudRepository<User,Long>) 然后运行项目,输入:http://localhost:8080/saveUser 表中会多了 一条记录 阅读全文
posted @ 2017-05-27 10:14 孤独时光 阅读(7910) 评论(0) 推荐(0) 编辑
摘要: 导入包,不多说 创建bean application.properties 启动类就不说了 启动之后发现 去数据库中看就有了user表。 阅读全文
posted @ 2017-05-27 09:54 孤独时光 阅读(478) 评论(0) 推荐(0) 编辑
摘要: 1、Executor Executor接口中中只有一个方法 执行已提交的Runnable任务对象。 这几种直接进入最终方法看吧 阅读全文
posted @ 2017-05-25 17:05 孤独时光 阅读(725) 评论(0) 推荐(0) 编辑
摘要: Fork/Join框架是Java7提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。 我们再通过Fork和Join这两个单词来理解下Fork/Join框架,Fork就是把一个大任务切分为若干子任务并行的执行,Join就是合并这些子任 阅读全文
posted @ 2017-05-23 17:26 孤独时光 阅读(1647) 评论(0) 推荐(0) 编辑
摘要: ReadWriteLock也是一个接口,只有两个方法 一个用来获取读锁,一个用来获取写锁。也就是说将文件的读写操作分开,分成2个锁来分配给线程,从而使得多个线程可以同时进行读操作。下面的ReentrantReadWriteLock实现了ReadWriteLock接口。 说明thread-1和thre 阅读全文
posted @ 2017-05-23 16:29 孤独时光 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 其实,Lock和synchronized的功能差不多,但是Lock比synchronized控制更细。 一个代码块被synchronized修饰了,当一个线程获取了对应的锁,并执行该代码块时,其他线程便只能一直等待,等待获取锁的线程释放锁,而这里获取锁的线程释放锁只会有两种情况: 获取锁的线程执行完 阅读全文
posted @ 2017-05-23 15:48 孤独时光 阅读(206) 评论(0) 推荐(0) 编辑
摘要: Semaphore(信号量)是用来控制同时访问特定资源的线程数量。 从上面代码看出来给它10个线程,但是每次只允许3个并发的执行。 通过上面例子,来分析一下源码 构造函数 Semaphore(int permits) 接受一个整型的数字,表示可用的许可证数量,也是默认的非公平性模式 Semaphor 阅读全文
posted @ 2017-05-23 14:27 孤独时光 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 本文参考群主的博客http://cmsblogs.com/?p=2269 Java 并发 API 提供了一种允许2个并发任务间相互交换数据的同步应用。更具体的说,Exchanger 类允许在2个线程间定义同步点,当2个线程到达这个点,他们相互交换数据类型,使用第一个线程的数据类型变成第二个的,然后第 阅读全文
posted @ 2017-05-22 23:48 孤独时光 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 1、CyclicBarrier的定义 一个同步辅助类,它允许一组线程相互等待,直到到达某个公共屏障点(common barrier point)。就是所有子程序都执行完成之后,开始执行主程序。 执行结果为 2、CyclicBarrier和CountDownLatch的区别 首先看看javadoc中的 阅读全文
posted @ 2017-05-22 15:11 孤独时光 阅读(177) 评论(0) 推荐(0) 编辑