自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(143)
  • 资源 (6)
  • 收藏
  • 关注

原创 JAVA 异步编程(线程安全)二

多线程以及多进程改善了系统资源的利用率并提高了系统 的处理能力。然而,并发执行也带来了新的问题——死锁。所谓死锁是指多个线程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。死锁是指两个或两个以上的线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。

2024-07-19 22:33:09 1065

原创 JAVA 异步编程(异步,线程,线程池)一

虽然Thread可以创建线程,但是线程的创建销毁不能很好的控制,就会导致资源耗尽的风险,所以线程资源尽量通过线程池提供,不在应用中自行显示的创建线程,一方面是线程的创建更加规范,可以合理控制开辟线程的数量;另一方面线程的细节管理交给线程池处理,优化了资源的开销。

2024-07-16 22:32:15 1006

原创 Linux 磁盘空间清理

【代码】Linux 磁盘空间清理。

2024-06-25 21:38:49 241

原创 docker 容器设置中文环境

默认情况下: 如果没有zh_CN.utf8就安装。方式2:1.3 写入 bash.bashrc 文件1.4 写入 profile 文件1.5 重启容器2. dockerfile中设置

2024-06-24 01:03:25 743

原创 Linux 设置中文语言环境(ubuntu)

【代码】Linux 设置中文语言环境(ubuntu)

2024-06-24 00:35:00 251

原创 认证和授权详解

:用来验证某个用户是否具有访问系统的权限。如果认证通过,该用户就可以访问系统,从而创建、修改、删除、查询平台支持的资源。):用来验证某个用户是否具有访问某个资源的权限。如果授权通过,该用户就能对资源做 CRUD 等操作。

2024-06-19 23:01:16 233

原创 SpringCloud Netflix和SpringCloud Alibaba核心组件

流量控制就是限制业务访问的 qps(每秒处理请求数量),避免服务因流量突增而故障.比如有一个微服务能承受的最大 qps 是 2,也就是每秒钟最多处理两个请求,但是现在有一百个请求涌过来了,那他不得被达成筛子了,但是 sentinel 会根据这个 qps 的限制,去处理请求然后释放(这就像是有大量的水要涌入的时候,会先经过一个漏斗,通过这个漏斗,将水的流量限制住),这个时候,就可以有效的避免出现故障(超出的请求会被拦截,默认会报错,但也可以配置成 排队等待、预热)。如果断言为true,则匹配该路由。

2024-06-19 22:44:04 876 2

原创 Python环境搭建

在原来的site-packages下添加一个mypath.pth文件,文件名没有要求,只要保证文件后缀是.pth就行,并且增加我们自定义配置的site-packages的路径。index-url是设置第三方库的镜像源,设置镜像是为了更快下载,这里设置为阿里云镜像,当然也可以不设置或使用其他镜像。target是第三方库的目标安装路径,这个必须自己设置否则通过pip安装的第三方库依然安装在默认路径下。查看site.py存放路径,site.py一般存放在Lib目录,并且修改site.py的文件。

2024-05-30 23:22:28 342

原创 JS实现远程请求

XMLHttpRequest 用于在后台与服务器交换数据。支持的数据类型:所有类型的数据资源,并不局限于 XML。XMLHttpRequest 支持的协议:HTTP,file,FTP。

2024-05-18 16:56:02 290

原创 Java文件写入的方式

Java 中的“流”是一种抽象的概念,也是一种比喻,就好比水流一样,水流是从一端流向另一端的,而在 Java 中的“水流”就是数据,数据会从一端“流向”另一端。根据流的方向性,我们可以将流分为输入流和输出流,当程序需要从数据源中读入数据的时候就会开启一个输入流,相反,写出数据到某个数据源目的地的时候也会开启一个输出流,数据源可以是文件、内存或者网络等。

2024-05-17 23:21:08 289

原创 SpringBoot全局设置请求路径增加前缀

