- 博客(65)
- 收藏
- 关注
原创 Vue简单使用
安装nodejs,新版nodejs集成npm;使用node -v和npm -v验证是否安装成功修改npm镜像为淘宝npm镜像,然后使用cnpm指令代替npm安装vue创建vue项目。
2023-09-27 16:03:09
294
原创 Java 跨域解决
跨域:浏览器同源策略;1995年,同源政策由Netscape公司引入浏览器,目前,所有浏览器都实行这个策略。最初,它的含义是指,A网页设置的cookie B网页不能打开,除非这两个网页”同源“。所谓”同源“指的是”三个相同“程序代码中处理,springboot通过拦截器配置,记得配置拦截器配置。http响应头配置允许跨域。
2023-09-25 18:06:12
120
原创 JWT简介与使用
什么是JWT优点缺点JWT格式组成:头部(header)+负载(payload)+签名(signature)关于JWT客户端存储。
2023-09-19 14:29:26
42
原创 spring AOP之代理
动态代理与静态代理相比较,最大的好处是接口中声明的所有方法都被转移到调用处理器一个集中的方法中处理,解耦和易维护两种动态代理的区别JDK动态代理:要求目标对象实现一个接口,但是有时候目标对象只是一个单独的对象,并没有实现任何的接口,这个时候就可以用CGLib动态代理CGLib动态代理它是在内存中构建一个子类对象,从而实现对目标对象功能的扩展JDK动态代理是自带的,CGLib需要引入第三方包。
2023-09-01 11:09:31
193
原创 spring的后置处理器BeanPostProcessor
代码示例,注意:接口重写的两个方法不能返回null,如果返回null那么在后续初始化方法将报空指针异常或者通过getBean()方法获取不到bean实例对象。可以注册多个BeanPostProcessor顺序。什么是BeanPostProcessor。
2023-08-30 15:45:35
261
原创 mybatis缓存
失效策略:执行同个namespace下的mapper映射文件中增删改SQL,并执行了commit操作会清空该二级缓存。注意:实现二级缓存的时候,mybatis建议返回的POJO是可序列化的,也就是建议实现Serializable接口。如果需要控制全局mapper里面某个方法不使用缓存,可以配置useCache=“false”缓存淘汰策略:会使用默认的LRU算法来回收(最近最少使用的)如何开启某个二级缓存mapper.xml里面配置,一级缓存和二级缓存使用顺序。mybatis二级缓存。
2023-08-30 09:52:36
90
原创 springboot自定义配置文件映射实体类
需使用类上配置@PropertySource(“classpath:test.properties”)增加属性@Value(“${test.username}”)方式二:实体类配置文件。
2023-05-30 17:04:23
208
原创 springboot定制返回页面JSON字段
@JsonIgnore:指定字段不返回@JsonFormat(pattern = “yyyy-MM-dd hh:mm:ss”, locale = “zh”, timezone = “GMT+8”):指定日期格式@JsonInclude(JsonInclude.Include.NON_NULL):空字段不返回@JsonProperty(“别名”):指定别名
2023-05-30 12:10:10
179
原创 多线程之线程池
通俗的讲,线程池就是一个线程集合,里面已经提前创建好了若干个线程,当需要线程的时候到线程集合里获取一个即可,这样省去了创建线程的时间,当然也省去了GC回收线程的时间,当线程池里的线程都被使用了后,只能阻塞等待了,等待获取线程池后被释放的线程,这样就不会无限制的去创建线程而导致Out of Memory。
2023-05-27 19:12:56
668
原创 tomcat目录文件讲解
bin:启动和关闭tomcat脚本conf存放配置文件server.xml:配置整个服务器信息,比如修改端口号、添加虚拟主机lib:存放tomcat运行需要的第三方包,这个目录中的jar所有项目都可以共享,如果需要添加tomcat都依赖的jar文件,可以把它放到这个目录下log:运行的相关日志文件,tomcat启动和关闭的信息,如果启动tomcat时有错误,catalina.out运行日志文件,即标准输出和标准出错,也包含tomcat运行自己输出的日志以及应用里向console输出的日志
2023-04-28 21:23:51
76
原创 mysql之索引
索引并非越多越好,过多的索引会增加数据的维护速度还有磁盘空间的浪费当表的数据量很大的时候,可以考虑建立索引表中经常查数据的字段,可以考虑建立索引想要保证表中数据的唯一性,可以考虑建立唯一索引想要保证两张表中的数据的完整性跟准确性,可以考虑建立外键约束经常对多列数据进行查询时,可以考虑建立联合索引。
2023-04-26 10:22:28
108
原创 mysql存储引擎
总结:一般来说不需要用到事务的时候、做很多count计算尽量使用MyISAM引擎;可靠性要求高的,或者要求支持事务,想要用到外键约束的时候尽量使用InnoDB;修改默认引擎:vim /etc/my.cnf,在[mysqld]下面加上:default-storage-engine=MyISAM,记得重启服务才会生效。数据库引擎是数据库底层软件组件,不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的数据库引擎可以获得特定的功能。MyISAM与InnoDB的区别。什么是数据库存储引擎。
2023-04-18 15:48:14
26
原创 多线程面试题
指令重排序分两类:编译器重排序和运行时重排序JVM在编译Java代码或者CPU执行JVM字节码时,对现有的指令进行重新排序,主要目的是优化运行效率(不改变程序结果的前提)解决多线程指令重排发生问题的方案是内存屏障内存屏障是屏障指令,使CPU对屏障指令之前和之后的内存操作执行结果的一种约束全称是Compare And Swap,即比较再交换,是实现并发应用的一种技术底层通过Unsafe类实现原子性操作,操作包含三个操作数:内存地址(V)、预期原值(A)和新值(B)
2023-04-14 16:38:53
129
原创 mysql、spring之事务
什么是事务数据库事务通常是指对数据库进行读或写的一个操作过程。有两个目的,第一个是为数据库操作提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法;第二个是当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,以防止彼此的操作互相干扰事务的特性(ACID)原子性(Atomicity):事务必须是原子工作单元,一个事务中的所有语句应该做到,要么全部成功,要么全部失败。
2023-03-12 09:30:12
26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人