- 博客(5)
- 收藏
- 关注
原创 Java~线程池与线程池的优化
FixedThreadPool和SingleThreadPool中的LinkedBlockIngQueue的默认允许长度为Integer.MAX_VALUE, 可能会堆积大量的请求, 从而导致OOMLinkedBlockingQueue: 一个由链表结构组成的有界阻塞队列,在未指明容量时,容量默认为Integer.MAX_VALUE。CachedThreadPool和ScheduledThreadPool允许创建的线程的最大值是Integer.MAX_VALUE 可能会创建大量的线程, 从而导致OOM。
2024-09-07 03:42:07
912
原创 B站【狂神说Java笔记】-多线程
synchronized 方法 控制对 “ 对象”的访问,每个对象对应一把锁,每个synchronized 方法都必须获得调用该方法的对象的锁才能执行,否则线程会阻塞,方法一旦执行,就独占该锁,直到该方法返回才释放锁,后面被阻塞的线程才能获得这个锁,继续执行。处理多线程问题时,多个线程访问同一个对象(并发),并且某些线程还想修改这个对象,这个时候我们就需要线程同步,线程同步就是一种机制,多个需要同时访问此对象的线程进入这个对象的等待池形成队列,等待前面线程使用完毕,下一个线程再使用。
2024-09-06 18:49:20
770
原创 J2EE进阶(十六)Hibernate 中getHibernateTemplate()方法使用
Hibernate封装了对数据库的例行操作,比单纯的jdbc的DAO,开发效率要高很多了。提供非常多的常用方法来完成基本的操作,比如通常的增加、删除、修改、查询等操作,Spring 2.0更增加对命名SQL查询的支持,也增加对分页的支持。结合struts2的事件过滤规则,需要添加额外的参数,但是这又与POST的提交方式相违背(POST与GET提交方式的区别,详见博文《的操作对象,然后利用此对象进行,保存,修改和删除等操作,此方法是在配置了。经查看代码,发现果然是数据库中userId为空导致问题的出现。
2024-09-05 23:35:18
455
原创 GitHub标星13(2)
在ES6语法之前,统一使用var关键字来声明一个变量。比如:var name;// 声明一个名为 name 的变量在JavaScript中,永远都是用var来定义变量(在ES6 之前),这和C、Java等语言不同。在ES6语法及之后,可以使用constlet关键字来声明一个变量const name;// 定义一个常量let age;如果你想定义一个常量,就用 const;如果你想定义一个变量,就用 let。
2024-09-05 10:36:29
461
原创 Day07-添加课程信息接口-p108
信息,课程简介信息在课程表(edu_course)中没有设置该字段,而是存在一张单独的表edu_course_description表中,所以需要设置一个封装类,用于封装添加课程表单所有信息。代码:/**@Description :封装添加课程信息表单的数据*/@ApiModel(value = “课程基本信息”, description = “编辑课程基本信息的表单对象”)@Data@ApiModelProperty(value = “课程ID”)
2024-09-04 21:17:18
935
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人