
学习感悟
丨修丨丶
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JavaWeb项目下对某一对象的管理-前端思考
JavaWeb项目下对某一对象的管理-前端思考 前言 最近一直在做毕设,框架采用的基于SpringBoot的SSM框架,不过框架不重要,思路都是一致的。这里的对象指的是某一个模块对象,例如:订单,用户信息等等。基于最近的学习,思考了如何做是最合理最健壮的思路。 需求 一个常见的对象管理基本上有以下需求: 根据某些条件进行查询出结果 新增对象 修改编辑对象 删除对象 解决方案 一个合理的界面应...原创 2020-04-27 16:26:07 · 246 阅读 · 0 评论 -
springboot项目新感悟
1. 前言 这几天老师带领我们做一个标准的Java web项目,提供了前端的源码,是一次很好的练习机会,老师带领做的是基于自己引入包的SSM框架,而自己是用springboot管理开发的。做的过程中也学到了很多新的知识,总结一下,希望以后温故而知新。 2. 前端 2.1 头文件 引入thymeleaf模板需要添加 <html lang="en" xmlns:th="http://www.th...原创 2019-06-18 12:51:01 · 1018 阅读 · 0 评论 -
数据库四种隔离级别原理及感悟
前言 学习到了数据库的四种隔离级别,同时也对其原理产生一些兴趣,经过一些学习后写下感悟。 参考另一篇文章链接在这。 四种隔离级别 1. 未提交读 未提交读的原理如下: 事务对当前被读取的数据不加锁; 事务在更新某数据的瞬间(就是发生更新的瞬间),必须先对其加行级共享锁,直到事务结束才释放。 同时产生的问题就是脏读问题。 所谓脏读:读取了错误的中间数据。 行级共享锁通常也指读锁。在这里,不管是读...原创 2019-09-01 14:37:24 · 516 阅读 · 0 评论 -
jdk1.8 HashMap的扩容机制
//源码如下 final Node<K,V>[] resize() { Node<K,V>[] oldTab = table; //简单的判断 int oldCap = (oldTab == null) ? 0 : oldTab.length; int oldThr = threshold; i...原创 2019-09-02 11:00:03 · 912 阅读 · 0 评论 -
volatile关键字
1. 保证线程可见性 在Java内存模型(JMM)中规定,数据存储在主存中,当线程需要数据时,拷贝一份到自己的工作内存中,进行操作,结束后写回主存。以上规定都是理论模型,不一定对应真实实现,但其中的逻辑是一致的。由于都是拿到的拷贝,所以线程之间的修改可能会产生并发问题。 volatile正好就是解决这个问题的关键。volatile修饰的引用,在内容修改后,会通知其他含有该数据的线程他们手中的数据已...原创 2019-09-02 12:03:40 · 129 阅读 · 0 评论 -
notify(),notifyAll(),wait()与synchronized的关系
先总结其关系 有synchronized的地方不一定有wait,notify 有wait,notify的地方必有synchronized. 主要解释第二条。 wait与notify方法在运行时分别要释放/获得锁,如果外面没有synchronized也就没有锁自然无法释放/获得会有错误。 如果不加synchronized在编译时可以通过,运行时却会报错 java.lang.IllegalMon...原创 2019-09-02 12:50:49 · 258 阅读 · 0 评论