笔记
衍余未了
这个作者很懒,什么都没留下…
展开
-
常用的建表但范式、反规范化
在上表中有俩个主键,复合主键,中部门地址只需要依赖部门名称即可,不需要依赖姓名,没有完全依赖全部主键,这种情况我们可以给部门单独分为部门表。上表中我们想知道各个职位相关的薪资,职位和薪资存在依赖关系,无法和工号直接产生依赖关系。一个表存在传递依赖,不符合第三范式。规范化是用于数据库设计的一系列原理和技术,它可以减少表中数据的冗余,增加数据完整性和一致性。首先需要满足第一范式,非主键字段必须完全依赖于主键字段,不能只依赖于主键的一部分。首先需要满足第二范式,非主键字段不能依赖于其他非主键字段。原创 2023-12-13 20:35:39 · 470 阅读 · 0 评论 -
GC垃圾回收的定义
为了提高GC的效率,一些gc会将内存分为不同的代,每个代中对象具有不同的生命周期,通常会将新分配的对象放到新生代中,新生代使用复制算法进行垃圾回收,老年代中的对象则使用标记清除算法进行垃圾回收,GC通过不同的算法来检测垃圾对象,其中常用的是计数算法和标记清除算法,引用计数算法会维护每个对象的引用计数,当某个对象的引用计数为0时,就可以视为垃圾并回收。标记清除算法则会从程序的根对象出发,标记所有可以访问到的对象,然后清除未被标记的对象。会标记所有可以访问到的对象,然后清除未被标记的对象。原创 2023-12-13 18:47:07 · 604 阅读 · 0 评论 -
hash冲突如何产生,hashmap如何解决hash冲突
hashMap采用了链式寻址法,存进去的key,hashMap会把这些key组成一个单向链表,然后采用尾插法,把这些key保存到链表的尾部,避免链表过长查询效率低下,在数组长度大于等于64的时候hashmap会把链表转为红黑树,减小链表查询的时间复杂度,提高从查询效率。hash算法会根据key的hash值进行取模运算,最后把值存入道数组指定的位置,两个不同的hash值的key最终取模后会落到同一个数组下标下,就形成冲突。建立公共溢出区,也就是把存在冲突的key同意放到一个公共溢出区里。原创 2023-11-28 20:29:03 · 577 阅读 · 0 评论 -
SpringBoot整合Security利用oauth2完成第三方验证登录
登录访问出问题或者二次登录不显示以上页面,二次登录需清除Token,清除后需要等待一段时间才可访问。另外令牌Token存在即使启动在多次springboot也不会出现以上页面,有登录缓存,不需要在二次登录。配置application.properties,配置第三方登录需要的配置,springboot服务端口默认端口为:8080,可配可不配,访问服务的Security默认登录地址:http://localhost:8080/login,点击下面小的gitee登录。//开启oauth2第三方登录。原创 2023-11-02 17:27:55 · 586 阅读 · 0 评论 -
idea快速创建项目,常见问题-Error: Request failed with status code 500
idea快速创建项目,常见问题-Error: Request failed with status code 500原创 2023-10-11 19:51:54 · 1879 阅读 · 0 评论 -
服务雪崩的解决方案
服务键调用关系复杂,服务之间业务互相影响,如果a业务发生故障堵塞则依赖于服务a的b业务也会发生堵塞,此时不依赖a业务的其他业务似乎不受影响。限制业务访问的QPS,避免服务因流量的突增而故障。但是依赖a业务的服务请求被堵塞后,用户得不到响应,则tomcat的这个线程就得不到释放,越来越多的线程会堵塞。结果就是依赖于当前服务的其他服务随着时间的推移,最终也都会变的不可用,形成级联失败,雪崩就发生了。当发现访问服务的请求异常比例过高时,认为服务有导致雪崩的风险,会拦截访问服务的一切请求,形成熔断。原创 2023-04-24 14:43:54 · 161 阅读 · 0 评论 -
利用mybatis-puls中@TableField实现在添加和修改字段时进行自动填充数据,可以在不同类中相同的字段使用,在其添加和修改时不设置此字段,减少大量冗余
updateFill()在修改时利用setValue()方法加入修改时需要自动填充的字段,参数一为字段名,参数二为填充值。inserFill()在添加时利用setValue()方法加入新增时需要自动填充的字段,参数一为字段名,参数二为填充值。利用@Commponent注解把类交给springboot管理,IOC控制反转,可以被多个类中的相同字段使用。记得在启动类中条件@ServletComponentScan注解来扫描自动装配。属性是指定需要在何时自动填充数据。在实体类需要自动填充的字段上加上。原创 2023-02-22 17:35:12 · 445 阅读 · 0 评论 -
Dto类是什么,怎么把普通实体类中的数据放到Dto中
Dto是普通实体类的扩展,Dto继承普通类,除了继承数据库类表对应的字段外,扩展了包括一对多、多对一的关系类的字段等,只要用于多表查询、修改、新增和表的扩展。原创 2023-02-22 17:13:15 · 1694 阅读 · 0 评论 -
springboot实现文件的上传和下载
application.yml中配置上传下载的文件地址,方便随时修改。原创 2023-02-21 22:14:55 · 209 阅读 · 0 评论 -
利用ThreadLocal设置用户的唯一标识
静态方法可以直接类名.方法名访问,设置需要的数据。ThreadLocal只能获取本线程的线程数据。原创 2023-02-20 12:30:33 · 178 阅读 · 0 评论 -
替换SpringMVC默认的消息转换器,解决响应在js中 long类型数据存在的精度丢失问题
把long类型转换为toString格式。替换springmvc中的默认消息转换器。图文示例,同以上代码。原创 2023-02-19 23:28:30 · 142 阅读 · 0 评论 -
Springboot+mybatis-pulse实现分页查询
注意:page()方法会自动把查询数据添加进Page对象中的 List records成员变量中,不需要手动生成。注意:page()方法会自动把查询数据添加进Page对象中的 List records成员变量中,不需要手动生成。调用mybatis-puls的page()分页查询方法,把Page和查询条件放入page方法中。注意: Page是mybatis-pluse中的类。注意: Page是mybatis-pluse中的类。设置页码和每页查询的条数。设置页码和每页查询的条数。原创 2023-02-19 13:36:51 · 246 阅读 · 0 评论 -
springboot全局捕获异常
CotrollerAdvicez注解通知可直接使用,也可以指定一个或者多个Controller。@ExceptionHandler注解设置需要捕获的异常。@ResponseBody注解返回JSON格式的对象、原创 2023-02-19 00:03:07 · 52 阅读 · 0 评论 -
springboot利用Filter来拦截接口请求
创建一个类实现Filter,加上@WebFilter注解,filterName是接口的唯一标识,urlPatterns是需要过滤的请求URL。需要在启动类添加ServeltComponentScan来扫描@WebFilter。原创 2023-02-18 20:55:48 · 310 阅读 · 0 评论 -
springboot设置静态资源访问
设置在resources包下面backend目录和front目录的静态资源启动类访问方式。addResourceLocations()方法设置的是本地静态资源的路径。addResourceHandler()方法设置浏览器的访问路径。完成后就可以使用ip端口的方式访问。原创 2023-02-18 12:15:53 · 109 阅读 · 0 评论 -
docker容器正常启动宿主机却无法正常访问
问题:重新开启linux虚拟机后有时候可以访问有时候不可以访问docker容器或者完全无法访问。原因:linux内核版本和docker版本不兼容。解决:更新linux内核版本。转载 2023-02-08 17:27:04 · 1127 阅读 · 0 评论 -
docker的部署流程
1.安装 yum工具yum install yum-config-manageryum -y install yum-utils2.使用yum-config-manager添加yum仓库yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo3,安装dockeryum -y install docker-ce4.查看docker版本docker .原创 2021-12-15 20:57:59 · 1367 阅读 · 0 评论 -
Xshell连接本地linux虚拟机
1.网络适配器选择为NAT模式2. 修改访问外部网络cd /etc/sysconfig/network-scriptsvim ifcfg-ens33修改ONBOOT为yes重新启动虚拟机:reboot关闭防火墙systemctl stop firewalld重新启动networksystemctl restart network查看端口ip a使用工具连接虚拟机...原创 2021-12-15 20:27:29 · 1183 阅读 · 0 评论 -
2021-11-09
docker-compose启动es6.6.6错误信息:error=>#<ArgumentError: Setting “xpack.monitoring.elasticsearch.hosts” hasn’t been registered>, :backtrace=>["/usr/share/logstash/logstash-core/lib/logstash/settings.rb:37:in get_setting'", "/usr/share/logstash/logs原创 2021-11-09 12:35:11 · 1478 阅读 · 0 评论