自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(164)
  • 资源 (2)
  • 收藏
  • 关注

原创 浏览器原理+跨域+解决方案

同源指的是协议、域名、端口号一致,同源策略限制了同一个源加载的文档和脚本如何与另一个源的资源进行交互。主要是这几个方面:当前域下的脚本不能访问其他域的cookie、localstorage、sessionstorage当前域下的脚本不能操作其他域的dom节点当前域下不能发送跨域的ajax请求。

2023-05-26 11:10:56 870 1

转载 RunTime.getRunTime().addShutdownHook的用法

RunTime.getRunTime().addShutdownHook的用法_常识的Blog的博客-CSDN博客

2022-05-01 18:43:03 2698

转载 线程池参数

一、ThreadPoolExecutor核心参数说明 1、corePoolSize:核心线程数 * 核心线程会一直存活,及时没有任务需要执行 * 当线程数小于核心线程数时,即使有线程空闲,线程池也会优先创建新线程处理 * 设置allowCoreThreadTimeout=true(默认false)时,核心线程会超时关闭 2、queueCapacity:任务队列容量(阻塞队列) * 当核心线程数达到最大时,新任务会放在队列

2021-09-24 10:39:05 427

转载 Xshell连接VMware CentOS7

https://blog.csdn.net/weixin_43593086/article/details/90247751

2021-08-23 22:08:23 137

转载 Spring在代码中获取bean的几种方式

Spring在代码中获取bean的几种方式方法一:在初始化时保存ApplicationContext对象方法二:通过Spring提供的utils类获取ApplicationContext对象方法三:继承自抽象类ApplicationObjectSupport方法四:继承自抽象类WebApplicationObjectSupport方法五:实现接口ApplicationContextAware方法六:通过Spring提供的ContextLoader...

2021-06-16 09:38:39 282

转载 MyBatis 和 SQL 注入

MyBatis 和 SQL 注入转载于:https://www.anquanke.com/post/id/190170MyBatis 是一种持久层框架,介于 JDBC 和 Hibernate 之间。通过 MyBatis 减少了手写 SQL 语句的痛苦,使用者可以灵活使用 SQL 语句,支持高级映射。但是 MyBatis 的推出不是只是为了安全问题,有很多开发认为使用了 MyBatis 就不会存在 SQL 注入了,真的是这样吗?使用了 MyBatis 就不会有 SQL 注入了吗?答案...

2021-06-11 15:07:08 1106 1

原创 解决循环依赖(代码验证)

之前转的两篇文章都说过java中的循环依赖,现在大概写个代码demo验证下。之前地址:https://blog.csdn.net/u010730870/article/details/102602597,https://blog.csdn.net/u010730870/article/details/102607053。循环依赖有以下场景:1.模块间循环依赖,解决:见上边之前;2.同模块的类间循环依赖:<模型:A依赖B,B依赖C,C依赖A>(1)构造器声明对象式依赖:无法解.

2021-04-20 15:04:26 320

转载 maven的pom.xml中resources标签介绍

maven的pom.xml中resources标签介绍首先,这个是搬过来的。原文网址:https://my.oschina.net/anxiaole/blog/1613348在开发maven项目时,一般都会把配置文件放到src/main/resources目录下,针对这个目录,maven的resources对其进行单独的配置。resources配置一般如下:<build> <resources> <resource> .

2021-04-19 09:55:40 662

原创 java加解密算法

java加解密算法最近在搞报文加解密的一些业务,一路总是坑坑洼洼的。首先,部分内容是从别的地方搬运过来的。https://www.oschina.net/question/2534721_2143246?sort=default知识点1:sonarLint对加密算法使用的一些规范:Encryption algorithms should be used with secure mode and padding scheme Vulnerability Blockerj.

2021-04-13 11:41:27 10416

原创 springBoot包名不一致导致问题

1.junit测试类的包名若与相应的非测试类包名不同,在测试类中引入service或dao时,会有红色下划线,且不能正确引入。需要指定下。2.若启动类的包位置不在所有java文件的根路径下时,会报一堆spring的aop的错,因为在注入对象时找不见,也需要指定下,或者按正常的解决方案来:把启动类放到与其他类的包同目录下(包的根目录)即可。参考:https://blog.csdn.net/never_give_up_666/article/details/85033794注:搜到的其他答案都.

2020-10-04 12:01:12 1996

