05 2017 档案

摘要:在pom.xml加入 在resources\templates\hello.html 在Controller中加入 启动,然后输入localhost:8080/hello 会跳转到页面 注意:必须加入thymeleaf包,不然找不到 阅读全文
posted @ 2017-05-27 10:53 孤独时光 阅读(28981) 评论(2) 推荐(0)
摘要:这是接着上一篇写的,在上一篇的基础上添加 Controller Service Dao(接口,实现了CrudRepository<User,Long>) 然后运行项目,输入:http://localhost:8080/saveUser 表中会多了 一条记录 阅读全文
posted @ 2017-05-27 10:14 孤独时光 阅读(7926) 评论(0) 推荐(0)
摘要:导入包,不多说 创建bean application.properties 启动类就不说了 启动之后发现 去数据库中看就有了user表。 阅读全文
posted @ 2017-05-27 09:54 孤独时光 阅读(482) 评论(0) 推荐(0)
摘要:1、Executor Executor接口中中只有一个方法 执行已提交的Runnable任务对象。 这几种直接进入最终方法看吧 阅读全文
posted @ 2017-05-25 17:05 孤独时光 阅读(727) 评论(0) 推荐(0)
摘要:Fork/Join框架是Java7提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。 我们再通过Fork和Join这两个单词来理解下Fork/Join框架,Fork就是把一个大任务切分为若干子任务并行的执行,Join就是合并这些子任 阅读全文
posted @ 2017-05-23 17:26 孤独时光 阅读(1666) 评论(0) 推荐(0)
摘要:ReadWriteLock也是一个接口,只有两个方法 一个用来获取读锁,一个用来获取写锁。也就是说将文件的读写操作分开,分成2个锁来分配给线程,从而使得多个线程可以同时进行读操作。下面的ReentrantReadWriteLock实现了ReadWriteLock接口。 说明thread-1和thre 阅读全文
posted @ 2017-05-23 16:29 孤独时光 阅读(197) 评论(0) 推荐(0)
摘要:其实,Lock和synchronized的功能差不多,但是Lock比synchronized控制更细。 一个代码块被synchronized修饰了,当一个线程获取了对应的锁,并执行该代码块时,其他线程便只能一直等待,等待获取锁的线程释放锁,而这里获取锁的线程释放锁只会有两种情况: 获取锁的线程执行完 阅读全文
posted @ 2017-05-23 15:48 孤独时光 阅读(215) 评论(0) 推荐(0)
摘要:Semaphore(信号量)是用来控制同时访问特定资源的线程数量。 从上面代码看出来给它10个线程,但是每次只允许3个并发的执行。 通过上面例子,来分析一下源码 构造函数 Semaphore(int permits) 接受一个整型的数字,表示可用的许可证数量,也是默认的非公平性模式 Semaphor 阅读全文
posted @ 2017-05-23 14:27 孤独时光 阅读(252) 评论(0) 推荐(0)
摘要:本文参考群主的博客http://cmsblogs.com/?p=2269 Java 并发 API 提供了一种允许2个并发任务间相互交换数据的同步应用。更具体的说,Exchanger 类允许在2个线程间定义同步点,当2个线程到达这个点,他们相互交换数据类型,使用第一个线程的数据类型变成第二个的,然后第 阅读全文
posted @ 2017-05-22 23:48 孤独时光 阅读(350) 评论(0) 推荐(0)
摘要:1、CyclicBarrier的定义 一个同步辅助类,它允许一组线程相互等待,直到到达某个公共屏障点(common barrier point)。就是所有子程序都执行完成之后,开始执行主程序。 执行结果为 2、CyclicBarrier和CountDownLatch的区别 首先看看javadoc中的 阅读全文
posted @ 2017-05-22 15:11 孤独时光 阅读(187) 评论(0) 推荐(0)
摘要:1、CountDownLatch是什么? CountDownLatch从jdk1.5之后引入在java.util.concurrent包下,CountDownLatch这个类能够使一个线程等待其他线程完成各自的工作后再执行。 2、CountDownLatch如何工作? CountDownLatch是 阅读全文
posted @ 2017-05-22 14:42 孤独时光 阅读(213) 评论(0) 推荐(0)
摘要:这张图清晰吧 类加载器的作用不仅仅是实现类的加载,它还与类的的“相等”判定有关,关系着Java“相等”判定方法的返回结果,只有在满足如下三个类“相等”判定条件,才能判定两个类相等。 1、两个类来自同一个Class文件 2、两个类是由同一个虚拟机加载 3、两个类是由同一个类加载器加载 Java“相等” 阅读全文
posted @ 2017-05-21 00:17 孤独时光 阅读(216) 评论(0) 推荐(0)
摘要:今天看到一个gc面试题,觉得挺有意思的,写下来,给自己留个印象 GC是在什么时候,对什么东西,做了什么事情? 1、什么时候 a、系统空闲的时候 b、系统自身决定,不可预测的时候调用gc c、eden区满了调用minor gc(),升级到老年代的对象大于老年代剩余空间调用full gc() d、程序员 阅读全文
posted @ 2017-05-20 23:57 孤独时光 阅读(1623) 评论(0) 推荐(0)
摘要:1、ThreadLocal的作用 提供线程内部的局部变量,这种变量在线程的生命周期内起作用,减少同一个线程内多个函数或者组件之间一些公共变量的传递的复杂度。 2、ThreadLocal的基本操作 2.1、构造函数 ThreadLocal为空构造函数 2.2、initialValue函数 initia 阅读全文
posted @ 2017-05-17 09:18 孤独时光 阅读(252) 评论(0) 推荐(0)