随笔分类 -  java

java学习之路
摘要:1、定义 SPI是Java提供的一种服务发现机制,用于在运行时动态查找和加载实现特定接口的服务提供商。按照字面的意思是服务提供接口 将接口与具体业务独立开来。实现调用方与实现方解耦。 1.1API与SPI 最简单的区别就是接口的属于哪一方,API接口属于实现方,SPI接口属于调用方,SPI是调用方定 阅读全文
posted @ 2024-04-01 15:52 清华大咖 阅读(207) 评论(0) 推荐(0) 编辑
摘要:以下内容转自: http://www.hollischuang.com/archives/553 PO(persistant object) 持久对象 在 o/r 映射的时候出现的概念,如果没有 o/r 映射,没有这个概念存在了。通常对应数据模型 ( 数据库 ), 本身还有部分业务逻辑的处理。可以看 阅读全文
posted @ 2022-06-17 14:01 清华大咖 阅读(173) 评论(0) 推荐(0) 编辑
摘要:@configuration配置 针对@configuration,首先@Configuration与@Bean搭配使用,一般在项目中定义配置累才会使用这个注解 @Configuration 代表这个类是一个配置类,可理解为用spring的时候xml里面的<beans>标签 @Bean 用来定义一个 阅读全文
posted @ 2022-03-10 15:45 清华大咖 阅读(291) 评论(0) 推荐(0) 编辑
摘要:一、初始化 decimal 的初始化方式有四种 1、new decimal(int); 2、new decimal(long); 3、new decimal(double);会有精度丢失的风险;使用BigDecimal d= BigDecimal.valueOf(double);初始化double 阅读全文
posted @ 2021-12-29 18:18 清华大咖 阅读(171) 评论(0) 推荐(0) 编辑
摘要:处理方案 1、数据库建立唯一性索引,可以保证最终插入数据库的只有一条数据2、token机制,每次接口请求前先获取一个token,然后再下次请求的时候在请求的header体中加上这个token,后台进行验证,如果验证通过删除token,下次请求再次判断token3、悲观锁或者乐观锁,悲观锁可以保证每次 阅读全文
posted @ 2021-09-28 10:14 清华大咖 阅读(172) 评论(0) 推荐(0) 编辑
摘要:单例模式(Singleton)是程序设计中一种非常重要的设计模式,设计模式也是Java面试重点考察的一个方面。面试经常会问到的一个问题是:SpringMVC中的Controller是单例还是多例,很多同学可能会想当然认为Controller是多例,其实不然。 根据Tomcat官网中的介绍,对于一个浏 阅读全文
posted @ 2021-08-26 18:03 清华大咖 阅读(521) 评论(0) 推荐(0) 编辑
摘要:在实际的开发项目中,一个对外暴露的接口往往会面临很多次请求,我们来解释一下幂等的概念:任意多次执行所产生的影响均与一次执行的影响相同 。按照这个含义,最终的含义就是 对数据库的影响只能是一次性的,不能重复处理。如何保证其幂等性,通常有以下手段: 数据库建立唯一性索引,可以保证最终插入数据库的只有一条 阅读全文
posted @ 2021-08-26 17:48 清华大咖 阅读(57) 评论(0) 推荐(0) 编辑
摘要:一、拦截器与过滤器的区别: 1、拦截器基于java反射,过滤器基于函数回调 2、拦截器不依赖servlet容器,过滤器依赖servlet容器 3、拦截器只能对action请求拦截,过滤器对所有请求拦截 4、拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。 5、在action的生命周 阅读全文
posted @ 2021-08-19 14:18 清华大咖 阅读(110) 评论(0) 推荐(0) 编辑
摘要:一、MyBatis 不要为了多个查询条件而写 1 = 1 二、迭代entrySet() 获取Map 的key 和value 三、使用Collection.isEmpty() 检测空 四、初始化集合时尽量指定其大小 五、使用StringBuilder 拼接字符串 六、若需频繁调用Collection. 阅读全文
posted @ 2021-08-11 10:35 清华大咖 阅读(32) 评论(0) 推荐(0) 编辑
摘要:Spring Web MVC 与 Spring Bean 注解 @RequestMapping, 请求处理类还需要使用@Controller或@RestController进行标记 注解对请求处理类中的请求处理方法进行标注,有六大属性配置 1、value:映射的请求URL或者其别名 2、method 阅读全文
posted @ 2021-08-02 10:30 清华大咖 阅读(91) 评论(0) 推荐(0) 编辑
摘要:一、常见的bean创建方式 (1)基于xml配置bean (2)使用@Component派生注解 (3)使用@Configuration和@Bean注解 1、常见的使用xml中setter方法创建bean bean.xml文件中配置bean时,加上<property>标签设置bean所需参数 <be 阅读全文
posted @ 2021-07-20 10:26 清华大咖 阅读(787) 评论(0) 推荐(0) 编辑
摘要:一、针对spring来说可以使用@transactional来开启事务 二、常见Spring事务失效的场景: 1、注解@Transactional配置的方法非public权限修饰; (1)、官方定义:使用代理时,您应该只将@Transactional注释应用于具有公共可见性的方法。如果使用@Tran 阅读全文
posted @ 2021-05-06 15:28 清华大咖 阅读(904) 评论(0) 推荐(0) 编辑
摘要:一、什么是不可变 如果一个对象它被创建后,状态不能改变,则这个对象被认为是不可变的。 二、怎么实现不可变 当使用final修饰基本类型变量时,不能对基本类型变量重新赋值,因此基本类型变量不能被改变。但对于引用类型变量而言,它保存的仅仅是一个引用,final只保证这个引用变量所引用的地址不会改变,即一 阅读全文
posted @ 2021-04-19 09:45 清华大咖 阅读(817) 评论(0) 推荐(0) 编辑
摘要:java中根据某一特性定义的锁进行分类, 2、自旋锁与适应性自旋锁 分类定义:锁住同步资源失败,要不要进行阻塞 1、概念 自旋锁的概念。阻塞或唤醒一个Java线程需要操作系统切换CPU状态来完成,这种状态转换需要耗费处理器时间。如果同步代码块中的内容过于简单,状态转换消耗的时间有可能比用户代码执行的 阅读全文
posted @ 2021-04-15 16:41 清华大咖 阅读(517) 评论(0) 推荐(0) 编辑
摘要:java中根据某一特性定义的锁进行分类, 1、悲观锁与乐观锁 分类定义:根据线程要不要锁住同步资源 针对于同一并发数据操作 悲观锁:悲观锁认为自己在使用数据的时候一定有别的线程来修改数据,因此在获取数据的时候会先加锁,确保数据不会被别的线程修改。Java中,synchronized关键字和Lock的 阅读全文
posted @ 2021-04-15 16:15 清华大咖 阅读(74) 评论(0) 推荐(0) 编辑
摘要:一、认识同步与异步 1、同步,异步是指应用程序和内核的相互交互而言的 同步:是指用户进程触发io操作等待或者轮训的方式查看io操作是否就绪 异步:异步调用发出调用之后,不会立刻得到结果,而是通过被调用者通知调用者,或者回调函数处理调用。 二、阻塞和非阻塞 阻塞和非阻塞是针对于进程访问数据的时候,根据 阅读全文
posted @ 2021-04-14 10:36 清华大咖 阅读(64) 评论(0) 推荐(0) 编辑
摘要:方法用途 getField(String name) 获得某个公有的属性对象 getFields() 获得所有公有的属性对象 getDeclaredField(String name) 获得某个属性对象 getDeclaredFields() 获得所有属性对象 Field 类定义了如下方法设置成员变 阅读全文
posted @ 2020-12-11 09:41 清华大咖 阅读(54) 评论(0) 推荐(0) 编辑
摘要:线程池: 新的线程请求进来时,会先判断核心线程数是否已满,如果未满则直接新建线程并执行,执行完将其放回线程池; 如果已满就再检查队列是否已满,如果没满就将当前线程请求加入阻塞队列,等待空闲线程分配; 如果已满就再检查线程池当前存在的线程数是否已达到规定的最大值,如果没有达到就创建线程执行; 如果达到 阅读全文
posted @ 2020-11-26 14:25 清华大咖 阅读(238) 评论(0) 推荐(0) 编辑
摘要:spring事务:什么是事务:数据库对事务的支持 事务特性(4种):原子性 (atomicity):强调事务的不可分割.一致性 (consistency):事务的执行的前后数据的完整性保持一致.,同时成功或失败隔离性 (isolation):一个事务执行的过程中,不应该受到其他事务的干扰,单独一个空 阅读全文
posted @ 2020-11-23 14:55 清华大咖 阅读(152) 评论(0) 推荐(0) 编辑
摘要:guava的基础使用 一、maven配置 <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>30.0-jre</version> </dependency> 二、guava 阅读全文
posted @ 2020-11-02 10:42 清华大咖 阅读(284) 评论(0) 推荐(2) 编辑

点击右上角即可分享
微信分享提示