1.增加自定义注解ApiRestController2. 替换@RestController到注解@ApiRestController3. 配置WebMvcConfigurer@Component@Overrideconfigurer。

2024-05-17 22:56:18 939

原创 OpenApi 接口文档

Bean.name("许可协议").description("csdn博客")@Bean.build();秒懂SpringBoot之如何集成SpringDoc(全网目前最新最系统最全面的springdoc教程) - 知乎。

2024-05-17 21:20:36 782

原创 正向代理与反向代理

正向代理是客户端的代理,服务器不知道真正的客户端是谁;反向代理是服务器的代理,客户端不知道真正的服务器是谁正向代理一般是客户端架设的;反向代理一般是服务器架设的正向代理主要是用来解决访问限制问题;反向代理则是提供负载均衡、安全防护等作用。二者都能提高访问速度。百度安全验证百度安全验证。

2024-04-22 23:07:50 744

原创 SpringBoot日志配置

【代码】SpringBoot日志配置。

2024-04-03 22:16:37 254

原创 Python基础

1、顶层的包(类似文件夹)。2、各个模块(Python file)。3、类(class 定义类)。4、变量和方法(函数)。其中,方法中也可以定义变量(方法中的变量)

2024-04-02 22:42:53 724

原创 正则表达式

字符说明将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如, n匹配字符 n。\n 匹配换行符。序列 \\\\ 匹配 \\ ,\\( 匹配 (。匹配输入字符串开始的位置。如果设置了对象的属性,^ 还会与"\n"或"\r"之后的位置匹配。匹配输入字符串结尾的位置。如果设置了对象的属性,$ 还会与"\n"或"\r"之前的位置匹配。零次或多次匹配前面的字符或子表达式。例如,zo* 匹配"z"和"zoo"。* 等效于 {0,}。一次或多次匹配前面的字符或子表达式。

2024-04-02 22:15:05 969

原创 Linux 反引号、单引号以及双引号的区别

单引号中所有的字符包括特殊字符($,'',`和\)都将解释成字符本身而成为普通字符。它不会解析任何变量,元字符,通配符,转义符,。

2024-03-28 22:29:39 527

原创 电脑安装双系统windows和ubuntu server

Ubuntu-server的启动盘。

2024-03-23 22:24:02 1502

原创 Linux Sftp和Scp

1 scp 能将远程文件复制到另一个远程机,sftp 不能。sftp为 SSH的其中一部分,是一种传输档案至 Blogger 伺服器的安全方式2.scp 没有删除/创建远程目录功能,sftp 有。scp 在需要进行验证时会要求你输入密码或口令。3. FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。scp = secure copy (remote file copy program) ,是openssh带的,也是加密的。

2024-03-23 19:59:35 563

原创 查找jdk的安装

a :显示所有文件即目录(ls内定将文件名或目录名称开头为“.”的视为隐藏档,不会列出)-l: 除文件名称外,亦将文件形态、权限、拥有者、文件大小等资讯详细列出。-F: 在列出的文件名称后加一符号;例如可执行档则加“*”,目录则加“/”-A: 同-a,但不列出“.” (当前目录)及“…首先which java 然后将查找出来的结果ls -lrt。-r: 将文件以相反次序显示(原定依英文字母次序)。-R: 若目录下有文件,则以下之文件亦皆依序里列出。-t: 将文件依次建立时间之先后次序列出。

2024-03-13 23:35:21 245

原创 SpringBoot中的HttpServletRequest

javax..http.HttpServletRequest是SUN制定的Servlet规范,是一个接口,表示请求, 其父接口是 javax.servlet.ServletRequest。“ HTTP 请求协议”的完整内容都被封装到 request对象中。

2024-03-13 23:16:33 1734

原创 SpringBoot Filter和Servlet

在实现上,基于Java的反射机制,属于面向切面编程(AOP)的一种运用,就是在service或者一个方法前,调用一个方法,或者在方法后,调用一个方法。拦截器是一个Spring的组件,归Spring管理,配置在Spring文件中,因此能使用Spring里的任何资源、对象,例如 Service对象、数据源、事务管理等,通过IoC注入到拦截器即可。在Spring构架的程序中,要优先使用拦截器。监听器用于监听web应用中某些对象、信息的创建、销毁、增加,修改,删除等动作的发生,然后作出相应的响应处理。

2024-02-29 22:51:49 583

原创 SpringBoot 使用Mock单元测试

测试一般分为两种黑盒测试和白盒测试。黑盒测试又称为功能测试或数据驱动测试,测试过程中,程序看作成一个黑色盒子,看不到盒子内部代码结构。白盒测试又称为结构测试或逻辑驱动测试,测试过程中,程序看作一个透明盒子,能够看清盒子内部的代码和结构,这样测试人员对程序代码的逻辑有所知晓。

2024-02-29 20:25:06 1370

原创 Security详解—自定义认证(4)

MyAuthenticationProvider类主要用于用户的登录认证@Slf4j@Autowired@Autowired@Override//获取输入用户名//获取输入明文密码//根据用户名查询匹配用户//判断用户账户状态if (!throw new DisabledException("该账户已被禁用,请联系管理员");throw new LockedException("该账号已被锁定");

2023-06-18 22:38:24 218

原创 Security详解—自定义登录页面(3)

新建一个配置类WebSecurityConfig,并且继承WebSecurityConfigurerAdapter(如果WebSecurityConfigurerAdapter。@Autowired/*** formLogin() 默认使用了UsernamePasswordAuthenticationFilter* 默认使用了DaoAuthenticationProvider认证逻辑,使用configure可以配置UserDetailsService*/@Override。

2023-06-18 22:04:41 220

原创 Security 详解—原理(1)

Spring 是非常流行和成功的 Java 应用开发框架,Spring Security 正是 Spring 家族中的成员。Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案。

2023-06-18 21:50:26 2426

原创 JAVA 加密算法

对于简单验证数据一致性,可以使用BASE64 或 MD5 进行加密生成一个签名,或者连续两次使用BASE64加密。支付场景,大部分使用 非对称加密算法 实现,非对称加密安全性更高。

2023-06-17 19:47:34 1375

原创 jwt工具类

、Payload(数据体)、验证签名(Verify Signature)组成。其中,Header中的内容为加密信息以及Token的类别,Payload为用户数据、Verify Signature为校验数据。,是一种令牌生成算法。使用JWT能够保证Token的安全性,且能够进行Token时效性的检验。JWT共由三部分组成,分别是数据头(新建JwtUtil的工具类。

2023-06-10 23:46:03 1056

原创 k8s 常用命令

查看容器的日志Kubectl命令行方式控制k8s命令格式:kubectl [command] [TYPE] [NAME] [flags]1.创建资源对象.2.查看资源对象3.描述资源对象4.删除资源对象5.执行容器的命令。

2023-06-02 23:15:10 200

原创 高并发,高可用,高性能

比如电商大促,业务在峰值时刻,系统抵挡不住全部的流量时,系统的负载、CPU 的使用率都超过了预警水位,可以对一些 非核心的功能进行降级 ,降低系统压力,比如把 商品评价 、 成交记录 等功能临时关掉。当我们写磁盘的时候实际是写到内存中,当日志文件达到我们的设置阈值,操作系统会将日志写到磁盘中,并将tmpfs中的日志文件删除。互联网高并发流量并不都是纯净的,也有很多恶意流量(比如黑客攻击、恶意爬虫、黄牛、秒杀器等),我们需要设计流量拦截器,将那些非法的、无资格的、优先级低的流量过滤掉,减轻系统的并发压力。

2023-06-02 23:01:21 17

原创 Spring Boo退出时执行方法

SpringApplication会向JVM注册一个关闭钩子(hook),以确保ApplicationContext在退出时正常关闭。可以使用所有标准的Spring生命周期回调(例如DisposableBean接口或@PreDestroy注解)。

2023-03-31 23:15:17 890 1

原创 SpringBoot读取Resources文件

SpringBoot读取文件一般分为两种,一种是获取文件对象(File/URL)另一种是获取文件的流。

2023-03-31 22:58:58 1691

原创 RestTemplate连接池

HTTP协议的长连接和短连接,实质上是TCP协议的长连接和短连接。在HTTP/1.0中默认使用短连接。也就是说,客户端和服务器每进行一次HTTP操作,就建立一次连接,任务结束就中断连接。HTTP/1.1起,默认使用长连接,用以保持连接特性。使用长连接的HTTP协议,会在响应头加入这行代码:Connection:keep-alive.在使用长连接的情况下,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,客户端再次访问这个服务器时,会继续使用这一条已经建立的连接。

2023-03-31 22:37:50 3503

原创 Maven工程打包jar

Maven打包一般可以生成两种包一种是可以直接运行的包,一种是依赖包(只是编译包)。Maven默认打包时jar,如果需要修改其他类型。

2023-03-31 22:30:19 5813

原创 Nginx 负载均衡服务失败场景

nginx可以配置负载均衡,我们可以通过配置实现nginx负载均衡。这里部署了两个服务producter-one和producter-one2。

2023-03-02 22:56:04 2372

原创 Spring Boot 远程调用(HTTP)

使用JDK 1.8中自带的rt.jar包中的java.net中的HttpURLConnection。

2023-03-02 22:19:14 1033

原创 Nginx配置https

然后ls查看。

2023-01-15 22:05:24 86

原创 docker搭建私服镜像库

docker搭建私服镜像库,需要用到registry的镜像。所以首先需要拉去registry镜像,然后创建容器。2.配置daemon.json在daemon.json增加一行ps:linux的daemon.json在/etc/docker/daemon.jsondocker desktop可以直接在setting中修改1、查看API是否可用:curl -I -X GET 192.168.31.228:5000/v2/,返回200 OK代表可用。2、查看所有镜像:curl -X GET 192

2022-12-07 23:08:12 1015

原创 Springboot线程安全

默认下Springboot注入的对象都是单例的,对于全局的共享变量它是线程不安全的(除了注入的HttpServletRequest的对象,它是线程安全的)。 Spring本身并没有解决并发访问的问题。如果bean的范围不是线程安全的(例如定义在controller中的成员变量或者静态变量就是线程不安全的),但其方法包含一些您总是希望安全运行的关键代码或者使用了静态字段需要对其进行并发修改,可以在该方法上使用synchronized关键字。或者使用一些有提供线程安全的集合进行相应的多线程操作(Concurr

2022-12-07 22:48:14 2943

原创 SpringBoot 获取HttpServletRequest

方式二:通过RequestContextHolder手动获取​RequestContextHolder内部是使用ThreadLocal来维护Request的,线程间隔离,所以不存在线程安全问题,这样使用是没有问题的。tomcat是多线线程的,通过@Autowired注入的Request对象虽然看起是一个全局的共享变量,但是它实际上却是线程安全的。Spring底层通过一个代理对象让客户端去操作了ThreadLocal中的request,即每个线程都只操作自己的request,是线程隔离的,所以

2022-12-07 22:34:50 4663

C# 入门经典教程.pdf

C# 入门经典教程,适合初学者,一本很好学习编程的资料

2019-04-21

SQL的几种连接:内连接、左联接、右连接、全连接、交叉连接

SQL的几种连接:内连接、左联接、右连接、全连接、交叉连接

2018-06-09

android 一键锁屏

android 一键锁屏,可以实现的,本人亲自尝试过

2015-10-07

空空如也

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

TA关注的人

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