Java代码案例
文章平均质量分 72
部分Java代码案例和解决方案
小小鱼儿小小林
感谢关注,商务合作请私信。全网同名(小小鱼儿小小林 or 不爱说话的老余)
展开
-
使用滑动窗口去重时,为什么不直接设置redis的过期时间,而是用redis的滑动窗口
虽然直接设置Redis的过期时间在某些场景下可能足够,但在需要更精细控制去重策略的情况下,使用滑动窗口可能是一个更好的选择。它提供了基于时间和元素数量的双重控制,使得去重策略更加灵活和精确。原创 2024-04-23 11:30:00 · 515 阅读 · 1 评论 -
logback的使用和配置|logback比log4j的优点|logback是一个更好的log4j
一、前言logback介绍Logback是由log4j创始人设计的另一个开源日志组件,官方文档(https://logback.qos.ch/documentation.html)和网站(https://logback.qos.ch/) 。大家可以用谷歌浏览器访问,不喜欢英文文档的可以右键翻译成中文,觉得自己英文ok的,可以直接看英文文档它当前分为下面几个模块:logb...原创 2019-01-22 21:37:24 · 1152 阅读 · 0 评论 -
【教程】好多好看好酷的代码注释,喜欢就选一个;还可以将自己喜欢的图片一键生成代码注释
前言今天浏览看到github一个很好的文章,是好多好玩的注释,觉得挺有意思的,咱们技术人当然不能只沉浸与代码和技术中,有时候还需要适当的玩酷吖,比如下面的这些注释就很有意思了,大家可以收藏用到自己的平常注释当中当然大家一定要注意娱乐和工作适当吖,万一你的老板或者组长、项目经理什么大佬级别的,不是那种开朗、容易打交道、不容易合得来的,万一觉得你的注释太儿戏了,一言不合对你干嘛干嘛的,小编可就...原创 2019-08-16 22:15:47 · 4996 阅读 · 0 评论 -
面试官:Spring Boot 如何进行单元测试
在Spring Boot中进行单元测试通常是使用JUnit和Spring Boot Test框架。Spring Boot提供了一些方便的测试工具,使得编写单元测试变得更加简单和高效原创 2024-03-14 10:15:00 · 76 阅读 · 0 评论 -
面试官:Spring Boot 如何实现打包?| 通过 Maven 或 Gradle 来实现Spring Boot 打包教程
Spring Boot 可以通过 Maven 或 Gradle 来实现打包,生成可执行的 JAR 文件或 WAR 文件。在 Spring Boot 中,一般使用 Maven 来构建和打包项目。原创 2024-03-13 22:45:00 · 102 阅读 · 0 评论 -
面试官: Spring Boot中spring-boot-starter-parent 有什么用
spring-boot-starter-parent 可以简化 Spring Boot 项目的构建和管理,通过继承该父项目,开发者可以更加便捷地搭建和开发 Spring Boot应用。同时,spring-boot-starter-parent 提供的默认配置和插件也有助于保证项目的质量和一致性。原创 2024-03-13 21:15:00 · 326 阅读 · 0 评论 -
面试官:Spring Boot 中如何实现定时任务?| 教你通过3种方式实现Spring Boot定时任务
实现定时任务除了可以通过使用 Spring 的 @Scheduled 注解来实现,还有下面这些方式也可以实现定时任务原创 2024-03-13 19:30:00 · 217 阅读 · 0 评论 -
面试官:Spring Boot 微服务中你使用了哪些 starter maven 依赖项?这些 starter 到底是什么 ?
在 Spring Boot 微服务中,可以使用大量的 Starter Maven 依赖项来简化项目配置和快速集成各种功能,包括数据库、安全、Web 开发等。以下是一些常用的 Starter Maven 依赖项以及它们的用途原创 2024-03-13 17:00:00 · 225 阅读 · 1 评论 -
面试官:Spring Boot 微服务中如何实现 session 共享
Spring Boot 微服务中实现 Session 共享通常需要使用一个共享的 Session 存储机制,比如使用 Redis 或者数据库来存储 Session 数据,以实现多个微服务实例之间的 Session 共享原创 2024-03-13 16:15:00 · 255 阅读 · 0 评论 -
面试官:你知道Spring Boot 性能如何优化吗
可以通过将 @SpringBootApplication 注解改为 @EnableAutoConfiguration + @Configuration + 显式配置注解、将 Servlet 容器由 Tomcat 变成 Undertow、JVM 调优等方式来优化原创 2024-03-13 15:15:00 · 58 阅读 · 0 评论 -
面试官:如果你现在有20个Spring Boot微服务,如何监视所有这些Spring Boot微服务?
要监视所有 Spring Boot 微服务,可以使用 Spring Boot Admin 这样的监控工具。Spring Boot Admin 是一个开源的监控解决方案,能够帮助开发人员监视和管理多个 Spring Boot 应用程序的运行状态、性能指标和健康状况。通过 Spring Boot Admin,我们可以在一个统一的界面上查看所有微服务的运行情况,快速发现问题并进行相应的处理。原创 2024-03-13 14:00:00 · 108 阅读 · 0 评论 -
面试官:Spring Boot 实现全局异常处理应该怎么实现
全局异常处理可以用两个注解来实现:@ControllerAdvice+@ExceptionHandler。通常情况下,我们可以通过编写一个全局异常处理器(Global Exception Handler)来捕获应用程序中抛出的异常,并给出相应的处理逻辑,比如返回友好的错误信息、记录日志等。原创 2024-03-13 12:00:00 · 175 阅读 · 0 评论 -
面试官:你知道Spring Boot 监视器吗?怎么使用?
在 Spring Boot 中,监视器(Actuator)是一个用于监控和管理应用程序的模块,提供了丰富的功能和端点(endpoints),可以帮助开发人员实时查看应用程序的运行状态、性能指标和健康状况,以及执行一些管理操作。监视器模块的主要目的是让开发人员更方便地监控和管理应用程序,帮助他们发现潜在问题、优化性能和提高可靠性。原创 2024-03-13 09:15:00 · 78 阅读 · 0 评论 -
面试官:Spring Boot 中如何解决跨域问题
在 Spring Boot 中解决跨域问题通常需要配置跨域资源共享(CORS),CORS 是一种机制,允许 Web 应用程序从不同的域访问其资源。我们通过以下3种方式实现原创 2024-03-12 22:31:12 · 125 阅读 · 0 评论 -
面试官:说一说 Spring Security 和 Shiro 各自的优缺点
Spring Security 和 Apache Shiro 都是针对 Java 应用程序的安全框架,用于身份认证和授权。原创 2024-03-12 19:30:25 · 256 阅读 · 0 评论 -
面试官:你知道哪些保护 Spring Boot 应用的方法?知道的讲一讲
通过使用 Snyk 检查依赖关系、及时升级版本、启用 CSRF 保护和配置内容安全策略等方法,可以进一步加强 Spring Boot 应用的安全性,减少安全风险和攻击威胁。原创 2024-03-12 12:15:00 · 59 阅读 · 1 评论 -
面试官:SpringBoot多数据源情况下,事务应该如何管理呢
通过使用 @Transactional 注解和分布式事务框架(如 Atomikos、Bitronix)来讲解原创 2024-03-12 09:45:00 · 181 阅读 · 0 评论 -
面试官:SpringBoot 如何配置多个数据源
实现多数据源拆分的一般思路:定义数据源配置:在 application.properties 或 application.yml 中定义多个数据源的连接信息,包括 URL、用户名、密码等原创 2024-03-11 19:52:16 · 370 阅读 · 0 评论 -
分布式锁其实很简单,6行代码教你实现redis分布式锁,千万不要再用redisTemplate写redis分布式锁代码实现
分布式锁是一种用于协调分布式系统中多个节点之间对共享资源进行访问控制的机制。它可以确保在分布式环境下,同一时间只有一个节点能够获取到锁,并且其他节点需要等待释放锁后才能获取。以下是使用分布式锁的几个常见场景和原因:避免资源冲突:当多个节点需要同时对共享资源进行读写操作时,使用分布式锁可以确保同一时间只有一个节点能够执行写操作,避免数据冲突和一致性问题。防止重复处理:在某些业务场景中,可能会出现重复处理的问题,例如订单支付、秒杀等。原创 2023-10-29 22:43:14 · 6969 阅读 · 1 评论 -
JDK10优化了哪些功能以及新增了哪些特性功能|JDK各个版本的特性分析
上一期讲了JDK9的一些新特性,这一期讲一讲JDK10的一些新功能原创 2023-09-19 16:27:52 · 23420 阅读 · 1 评论 -
JDK9优化了哪些功能以及新增了哪些特性功能|JDK各个版本的特性分析
我们现在大部分公司都在使用jdk8,jdk8的功能我先不赘述了,那jdk9相对jdk8优化了哪些功能,以及新增了哪些特性功能呢,下面一一给大家讲述一下。原创 2023-09-19 11:25:29 · 2137 阅读 · 0 评论 -
(全网最佳解决方案)java处理oracle的Clob字段类型的坑和2种解决办法|3行代码即可实现Clob字段转String
我们有时候查询oracle语句的时候,oracle有些字段是大字段Clob类型,这样的数据我们第一种方式是可以通过to_char(clob字段)将数据查出来,那如果我们直接查询的话,在java层应该怎么处理clob字段呢。原创 2023-03-17 18:47:06 · 3203 阅读 · 0 评论 -
java通过反射获取加了某个注解的所有的类
有时候我们会碰到这样的情况:有n个场景,每个场景都有自己的逻辑,即n个处理逻辑,这时候我们就需要通过某个参数的值代表这n个场景,然后去加载每个场景不同的bean对象,即不同的类,这些类中都有一个同名的方法,但是里面的逻辑不同,类似策略模式、工厂模式等原创 2023-03-08 20:41:18 · 4022 阅读 · 0 评论 -
java实现oracle和mysql的group by分组功能|同时具备max()/min()/sum()/case when 函数等功能
oracle和mysql的group by 分组功能大家应该清楚,那如何使用java实现同样的功能呢比如下面这个表idnameagemathEnglish10yujianlin2092.5103ww84102520102611036310351020我们需要按id分组,求最大age和math累计成绩我们的sql应该这样写得到的数据是这样的那java应该怎么样实现呢?原创 2023-01-31 19:15:43 · 2827 阅读 · 0 评论 -
正则表达式获取一串网址的域名段代码
有时候我们需要对一段网址获取其域名的一串,比如:http://www.baidu.com/aaaa/bbb/cccc.html我们需要获取到http://www.baidu.com这一串,或者是http://192.168.111.11:8888/aaaa/bbb/ccc.html,我们需要获取到http://192.168.111.11:8888这一串那正则表达式应该怎么写呢?运行结果:完整demo:原创 2022-12-23 10:12:07 · 68547 阅读 · 0 评论 -
java通过拦截器实现项目每次执行sql耗时统计,可配置是否打印
我们平常在跑项目的时候,有时候一不留神,写了一个慢sql,导致整个系统变的很慢,但是我们有不知道是哪个sql导致的,这段代码,就能够实现我们想要的功能既可以统计sql耗时,又可以定位到执行sql的是哪段代码,还可以拿到完整替换过?号的完整sql,直接复制下来,就能够在sql执行器里面执行,然后你就可以通过explain去分析为什么慢了,是不是因为索引导致的等等还有你们平常用到的idea的mybatislog插件,将?号替换成完整sql也是通过这个逻辑完成的。...原创 2022-07-31 22:13:02 · 1793 阅读 · 0 评论 -
java实现数据库排序功能|compare排序出现IllegalArgumentException: Comparison method violates its general contract
目录一、前言二、解决方法第一种方法是在jvm启动参数中加上配置第二种方法是在代码中实现java实现代码一、前言java实现排序的时候,有时候会出现异常java.lang.IllegalArgumentException: Comparison method violates its general contract,报这个异常的原因是代码里没有考虑对象o1和对象o2为Null的情况,即当o1与o2都为null时两者大小如何判定呢;当o1为null但o2不为..原创 2022-03-24 17:06:01 · 7605 阅读 · 0 评论 -
[附完整代码]2020年博客之星大赛爬取Top200候选人,并按票数进行排序
目录前言二、博客之星票数排行抓包:获取接口数据demo:Top200候选人票数demo:Top200候选人票数排序代码demo:完整项目地址:前言2020年的csdn博客之星大赛前200名候选人已经产生,目前正在火热的进行投票中,我有幸进入前200名,大家可以帮我投投票,序号是【177】。投票地址:https://bss.csdn.net/m/topic/blog_star2020/detail?username=qq_27471405每天都可以投票...原创 2021-01-12 18:41:08 · 1683 阅读 · 6 评论 -
jdk8获取当前时间|时间加减|java8时间格式化|时间处理工具|时间比较|线程安全的时间处理方法
一、jdk8与之前的日期和时间处理类的不同:1. Java的java.util.Date和java.util.Calendar类易用性差,不支持时区,并且是可变的,也就意味着他们都不是线程安全的;2. 用于格式化日期的类DateFormat被放在java.text包中,它是一个抽象类,所以我们需要实例化一个SimpleDateFormat对象来处理日期格式化,并且DateFormat也是非线程安全,这意味着如果你在多线程程序中调用同一个DateFormat对象,会得到意想不到的结果。3. 对日期的原创 2020-06-20 19:47:46 · 10918 阅读 · 5 评论 -
简单说说什么是正向代理和反向代理,以及他们的区别|nginx反向代理配置教程
正向代理(Forward Proxy)一、说明一般的访问流程是客户端直接向目标服务器发送请求并获取内容,比如大家通过浏览器,输入对应的网址,baidu.com、qq.com、taobao.com、zygxsq.cn/daohang 等,就可以直接进入对方的网站。这时候使用正向代理后,客户端改为 向代理服务器发送请求,并指定目标服务器(原始服务器),然后由代理服务器和原始服务器通信,转交请求并获得的内容,再返回给客户端。正向代理的作用一般是用来隐藏真实客户端的,通过代理服务器为客户端收发请求.原创 2020-05-19 19:34:45 · 74 阅读 · 0 评论 -
[亲测可用]hibernate调用Oracle存储过程|Spring Data JPA调用Oracle存储过程方法
前言我们知道在plsql里可以通过下面方式执行存储过程,但是在代码里如何制作呢begin P_DW_DM_BB_TV_ACCOUNT(202004270000) ; end;--或者call P_DW_DM_BB_TV_ACCOUNT(202004270000) @Transactional @Modifying @Query public v...原创 2020-05-02 12:45:49 · 1099 阅读 · 0 评论 -
[亲测可用]springBoot调用对方webService接口的几种方法示例
平常我们开发调用接口一般会用到几种协议方式,有restful的,这个是最简单开发的,还有一种就是webservice协议那什么是webservice呢,Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序在调用别人写好...原创 2020-06-28 23:36:14 · 50927 阅读 · 60 评论 -
java实现利用阿里巴巴开源的easyexcel进行对excel表格的导入和导出[附完整代码]
目录前言一、引入easyexcel的maven二、读取excel代码示例1、bean需要和excel的列对应demo2、Controller层demo3、service层demo4、listener层demo5、dao层demo二、导出excel代码示例前言平常的功能大家应该都会用到导入导出excel的功能,比如通过读exc...原创 2020-01-11 23:57:20 · 6153 阅读 · 2 评论 -
重写bean类的toString()方法为JSON格式|idea设置toString()方法为JSON格式模板|idea设置toString()的模板
目录前言一、idea重写toString()的方法二、重写toString()为JSON格式前言有好多人会用idea将bean类重写toString()的方法,但是好多人其实还不知道其实toString()是可以自己自定义模板的,可以自定义生成你想要的格式,然后一键生成。一、idea重写toString()的方法在idea中,我们知道,按住ALT+Insert可以...原创 2019-11-30 23:13:48 · 2541 阅读 · 0 评论 -
[已解决]报异常java.io.InvalidClassException的解决方法|对象序列化实现Serializable会出现java.io.InvalidClassException的异常
一、前言今天在增加完新功能后, 部署的时候,突然就遇到了java.io.InvalidClassException的问题,这些都是我们平常不注意细节造成的后果。具体异常如下分析异常:Caused by:java. io. InvalidClassException: com. eastcom xxx.xxxxxx. bean. AlarmReq; local class in...原创 2019-11-08 21:12:12 · 8254 阅读 · 0 评论 -
springBoot导入本地jar并且要求通过maven打包到项目的jar中|Unable to open nested jar file 'BOOT-INF/lib/xxxxxx.jar'
今天做项目的时候,需要用到第三方写的jar包,我们知道,maven项目是在pom.xml文件中,引入jar包的maven地址,这样是可以直接import的,eg <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> ...原创 2019-09-11 16:20:35 · 8092 阅读 · 0 评论 -
java关于时间比较|String转Date|Date转String|指定时间加上指定天数后的日期|当时时间加上指定天数后的日期等的方法
目录1、比较前后两个时间,相差几年或几月或几日2、比较前后两个时间是否在同月3、获取当前系统时间4、日期转换成字符串5、期转换成字符串 包含时分秒6、字符串转换成日期7、字符串转换成日期 包含时分秒8、指定时间加上指定天数后的日期:9、当时时间加上指定天数后的日期10、当前时间-传过来的时间,两者相差几分钟11、获取上周周一时间12、获取本周周一时...原创 2018-03-12 10:31:48 · 2098 阅读 · 0 评论 -
关于==和equals的区别和联系,面试这么回答就可以
长篇大论的话,我这里就不多写了,相信大家入门java 的时候就知道个大概了,这里想表述的是,如果面试官问你《关于==和equals的区别》,该怎么回答完美呢?可以这样说总结的来说: 1)对于==,比较的是值是否相等如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等; 如果作用于引用类型的变量,则比较的是所指向的对象的地址 2)对于equals方法,注...原创 2018-07-12 09:23:47 · 312655 阅读 · 23 评论 -
(附运行结果和截图)关于try{return}finally中都有return 运行结果测试之旅
关于try{return}finally{return},这类的问题,面试中很常见,而且有时候现实码代码中也会碰到,所以乘着今天不是很忙的情况下,我无意中想起了自己还不是非常清楚的try...return和finally...return,看了无数遍理论知识不如自己测试来的实在,首先复习已有的知识知道:return 是可以当作终止语句来用的,我们经常用它来跳出当前方法,并返回一个值给调用方法。然...原创 2018-07-05 16:53:23 · 2749 阅读 · 0 评论 -
java读取excel文件单元格英文出现乱码问题的解决方法
小编今天测试读取excel文件,并且取其中的几个单元格作为文件名称的时候,发现文件名出现了乱码,毫无疑问,肯定就是读取excel的时候,取出来就出现了乱码,如图所示excel原单元格数据,如图所示首先这里不是中文乱码的问题,反而是英文的时候出现乱码,然后查阅了许多网上的解决办法,最终最好的解决办法是,在读取excel 的时候,加上WorkbookSettings,代码如下所...转载 2018-08-06 10:46:59 · 7753 阅读 · 0 评论