转载 Spring AOP 实例解析(InvocationHandler 的invoke的proxy 参数作用)

https://blog.csdn.net/rock154/article/details/80059344

2020-07-05 22:37:44 212

转载 spring boot 入门

https://www.cnblogs.com/ityouknow/p/5662753.htmlhttps://start.spring.io/使用Spring Boot有什么好处其实就是简单、快速、方便!平时如果我们需要搭建一个 Spring Web 项目的时候需要怎么做呢?1)配置 web.xml,加载 Spring 和 Spring mvc 2)配置数据库连接、配置 Spring 事务 3)配置加载配置文件的读取,开启注解 4)配置日志文件 ... 配置完成之后...

2020-06-09 16:19:01 125

原创 代理模式

什么是代理模式? 代理模式的定义:代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。为什么要用代理模式?中介隔离作用:在某些情况下,一个客户类不想或者不能直接引用一个委托对象,而代理类对象可以在客户类和委托对象之间起到中介的作用,其特征是代理类和委托类实现相同的接口。 开闭原则,增加功能:代理类除了是客户类和委托类的中介之外,我们还可以通过给代理类增加额外的功能来扩展委托类的功能,这样做我们只需要修改代理类而不需要再修...

2020-06-03 09:43:55 160

转载 Spring事务传播属性和隔离级别

原文网址:https://www.cnblogs.com/eunice-sun/p/11024584.html一、Spring事务传播属性(Propagation):1) REQUIRED(默认属性)如果存在一个事务,则支持当前事务。如果没有事务则开启一个新的事务。被设置成这个级别时,会为每一个被调用的方法创建一个逻辑事务域。如果前面的方法已经创建了事务,那么后面的方法支持当前的事务,如果当前没有事务会重新建立事务。2) MANDATORY支持当前事务,如果当前没有事务,就抛出异常。...

2020-05-28 19:04:16 127

转载 Gradle系列

原文网址:https://www.jianshu.com/p/46e7a91643f1Gradle系列:Gradle系列一之Gradle介绍Gradle系列二之配置Groovy环境Gradle系列三之Groovy基本语法Gradle系列四之集合Gradle系列五之面向对象Gradle系列六之Json操作Gradle系列七之xml文件解析Grale系列八之文件处理...

2020-05-20 14:35:43 131

转载 如何写一个RPC框架(一):关注点与我的实现

原文网址:https://blog.csdn.net/u012422829/article/details/78375839RPC框架的关注点首先,什么是RPC?RPC的全称是Remote Procedure Call,远程过程调用。RPC框架有很多,比如hsf、dubbo等等。借助RPC框架,我们在写业务代码的时候可以不需要去考虑服务之间的通信等问题,在调用远程服务的时候就像调用本地的方法那么简单。那么,要写一个RPC框架应该由哪些部分组成,关注哪些东西?1.简化本地调用流程既然我们要

2020-05-19 18:37:45 138

原创 idea字体主题集合

http://color-themes.com/?view=index

2020-04-23 16:19:34 248

转载 guava之Immutable(不可变)集合

一、概述 guava是google的一个库,弥补了java语言的很多方面的不足,很多在java8中已有实现,暂时不展开。Collections是jdk提供的一个工具类。 Guava中不可变对象和Collections工具类的unmodifiableSet/List/Map/etc的区别:当Collections创建的不可变集合的wrapper类改变的时候,不可变集合...

2020-04-16 22:04:16 395

转载 Spring Bean的scope(作用域)介绍

原文链接:https://blog.csdn.net/w_linux/article/details/80069039该篇博客主要阐述关于Bean的作用域(scope)。Spring容器最初提供了两种bean的scope类型:singleton和prototype,在Spring2.0之后又引入了另外三种scope类型:request、session、global session类型。不...

2020-04-15 19:58:33 214

转载 Redis使用单进程单线程方式的优缺点分析

Redis采用的是基于内存的采用的是单进程单线程模型的KV数据库,由C语言编写。官方提供的数据是可以达到100000+的qps。这个数据不比采用单进程多线程的同样基于内存的KV数据库Memcached差。Redis快的主要原因是:完全基于内存 数据结构简单,对数据操作也简单 使用多路 I/O 复用模型 单进程单线程第一、二点不细讲,主要围绕第三点采用多路 I/O 复用技术来展开。...

2020-04-15 19:56:32 936

转载 redis漏斗限流

