-
Java实现CORS跨域请求的实现方法
所属栏目:[Java] 日期:2020-12-14 热度:188
问题 使用前后端分离模式开发项目时,往往会遇到这样一个问题 -- 无法跨域获取服务端数据 这是由于浏览器的同源策略导致的,目的是为了安全。在前后端分离开发模式备受青睐的今天,前端和后台项目往往会在不同的环境下进行开发,这时就会出现跨域请求数据的[详细]
-
详解Java数据结构和算法(有序数组和二分查找)
所属栏目:[Java] 日期:2020-12-14 热度:73
一、概述 有序数组中常常用到二分查找,能提高查找的速度。今天,我们用顺序查找和二分查找实现数组的增删改查。 二、有序数组的优缺点 优点:查找速度比无序数组快多了 缺点:插入时要按排序方式把后面的数据进行移动 三、有序数组和无序数组共同优缺点 删[详细]
-
浅谈Spring-boot事件监听
所属栏目:[Java] 日期:2020-12-14 热度:147
springboot的事件监听:为bean之间的消息通信提供支持。当一个bean做完一件事以后,通知另一个bean知晓并做出相应处理。这时,我们需要另一个bean,监听当前bean所发生的事件。 实现步骤:四个步骤,四种方式 第一种方式 1、自定义事件,一般是继承Applicati[详细]
-
RateLimiter 源码分析
所属栏目:[Java] 日期:2020-12-14 热度:133
俗话说得好,缓存,限流和降级是系统的三把利剑。刚好项目中每天早上导出数据时因调订单接口频率过高,订单系统担心会对用户侧的使用造成影响,让我们对调用限速一下,所以就正好用上了。 常用的限流算法有2种: 漏桶算法 和 令牌桶算法 。 漏桶算法 漏桶算[详细]
-
通过原理解析Spring mvc的内置编码过滤器
所属栏目:[Java] 日期:2020-12-14 热度:109
前言 在Spring mvc框架中是如何解决从页面传来的字符串的编码问题的呢? 下面我们来看看Spring框架给我们提供过滤器CharacterEncodingFilter,话不多说了,来一起看看详细的介绍吧。 web.xml 中 添加如下配置: filter filter-namecharacterEncodingFilter/f[详细]
-
spring中bean id相同引发故障的分析与解决
所属栏目:[Java] 日期:2020-12-14 热度:134
前言 最近因为同事bean配置的问题导致生产环境往错误的redis实例写入大量的数据,差点搞挂redis。经过快速的问题定位,发现是同事新增一个redis配置文件,并且配置的RedisSentinelConfiguration的id是一样的,然后在使用@Autowired注入bean的时候因为spring[详细]
-
详解使用Spring Security进行自动登录验证
所属栏目:[Java] 日期:2020-12-14 热度:162
在之前的博客使用SpringMVC创建Web工程并使用SpringSecurity进行权限控制的详细配置方法 中,我们描述了如何配置一个基于SpringMVC、SpringSecurity框架的网站系统。在这篇博客中,我们将继续描述如何使用Spring Security进行登录验证。 总结一下Spring Secu[详细]
-
Java自定义异常类的实例详解
所属栏目:[Java] 日期:2020-12-14 热度:94
Java自定义异常类的实例详解 为什么要自己编写异常类?假如jdk里面没有提供的异常,我们就要自己写。我们常用的类ArithmeticException,NullPointerException,NegativeArraySizeException,ArrayIndexoutofBoundsException,SecurityException这些类,都是[详细]
-
Java集合框架源码分析之LinkedHashMap详解
所属栏目:[Java] 日期:2020-12-14 热度:141
LinkedHashMap简介 LinkedHashMap是HashMap的子类,与HashMap有着同样的存储结构,但它加入了一个双向链表的头结点,将所有put到LinkedHashmap的节点一一串成了一个双向循环链表,因此它保留了节点插入的顺序,可以使节点的输出顺序与输入顺序相同。 LinkedH[详细]
-
java中对List分段操作的实例
所属栏目:[Java] 日期:2020-12-14 热度:74
java中对List分段操作的实例 问题:假设A系统查询出来一个很大很大的List,现在B系统想要得到这个List来导出报表,但是B系统部署环境条件有限,内存容不下这么大一个List,这时候我们就需要把List切分,然后再一个一个导出了。 如果按照传统方式,可能会比较[详细]
-
Spring Cloud与分布式系统简析
所属栏目:[Java] 日期:2020-12-14 热度:133
本文不是讲解如何使用Spring Cloud的教程,而是探讨Spring Cloud是什么,以及它诞生的背景和意义。 背景 2008年以后,国内互联网行业飞速发展,我们对软件系统的需求已经不再是过去”能用就行”这种很low的档次了,像抢红包、双十一这样的活动不断逼迫我们去[详细]
-
spring security自定义决策管理器
所属栏目:[Java] 日期:2020-12-14 热度:191
首先介绍下Spring的决策管理器,其接口为AccessDecisionManager,抽象类为AbstractAccessDecisionManager。而我们要自定义决策管理器的话一般是继承抽象类而不去直接实现接口。 在Spring中引入了投票器(AccessDecisionVoter)的概念,有无权限访问的最终觉[详细]
-
spring boot中的properties参数配置详解
所属栏目:[Java] 日期:2020-12-14 热度:122
application.properties application.properties是spring boot默认的配置文件,spring boot默认会在以下两个路径搜索并加载这个文件 srcmainresources srcmainresourcesconfig 配置系统参数 在application.properties中可配置一些系统参数,spring boot[详细]
-
Spring的编程式事务和声明式事务详解
所属栏目:[Java] 日期:2020-12-14 热度:114
入口(了解一些基本概念) Spring事务属性(事务的属性有哪些) 我们都知道事务有开始,保存点,提交,回滚,隔离级别等属性。那么Spring对于事务属性定义有哪些呢?通过TransactionDefinition接口我们可以了解到: public interface TransactionDefinition{ int[详细]
-
Java 线程死锁的问题解决办法
所属栏目:[Java] 日期:2020-12-14 热度:129
Java 线程死锁的问题解决办法 【线程死锁】 原因:两个线程相互等待被对方锁定的资源 代码模拟: public class DeadLock { public static void main(String[] args) { Object obj = new Object(); Object obj1 = new Object(); DeadLockThread1 D1 = new Dea[详细]
-
Spring boot jpa 删除数据和事务管理的问题实例详解
所属栏目:[Java] 日期:2020-12-14 热度:174
今天我们介绍的是jpa删除和事务的一些坑,接下来看看具体内容。 业务场景(这是一个在线考试系统)和代码:根据问题的id删除答案 repository层: int deleteByQuestionId(Integer questionId); service 层: public void deleteChoiceAnswerByQuestionId(Integer[详细]
-
Java中迭代器Iterator的使用解析
所属栏目:[Java] 日期:2020-12-14 热度:191
什么是迭代器 在Java中,有很多的数据容器,对于这些的操作有很多的共性。Java采用了迭代器来为各种容器提供了公共的操作接口。这样使得对容器的遍历操作与其具体的底层实现相隔离,达到解耦的效果。 在Iterator接口中定义了三个方法: Java集合类中Map接口[详细]
-
浅谈Spring Boot 微服务项目的推荐部署方式
所属栏目:[Java] 日期:2020-12-14 热度:69
如果开发过spring boot的程序,应该都知道,使用 spring boot 官方的 maven 打包插件(spring-boot-maven-plugin) 来打包,打出来的jar包一般有40M以上. 如果公司的服务器上传带宽不高,那么手动上传一个jar或者jenkins部署一次jar,都是非常痛苦的........ 但是,[详细]
-
深入理解Spring MVC的数据转换
所属栏目:[Java] 日期:2020-12-14 热度:134
本文主要给大家介绍了关于Spring MVC数据转换的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 数据绑定 SpringMVC负责将request中的信息以一定的方式转换并绑定到处理方法的参数上。整个过程的处理核心是由DataBinder完成。[详细]
-
Java并发编程之重入锁与读写锁
所属栏目:[Java] 日期:2020-12-14 热度:123
重入锁 重入锁,顾名思义,就是支持重进入的锁,它表示该锁能够支持一个线程对资源的重复加锁。重进入是指任意线程在获取到锁之后能够再次获取该锁而不会被锁阻塞,该特性的实现需要解决以下两个问题。 1、线程再次获取锁。锁需要去识别获取锁的线程是否为当[详细]
-
Struts2修改上传文件大小限制方法解析
所属栏目:[Java] 日期:2020-12-14 热度:197
首先struts上传最大大小由两个地方决定. ? struts.multipart.maxSize决定整个post的form最大是多大,所以这个限制是最初的。默认大小是接近2M,在struts的default.properties中定义。 ? fileuploadInterceptor中可以定义maximumSize最大文件大[详细]
-
详解spring boot mybatis全注解化
所属栏目:[Java] 日期:2020-12-14 热度:117
本文重点给大家介绍spring boot mybatis 注解化的实例代码,具体内容大家参考下本文: pom.xml !-- 引入mybatis -- dependency groupIdorg.mybatis.spring.boot/groupId artifactIdmybatis-spring-boot-starter/artifactId version1.3.0/version /dependency[详细]
-
详解spring与shiro集成
所属栏目:[Java] 日期:2020-12-14 热度:180
Shiro的组件都是JavaBean/POJO式的组件,所以非常容易使用Spring进行组件管理,可以非常方便的从ini配置迁移到Spring进行管理,且支持JavaSE应用及Web应用的集成。 在示例之前,需要导入shiro-spring及spring-context依赖,具体请参考pom.xml。 spring-beans[详细]
-
详解spring-boot actuator(监控)配置和使用
所属栏目:[Java] 日期:2020-12-14 热度:172
在生产环境中,需要实时或定期监控服务的可用性。spring-boot 的actuator(监控)功能提供了很多监控所需的接口。简单的配置和使用如下: 1、引入依赖: dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-actuator/artifa[详细]
-
Java读取网页内容并下载图片的实例
所属栏目:[Java] 日期:2020-12-14 热度:75
Java读取网页内容并下载图片的实例 很多人在第一次了解数据采集的时候,可能无从下手,尤其是作为一个新手,更是感觉很是茫然,所以,在这里分享一下自己的心得,希望和大家一起分享技术,如果有什么不足,还请大家指正。写出这篇目的,就是希望大家一起成长[详细]