JAVA体系
文章平均质量分 80
源城编程哥
这个作者很懒,什么都没留下…
展开
-
深入浅出设计模式
介绍一些设计模式的常见实现方法。原创 2023-09-23 19:34:40 · 215 阅读 · 0 评论 -
反射获取java对象的几种方式
基于接口的注入:对象赋值,将value的赋值改成ref赋值。原创 2023-09-19 20:08:47 · 166 阅读 · 0 评论 -
MYSQL八股-优化篇
这个要分引擎讨论,如果是InnoDB,其为行锁(不考虑实用表锁时),然后每次insert时,由于InnoDB不会记录行号,因此会是6。如果是MyISAM,其为表锁,会记录行号,因此是8。原创 2023-09-19 15:50:13 · 61 阅读 · 0 评论 -
springboot结合redis实现排行榜
创建一个RankingService类,处理排行榜相关的操作。使用了RedisTemplate来与Redis进行交互,将成员ID和分数作为参数存储到有序集合中,并使用reverseRange方法获取指定范围内的排行榜数据。来向日榜中添加成员,并通过访问。创建控制器,处理HTTP请求。来获取日榜的前10名成员。下面来实现排行榜功能。原创 2023-09-12 21:47:02 · 178 阅读 · 0 评论 -
Spring Boot实现登录注册的三种基本方式
setSigningKey()与builder中签名方法signWith()对应,parser中的此方法拥有与signWith()方法相同的三种参数形式,用于设置JWT的签名key,用户后面对JWT进行解析。方法很简单,以分隔符" . ",截取JWT第三段,即签名部分进行判断。使用sso微服务去认证,通过后保存token,再次验证时出示凭证即可获取登录信息。// 将用户的登录信息保存到Cookie中,有效期为7天。// 将用户的用户名更新为"Jane Doe"// 删除名为"user"的Cookie。原创 2023-09-12 21:13:36 · 2249 阅读 · 0 评论 -
[精华]JAVA创建线程的常见方式
JAVA创建线程,使用Executors.newScheduledThreadPool(1)创建了一个周期线程池,然后,使用scheduleAtFixedRate()方法提交一个周期性任务给线程池。该任务将每隔5秒运行一次。接下来,我们让主线程休眠20秒,以便观察周期性任务的执行情况。最后,我们调用shutdown()方法关闭线程池。本质也是runnable接口的方式,只是其实现了runnable接口。使用futureTask去接收。实现了,用thread去执行。固定线程数量的线程池。原创 2023-09-12 20:35:01 · 43 阅读 · 0 评论 -
mybatis的延迟加载和一级缓存和二级缓存
二级缓存:也是基于 PerpetualCache 的 HashMap 本地缓存,不同在于其存储作用域为 Mapper 级别的,如果多个SQLSession之间需要共享缓存,则需要使用到二级缓存,并且二级缓存可自定义存储源,如 Ehcache。一级缓存:基于 PerpetualCache 的 HashMap 本地缓存,它的声明周期是和 SQLSession 一致的,有多个 SQLSession 或者分布式的环境中数据库操作,可能会出现脏数据。默认情况下,延迟加载是关闭的。在 MyBatis 配置文件中配置。原创 2023-09-10 11:29:45 · 61 阅读 · 0 评论 -
mybatis和mybatis plus实现分页的两种方式
在MyBatis中,可以使用插件或直接在SQL语句中使用分页函数实现物理分页。在SQL映射文件(user-mapper.xml)中编写对应的查询语句,并根据rowBounds参数进行结果切片。在MyBatis的Mapper接口中定义方法,传入RowBounds对象作为方法的参数,指定需要的结果范围。在服务层或控制器层中调用Mapper的方法,传入RowBounds对象作为参数,指定需要的页码和每页的大小。在服务层或控制器层中调用Mapper的方法,并使用PageHelper进行分页。原创 2023-09-10 11:19:55 · 181 阅读 · 0 评论