- 博客(29)
- 收藏
- 关注
原创 Spring循环依赖的处理
Spring循环依赖三级缓存是否可以减少为二级缓存?提问:Spring通过三级缓存来解决循环依赖的问题,那么是不是必须是三级缓存?二级缓存不能解决吗?要分析是否能够去掉其中一级缓存,我们需要先过一遍Spring是如何通过三级缓存来解决循环依赖的。- 循环依赖 -所谓的循环依赖,就是两个或者两个以上的bean互相依赖对方,最终形成闭环。比如“A对象依赖B对象,而B对象也依赖A对象”,或者“A对象依赖B对象,B对象依赖C对象,C对象依赖A对...
2021-04-29 16:03:21
159
原创 处理CAS的ABA问题,AtomicStampedReference与AtomicMarkableReference
CAS是最轻量级的,性能比锁更高,单CPU的开销很大,CAS是英文单词Compare and Swap的缩写,翻译过来就是比较并替换。CAS原子类操作包括如AtomicBoolean,AtomicUInteger,AtomicLong。它们分别用于Boolean,Integer,Long类型的原子性操作。今天我们主要讲AtomicReference,AtomicStampedReference与AtomicMarkableReference的区别。AtomicReference通过volatile
2021-04-27 16:07:14
222
原创 ConcurrentSkipListMap和ConcurrentHashMap
ConcurrentSkipListMapTreeMap使用红黑树按照key的顺序(自然顺序、自定义顺序)来使得键值对有序存储,但是只能在单线程下安全使用;多线程下想要使键值对按照key的顺序来存储,则需要使用ConcurrentSkipListMap。ConcurrentSkipListMap的底层是通过跳表来实现的。跳表是一个链表,但是通过使用“跳跃式”查找的方式使得插入、读取数据时复杂度变成了O(logn)。跳表(SkipList):使用“空间换时间”的算法,令链表的每个结点不仅记录next
2021-04-26 16:55:11
1201
原创 CAS原理
CAS(比较与交换,Compare and swap) 是一种有名的无锁算法,它是乐观锁的一种实现方式。所以在进行CAS原理分析的时候,我们先来了解什么是乐观锁,什么是悲观锁~乐观锁与悲观锁乐观锁和悲观锁是在数据库中引入的名词,但是在我们Java的JUC里面的锁也引入类似的思想!我们来看看两种锁的概念悲观锁悲观锁指对数据被外界修改持保守态度,认为数据很容易就会被其他线程修改,所有在数据被处理前先对数据进行加锁,并在整个数据处理过程中,使数据处于锁定状态。我们的传统数据库就会用到这种排它锁的机
2021-04-26 16:30:59
135
原创 2020-12-15
简单的美食餐饮网站设计1、主要技术:主要采用javaScript+html+css编码设计2、主要设计页面效果图:网站登录页面首页轮播图1首页轮播图2首页轮播图3首页轮播图4关于我们的简介特色服务介绍特色菜品介绍3、源码获取方式:大家喜欢的话可通过qq:394034199获取源码,谢谢浏览...
2020-12-15 17:05:26
75
原创 2020-12-15
餐饮美食网站设计1、技术:主要采用javaScript+css+html技术设计2、网站主要功能设计效果图:首页轮播图1首页轮播图2首页轮播图3美食资讯菜品展示菜品欣赏在线预订3、源码提取方式:需要源码资源分享的可加qq:394034199 提取源码...
2020-12-15 16:07:57
79
原创 数据库应用规范
规范数据库使用,主要涵盖了建库建表、建索引、写 SQL、ORM 映射等方面的处理约定。1.建库铁律- 铁律 Level 备注字符集 使用 utf-8。如果存储的是表情则选用 utf8mb4 进行存储。 强制 排序规则 使用 utf8_general_ci 强制 2.建表铁律- 铁律 Level 备注注释 一定要...
2019-09-12 16:09:59
448
1
原创 linux 命令
进程管理w 显示当前在线用户情况my_adm pts/0 111.111.111.111 三15 24:58 2:51 0.02s sshd: my_admin [priv]root pts/3 111.111.111.112 13:15 3:47m 0.35s 0.35s -bashmy_adm pts/5 111.111.1...
2019-09-11 16:07:53
252
原创 Linux常用命令
arch 显示机器的处理器架构(1)uname -m 显示机器的处理器架构(2)uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)hdparm -i /dev/hda 罗列一个磁盘的架构特性hdparm -tT /dev/sda 在磁盘上执行测试性读取操作cat /proc/cpuinfo 显示CPU inf...
2019-09-11 15:59:13
140
原创 Linux安装MySQL
Linux安装MySQL一.使用工具putty_V0.63.0.0.43510830.exe连接linuxhttp://download.csdn.net/detail/u012255016/9781901Linux服务器输入用户和密码:二.检查是否安装过mysql数据库,有则先卸载1.检查是否安装mysql组件2.先关闭mysql服务3.查找mysql相应文件夹4.卸载删除...
2019-09-11 15:38:38
127
原创 java实现mysql数据库备份
java实现mysql数据库备份,使用mysqldump执行备份命令,io流实现数据备份/** * 数据库备份及数据备份记录保存 * * @return 备份状态 * @throws InterruptedException */ @Log(title = "采集数据", businessType = BusinessType.IN...
2019-09-04 16:46:04
1099
原创 sql优化和索引常见的面试题(面试总结)
1.什么是索引索引指数据库的目录,比如:字典上面的字母目录 (适用于大数据量)2.建立索引的优缺点优点:查询速度快缺点:增删改慢,因为数据库要同步去维护索引文件,所以速度慢3.索引有哪些普通 主键 唯一 组合4. 索引检索为什么快索引结构:B+Tree5.一般你们会在什么情况下加索引(1)主键自动建立唯一索引(2)频繁作为查询条件的字段应该创建索引(3)查询中与其他表关...
2019-08-23 11:44:16
16454
3
原创 内置对象和作用域
九大内置对象内置对象名类型 requestHttpServletRequest responseHttpServletResponse configServletConfig applicationServletContext sessionHttpSession e...
2019-08-15 16:50:27
121
原创 js判断对象是否为空对
1.将json对象转化为json字符串,再判断该字符串是否为"{}"var data = {};var b = (JSON.stringify(data) == "{}");alert(b);//true2.for in 循环判断var obj = {};var b = function() {for(var key in obj) {return false;}return...
2019-08-15 16:46:15
100
原创 jquery判断是pc端还是移动端
$(function(){ var system = { win: false, mac: false, xll: false, ipad:false }; //检测平台 var p = navigator.platform; system.win = p.indexOf("W...
2019-08-15 16:40:41
887
原创 判断两个IP是否在同一网段
相信不只我一个人有过这样的想法:只要IP的前三段相同,就是在同一网段了。真相不是这样的。IP地址根据网络ID的不同分为5种类型,A类地址、B类地址、C类地址、D类地址和E类地址。在IP地址3种主要类型里,各保留了3个区域作为私有地址,其地址范围如下:A类地址:10.0.0.0~10.255.255.255B类地址:172.16.0.0~172.31.255.255C类地址:192...
2019-08-15 16:33:20
1642
原创 Glassfish安装、基本使用、在idea中配置Glassfish
Glassfish安装、基本使用、一、glassfish简介glassfish是一款web应用服务器,和tomcat一样,也是一款优秀的Servlet容器。二、glassfish知识点1、domaindomain是glassfish中,拥有独立端口的存放web应用的容器。glassfish可以创建多个domain,每个domain存放于glassfish/domains目录...
2019-08-15 16:17:56
1671
原创 @ApiParam @PathVariable @RequestParam三者区别
1.@ApiParam 顾名思义,是注解api的参数,也就是用于swagger提供开发者文档,文档中生成的注释内容。@ApiOperation( value = “编辑公告”, notes = “编辑公告”, httpMethod = “POST” )@RequestMapping( value = “/edit”, method = RequestMethod.POST )public ...
2019-08-15 16:11:36
394
原创 git误操作回滚的解决方法/常用命令
回滚误操作的解决办法首先用git reflog查看操作记录和git log不同,git log可以查看提交过的版本信息,而got reflog可以查看所有分支的操作记录,包含已经被删除的commit记录。然后git reset --hard 版本号 回滚到某版本这部要注意首先要会推到有相关文件的提交,否则reset的时候可能会找不到文件报错。使用git stash命...
2019-08-15 15:57:59
1440
原创 SQL性能优化(efficacious )
1、优化目标减少 IO 次数IO永远是数据库最容易瓶颈的地方,这是由数据库的职责所决定的,大部分数据库操作中超过90%的时间都是 IO 操作所占用的,减少 IO 次数是 SQL 优化中需要第一优先考虑,当然,也是收效最明显的优化手段。降低 CPU 计算除了 IO 瓶颈之外,SQL优化中需要考虑的就是 CPU 运算量的优化了。order by, group by,distinct … 都是消耗 ...
2019-08-08 13:39:45
248
转载 Redis缓存机制
1、持久化数据库的缺点1)存储在部署数据库的硬盘上 平时我们使用的关系型数据库有MySql,Oracle以及SqlServer等,通常通过数据驱动来链接数据库进行增删改查。 那么我们日常使用的数据库都存在哪里?我们以MySql为例。打开MySql所在的文件夹目录下的data文件夹,如图所示: 可以发现d...
2019-08-06 17:39:58
141
原创 ajax同步、异步的含义和区别
(1)同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面处于假死状态,当这个AJAX执行完后才会解除页面假死状态,代码继续运行。(2)而异步则是当前AJAX代码运行中的时候其他代码一样可以运行。jquery的async:false,这个属性默认是true:异步,false:同步。$.ajax({ url: prefix + "/expo...
2019-08-06 16:56:08
560
1
原创 bootstrapTable属性、事件、方法使用参考
表格参数表格的参数定义在jQuery.fn.bootstrapTable.defaults。 名称 标签 类型 默认 描述 - data-toggle String 'table' 不用写 JavaS...
2019-08-06 16:44:07
2129
原创 sql报错Column 'menu_id' in field list is ambiguous
sql报错Column 'menu_id' in field list is ambiguous(模糊不清引起歧义的)一般是多表联查时,字段冲突,需要给表起别名进行处理
2019-08-06 16:25:42
730
原创 多个list合成一个list,并去重
publicstaticvoidmain(String[]args){List<Integer>list1=newArrayList<Integer>();list1.add(1);list1.add(2);list1.add(3);list1.add(4)...
2019-08-06 16:19:47
2127
原创 list去重的五种方式
新建一个list数组:List list = new ArrayList();list.add(26);list.add(39);list.add(5);list.add(40);list.add(39);list.add(25);System.out.println(list);方法一:使用java8新特性stream进行List去重List newList...
2019-08-06 16:17:37
174
原创 定时器的四类使用
定时器的四类使用(1)指定时间执行任务(2)固定延迟执行任务(3)指定延迟,固定频率执行任务(4)指定开始时间,之后固定速率的执行任务importjava.util.Calendar;importjava.util.Date;importjava.util.Timer;importjava.util.TimerTask;publicclassTime...
2019-06-03 18:09:49
160
原创 Mongodb的分页查询
1.分页实现类SpringDataPageable.javapackage com.ceair.dao;import java.io.Serializable;import org.springframework.data.domain.Pageable;import org.springframework.data.domain.Sort;public class S...
2019-05-15 20:40:31
313
原创 java实现文件上传下载
完成上传需要满足3个必要的条件提供form表单,method必须是post,因为get请求的传输数据一般为2kb,不同浏览器不一样。form表单属性enctype的必须是multipart/form-data提供input type=”file”类的上传输入域大致实现原理:当enctype的值是multipart/form-data时,浏览器会把每个表单项进行分割,分割成不同的部件,以bo...
2019-05-15 20:35:27
357
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人