漏斗限流算法及原理:https://www.jianshu.com/p/5531d8e3968ajava实现漏斗限流算法:https://blog.csdn.net/dadiyang/article/details/82887663

2020-04-15 19:51:21 245

转载 redis布隆过滤器

https://blog.csdn.net/u013030276/article/details/883818681.使用场景:推荐系统给用户推荐新闻,避免重复推送。需要考虑问题:从用户观看历史中筛选出没有看过的新闻进行推送,就需要数据库中频繁的使用exists进行查询,但是当用户量很大时,数据库很难顶住压力。解决方法:1.1.使用缓存?但是日子长了,会浪费很大空间,不是长久之计,...

2020-04-15 19:46:50 107

转载 spring aop(spring interceptor), springmvc interceptor, servlet Filter有什么区别?

在spring中实现拦截功能时,有几个比较容易混淆的概念spring aop,spring interceptor,springmvc interceptor先总体上分析一下上面的3个术语看一下spring aop功能的继承关系图可以看到在spring中,Advice的实现接口就是Interceptor,所以可以看做:在spring中,spring aop与spring inter...

2020-03-28 15:13:05 325

原创 maven的一些优化经验

背景最近在优化一个系统的jar包依赖的问题,pom相关的问题,项目在install后报一堆黄色的警告,虽然不影响打包部署发布使用(maven已经很友好地帮忙给处理了),但一堆黄色的感叹号放那着实让人洁癖癌复发,太难受,消灭他们吧。操作问题1:有许多无用的依赖解决:通过“mvn dependency:analyze”命令扫描分析下,会指出所有无用的包(也不能以扫描的结果为准,删除...

2020-03-20 12:32:08 2926

原创 并发环境下服务问题一般解决方案

服务熔断服务降级服务限流服务分流请求与依赖分离灰度开关

2020-03-17 18:51:53 85

转载 mybatis批量插入

原文网址:https://my.oschina.net/zjllovecode/blog/1818716一、首先对于批量数据的插入有两种解决方案(下面内容只讨论和Mysql交互的情况)1)for循环调用Dao中的单条插入方法2)传一个List<Object>参数,使用Mybatis的批量插入 (foreach)对于批量插入它的Mapper看起来向这样<ins...

2020-03-16 17:49:13 1259

转载 关于spring框架中初始化bean时指定执行一个方法:InitializingBean和init-method的使用

原文网址:https://www.cnblogs.com/weiqihome/p/8922937.htmlInitializingBean接口为bean提供了初始化方法的方式,它只包括afterPropertiesSet方法,凡是继承该接口的类,在初始化bean的时候都会执行该方法。测试,如下:import org.springframework.beans.factory.In...

2020-03-13 11:46:16 2632

转载 ReentrantReadWriteLock读写锁详解

原文网址:https://www.cnblogs.com/xiaoxi/p/9140541.html一、读写锁简介 现实中有这样一种场景:对共享资源有读和写的操作,且写操作没有读操作那么频繁。在没有写操作的时候,多个线程同时读一个资源没有任何问题,所以应该允许多个线程同时读取共享资源;但是如果一个线程想去写这些共享资源,就不应该允许其他线程对该资源进行读和写的操作了。 针对这种场...

2020-03-05 15:01:49 218

转载 真正理解线程上下文类加载器(多案例分析)

原文链接:https://blog.csdn.net/yangcheng33/article/details/52631940通过上面的两个案例分析,我们可以总结出线程上下文类加载器的适用场景:当高层提供了统一接口让低层去实现,同时又要是在高层加载(或实例化)低层的类时,必须通过线程上下文类加载器来帮助高层的ClassLoader找到并加载该类。当使用本类托管类加载,然而加载本类的Cla...

2020-03-03 20:28:30 148

原创 灰度百分比策略简单实现

开发过程中有些业务存在不确定性,但部署生产后又不好回滚,因为不能为了这一个业务功能影响整个迭代的功能,回滚后所有的功能都无法上线。此时,就需要加上开关实现灰度发布。常用的灰度有两种:完全灰度和限流百分比灰度。以下详细介绍下:1.完全灰度:即百分百的灰度,要么这个功能使用新逻辑,要么使用旧逻辑。这就简单了,直接用if/else实现2.限流百分比灰度:在系同启动时,配置一个限流的灰度百分比a(...

2020-02-14 14:51:59 2452

转载 深入理解jvm-内存模型和GC

原文网址:https://www.jianshu.com/p/76959115d486

2020-02-01 19:59:47 176

转载 java对象复制

原文链接:https://blog.csdn.net/54powerman/article/details/64920431?locationNum=6&fps=1java赋值是复制对象引用,如果我们想要得到一个对象的副本,使用赋值操作是无法达到目的的:@Testpublic void testassign(){ Person p1=new Person(); p1...

2020-01-17 15:02:56 380

转载 缓存穿透、缓存击穿、缓存雪崩区别和解决方案

一、缓存处理流程前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。二、缓存穿透描述:缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导...

2019-12-25 17:55:50 360

转载 GuavaCache内存缓存 理论 + 实践

两篇很好的文章:偏理论:https://blog.csdn.net/xlgen157387/article/details/47293517偏实践:https://blog.csdn.net/u012859681/article/details/75220605适用性缓存在很多场景下都是相当有用的。例如,计算或检索一个值的代价很高,并且对同样的输入需要不止一次获取值的时候,就应当考...

2019-12-17 14:54:14 154

原创 spring中类名相同,但包名不同,导致spring启动失败 解决方案

背景:本项目引入了一个三方jar包,但jar中出现了一个类名相同,但包名不同,导致spring启动失败 解决方案:方案一:排查下在本项目调用过程中是否不会用到某一个深层jar,要是没用到,则在引入该jar的坐标时用以下方式排除掉该冲突类所在的深层jar<dependency> <artifactId>三方jar</artifactId> ...

2019-12-13 17:23:55 4129 2

转载 java spring websocket实现

一、理论https://blog.csdn.net/d_holyDancer/article/details/81154132轮询:客户端定时向服务器发送Ajax请求,服务器接到请求后马上返回响应信息并关闭连接。 其主要用到js的setInterval()方法。优点:简单易懂,后端程序编写比较容易,不需要特别编写特别的代码。缺点:请求中有大半是无用,同时浪费带宽和服务器资源。...

2019-12-11 16:26:40 116

原创 线程池:异步处理 + 延迟响应

常见的线程池:ExecutorService executor = Executors.newCachedThreadPool() ;1、newFixedThreadPool() 创建固定大小的线程池 线程池的大小一旦达到最大值就会保持不变,如果某个线程因为执行异常而结束,那么线程池会补充一个新线程2、newCachedThreadPool() 创建一个可缓存的线程池,如果线程池的大小...

2019-12-11 14:20:50 1122

原创 java运行时的堆栈信息

我们知道,jvm内存结构主要有方法区(非堆或元数据区)、堆、java栈、native栈、程序计数器。其中java栈线程独有,会存java程序运行时某个方法的信息,当然,这些只是理论。当我们程序员想显示地看到这些信息时,可以通过以下方式,获取一些比较重要的、我们关心的内容:package com.yoyo.yotils.yoyo.ztest;import java.util.stream....

2019-12-02 11:42:43 665

转载 各种方式创建String及其在jvm中的创建情况

1.只在常量池上创建常量 String a1 = "AA";12.只在堆上创建对象 String a2 = new String("A") + new String("A");13.在堆上创建对象,在常量池上创建常量 String a3 = new String("AA");14.在堆上创建对象,在常量池上创建引用 String a4 = new Str...

2019-12-02 11:22:39 257

原创 maven提供的优化项目依赖工具

场景:项目上提个需求,要求一个系统打完包后大小不能超过10M,否则不能上传上去进行发布。分析:优化代码、删除冗余pom坐标包、设置pom中scope配置1.在删除完一些无用代码、下线的功能,优化代码后,发现包的大小只是减少了KB级的大小。所以还是着手于pom坐标的工作吧2.(1)maven提供了一个分析系统pom引用的问题的工具:找到需要分析的系统模块(全量系统的话再主pom的同级目录...

2019-12-02 11:01:12 5834

录屏软件,很不错的一款录屏软件

录屏软件,很不错的一款录屏软件

2022-12-16

CSDN学院_人工智能2.0课程大纲.pdf

有想转人工智能的同学可以参考该大纲目录进行学习。具体的课程目前还没有,不过自学的话按这个路径就可学习。

2019-05-16

防火墙软件

这是一个功能强大的防火墙软件,可以做模拟实验用,也可以实时网络安全的设置

2013-05-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除