- 博客(10)
- 问答 (3)
- 收藏
- 关注
原创 约瑟夫环的实际应用
问题:小孩报数出圈,若干个小孩围成一圈,规定一个数字num及一个开始的号码start,小孩依次报数,第start+num-1个小孩出列,然后出列的下一个小孩为新的起点思路:创建循环单向链表,将每个小孩看做是链表中的结点,设小孩人数有K个,故链表的长度为K,链表的头结点为1号小孩,所以遍历链表时当遍历到一个节点的下一个节点为头结点时说明遍历结束。每次需要报数的间隔num,在链表中相当于每次将指针移...
2020-02-09 20:31:38
1553
原创 常见的OOM异常
1.java.lang.StackOverflowError(1)产生原因:线程请求的栈深度大于虚拟机允许的深度,也就是当前线程请求方法太多,导致栈溢出,一般情况下只有死循环调用方法才会达到这种深度。(2)代码演示:创建一个静态方法,在主函数中死循环调用public static void main(String[] args) { stackOverflowError(); } ...
2019-12-03 21:12:48
446
原创 四种引用的概念,使用场景
1.强引用概念: 无论如何都不会被作为垃圾回收,就算抛出OOM异常。使用场景: 程序中一般的引用类型就是强引用,占据大部分程序引用2.软引用概念: 相对于强引用弱化了一些,需要用java.lang.ref.SoftReference类来实现,可以让对象豁免一些垃圾收集。对于只有软引用的对象来说:当系统内存充足时不会被回收,当系统内存不足时会被回收。软引用可用来实现内存敏感的高速缓...
2019-12-01 19:58:01
288
原创 生产者消费者模式的两种方案演示
一、模式思想:创造出生产者和消费者两个角色,分清楚各自的职责,只有生产者生产完成消费者才能消费。同时,为了提高效率可以引入一个缓冲区,生产者将产品放入缓冲区,而消费者从缓冲区取走产品消费二、代码演示:1.传统模式的生产者消费者模式(1)创建一个共享资源区类,属性有: private int number = 0;//用来模拟产品 private Lock lock = new Reen...
2019-11-24 21:43:31
251
原创 2019.11.16学习总结
CountDownLatch、CyclicBarrier和Semaphore的作用及使用方法1.CountDownLatch作用:让一些线程阻塞直到另一些线程完成一系列操作后才被唤醒使用方法:CountDownLatch主要有两个方法,当一个或多个·线程调用await方法时,调用线程会被阻塞。当计数器的值变为零时,因调用await方法被阻塞得线程会被唤醒,继续执行代码示例:编写一个...
2019-11-17 20:47:07
143
原创 2019.11.14学习总结
Java开发中几种常见的锁1.公平锁是指多个线程按照申请锁的顺序来获取资源,类似于队列,先进先出(FIFO)。2.非公平锁是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程先获得锁。在高并发的情况下,有可能造成优先级反转或饥饿现象。源码: public ReentrantLock(boolean fair) { sync = fair ? new F...
2019-11-15 17:54:45
392
原创 2019.11.12学习总结
关于集合类的线程不安全问题及其解决方案1.并发情况下集合类的线程不安全问题平时使用Map、ArrayList、Set等集合的时候大多是单线程,当在多线程下使用时则会出现线程不安全的情况,拿ArrayList举例子,如图:2.出现问题的原因3.解决方法...
2019-11-12 23:00:24
103
原创 2019.11.05-11.06学习总结
CAS基本概念及底层原理1.基本概念: CAS(Compare-And-Swap),它是一条CPU并发原语。主要作用是比较当前工作内存中的值和主内存中的值,如果相同则执行规定操作,否则继续比较知道主内存和工作内存中的值一致为止。2.底层原理:2.1 自旋锁自旋思想:当前值不断与期望值进行比较,直到相同为止2.2 Unsafe类:Unsafe:CAS的核心类,由于java方法无法直接...
2019-11-07 00:39:59
165
原创 2019.11.04 学习总结
使用SSM框架时提交AJAX请求时出现的问题1.问题描述:如果前端界面直接发送 ajax=PUT 形式的请求到后端时,封装的数据除了主键之外其余内容会为null,导致添加数据时出错。简而言之:请求体中有数据,但是目标对象无法封装2.分析出现问题的原因:(1)发送数据到接收数据的过程:1.将请求体中的数据封装成一个map2.request.getParameter(“参数”)就会从map...
2019-11-05 11:02:53
143
原创 2019.11.2日学习心得
单机版单例模式、并发环境的单例模式及其会出现的问题一.单机版单例模式:基本代码:public class Singleton { // 初始化一个单例对象 private static Singleton instance = null; private Singleton() { System.out.println(Thread.currentThread().getNam...
2019-11-02 16:40:49
105
空空如也
请问下在整合ssm框架时报这个错误该怎么解决?
2019-10-16
maven项目单元测试完全没错误,但是添加到tomcat中就报404,请问什么原因?
2019-10-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人