自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

学习笔记。

学习笔记。

  • 博客(221)
  • 收藏
  • 关注

原创 SQL注入原理以及优化方式

SQL注入原理一般用户登录用的SQL语句为:SELECT * FROM user WHERE username=‘admin’ AND password=‘passwd’,此处admin和passwd分别为用户输入的用户名和密码,如果程序员没有对用户输入的用户名和密码做处理,就可以构造万能密码成功绕过登录验证,如用户输入’or 1#,SQL语句将变为:SELECT * FROM user WHERE username=’‘or 1#’ AND password=’’,‘’or 1为TRUE,#注释掉后面.

2021-05-31 20:17:14 202

原创 Spring IOC知识点

程序的耦合 耦合:程序间的依赖关系 包括: 类之间的依赖 方法间的依赖 解耦: 降低程序间的依赖关系 实际开发中: 应该做到:编译期不依赖,运行时才依赖。 DriverManager.registerDriver(new com.mysql.jdbc.Driver());这样写就是编译器就依赖 Class.forName("com.mysql.jdbc

2021-05-31 20:15:49 275

原创 Lamda表达式

例:为什么需要Lambda表达式package com.fwb.LambdaTest;import static java.lang.System.*;/** * @author fengweibo * @version 1.0 * @date 2021/5/19 20:25 */public class Test1 { public static void main(String[] args) { //普通实现 LikeIMpl likeIMp..

2021-05-19 21:58:01 114

原创 Java内部类

内部类概述成员内部类:局部内部类匿名内部类匿名内部类是一种特殊的局部内部类,他的本质是一个对象,继承了这个类或者接口(例子中的Inter类或者Inter接口)例子中的Inter()是一个类或者接口,里面重写了一个show方法。new的这个对象没有名字。前提:存在已有的接口匿名内部类使用匿名内部类当一个方法的参数是接口名,其实需要传的是该接口的实现类对象接口:接口实现类:类:测试类:如果,此时需要狗或者其他的动物跳,就还需要再创建对应的实现类,去实现Jump

2021-05-18 16:57:48 82

原创 反射xxxx

例:JS中字符串变成了数字

2021-05-11 09:44:21 84

原创 【SpringBoot】自动配置原理学习总结

1. 自动配置以一个SpringBoot的HelloWorld Web项目为例它主要为我们配好了以下这些东西:1.1 自动配好Tomcat配置tomecat分为了两步:引入Tomcat依赖,这一步SpringBoot的依赖管理实现的,引入了spring-boot-starter-web依赖,就自动引入了spring-boot-starter-tomcat依赖。配置Tomcat1.2 自动配好SpringMVC引入SpringMVC全套组件自动配好SpringMVC常用组件(

2021-04-25 18:31:10 611

原创 【SpringBoot】@Conditional

条件装配:当满足Conditional指定的条件,则进行组件注入:例如:ConditionalOnBean,当容器中有某个组件的时候,才会做某些行为。例如:当容器中有Tom这个组件的时候才会给容器中注册user01这个组件当写在整个类的上面时:只有类中有一个组件名叫tom,类中的行为才会被实现(注册user01、tom组件),这种情况下tom、user01组件都不会被注册。ConditionalOnMissBean,当容器中没有有某个组件的时候ConditionalOnClass,当容器

2021-04-24 17:45:07 565

原创 【SpringBoot】Import注解

@Import({User.class, DBHelper.class})给容器中自动创建出这两个类型的组件、默认组件的名字就是全类名下面的类中我们加上了@Import注释,同时又自己创建了一个user01这个组件。以及使用.xml文件方式注册的组件,共有3个User类型的组件主程序中运行的测试代码:结果:共有3个User类型的组件,1个DBHelper类型的组件,其中名称为全类名的组件是Import注解创建的。...

2021-04-22 21:39:21 146

原创 原生应用上云所面临的问题

• 服务自愈甲乙丙是哪个服务顺序调用,丙服务部署在2台服务器上,当其中一台服务器挂掉的时候,需要及时的再调用一台服务器,保证丙服务正常运行。• 弹性伸缩如果突然有大量流量进入,甲乙对丙服务的调用增大,但是丙只有2台服务器,需要及时扩充新的服务器,保证丙服务正常运行。流量高峰过去后,能否及时下线,保证资源不浪费。• 服务隔离丙服务在A服务器部署,丁也在A服务器,当丁服务出现问题的时候,需要做到不影响丙服务。• 自动化部署一个服务需要部署大量服务器时,人工部署容易出问题且效率低,需要做到自动化部署

2021-04-16 15:06:43 338

原创 SpringBoot+SpringCloud对微服务与分布式的支持

In short, the microservice architectural style is an approach todeveloping a single application as a suite of small services, eachrunning in its own process and communicating with lightweightmechanisms, often an HTTP resource API. These services are bu.

2021-04-16 15:06:17 165

转载 【算法】java源码Integer.bitCount算法解析,分析原理(统计二进制bit位)

https://segmentfault.com/a/1190000015763941https://graphics.stanford.edu/~seander/bithacks.html

2021-03-22 16:00:20 234

转载 【Java】接口和抽象类存在的意义和适用场景以及为什么要使用接口

https://blog.csdn.net/qq_37766026/article/details/90702387?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&dist_request_id=1328626.8063.16153461023380279&depth_1-utm_source=distribute.pc_relevant.none-task

2021-03-10 15:31:52 243

转载 【Java】JVM、JRE、JDK区别与联系

什么是JVM?什么是JDK? 什么是JRE?JVM :JVM是Java Virtual Machine(Java虚拟机)的缩写,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行,也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。JVM是Java平台的基础,和实际的机器一样,它也有自己的指令集,并且在运行时操作不同的内存区域。 JVM通过抽象操作系统和CPU结构,

2021-02-26 18:40:21 154

转载 【Mark】Spring boot参考指南

SpringBoot参考指南

2021-02-26 17:57:04 116

原创 【Java】Jar包与War包的区别

JAR包:JAR包是类的归档文件,JAR 文件格式以流行的 ZIP 文件格式为基础。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。WAR包:WAR包是JavaWeb程序打的包,WAR包里面包括写的代码编译成的class文件,依赖的包,配置文件,所有的网站页面,包括html,jsp等等。一个WAR包可以理解为是一个web项目,里面是项目的所有东西。注:spring boot打的jar包自带tomcat容

2021-02-26 17:55:34 203

转载 Master-Slave模型是什么?

https://www.jianshu.com/p/8cda3202c80dhttps://www.jianshu.com/p/6ec115eac1a3

2021-02-22 14:12:40 582

转载 【Flink】StreamExecutionEnvironment

StreamExecutionEnvironment

2021-02-20 18:18:09 1033

原创 【Java】判断是否是Json格式

import com.google.gson.JsonElement;import com.google.gson.JsonParser;public class Test { public static void main(String[] args) { System.out.println(validate("{\"123\":\"123\"}")); }//如果是Json格式返回True,不是返回False public static boolean

2021-02-20 15:59:11 489 2

原创 【正则表达式】matcher.group()方法的使用

public class MailTest{ public static void main(String[] args) throws Exception{ String regEx = "count(\\d+)(df)"; String s = "count000dfdfsdffaaaa1"; Pattern pat = Pattern.compile(regEx); Matcher ma

2021-02-07 18:21:57 11953 2

原创 【正则表达式】贪婪匹配与非贪婪匹配

例:匹配输入串A: 101000100贪婪匹配:使用 1.*1 将会匹配到1010001非贪婪匹配:使用 1.?1 将会匹配到101

2021-02-07 17:58:01 4228

原创 java.lang.RuntimeException: Cannot reconnect.

清空IDEA缓存重启。

2021-01-27 10:03:35 6583

转载 OkHttp 里面配置 HTTP Basic Auth

https://blog.csdn.net/qq_17775871/article/details/80761961

2021-01-25 14:55:01 1158

原创 【SpringBoot】Web开发——Rest请求

1.请求映射在做所有Web开发之前,编写一个@RestController代码,在所有的方法前面使用@RequestMapping注解说明此方法能处理什么请求,这个过程称为请求映射。2.Rest风格Rest风格支持(使用HTTP请求方式动词来表示对资源的操作)• 以前:/getUser 获取用户 /deleteUser 删除用户 /editUser 修改用户 /saveUser 保存用户• 现在: /user GET-获取用户 DELETE-删除用户

2021-01-21 18:17:48 356

原创 【SpringBoot】Web开发——设置网页图标Favicon

将一个名为favicon.ico的文件放在默认路径下即可自动访问。Tips测试时发现太大的图片无法成功显示同时即使在后端修改了图标显示,但是如果网页有缓存则无法正常显示,需要禁用缓存。

2021-01-20 19:21:58 771

原创 【SpringBoot】Web开发——静态资源访问

1. 默认只要放在当前路径的/static (or /public or /resources or /META-INF/resources)这几个路径下都可以访问到2. 改变静态资源路径访问前缀:之后想要访问必须加上配置文件中的路径SpringBoot如何知道需要访问的是静态资源而不是请求?测试如下:加入一个与静态资源名称相同的请求结果:可以看到请求进来,先去找Controller看能不能处理。不能处理的所有请求又都交给静态资源处理器。静态资源也找不到则响应404页面。3.

2021-01-18 14:19:00 458

原创 【Java】筛选Ip地址

10.172.(48-50).(1- 254)10.174.(8-15).(1- 254)public static boolean ttt(String temp){ String[] split = temp.split("\\."); if ("172".equals(split[1])){ switch (String.valueOf(temp.length())){ case "11":{

2021-01-14 18:55:10 327

原创 For artifact {org.springframework.boot:spring-boot-starter-web:null:jar}: The version cannot be empt

使用官方实例配置SpringBoot项目时,遇到这种错误。官方示例是这样的:报了这个错误:主要意思是:spring-boot-starter-web版本不能为空。所以只需加上版本号即可。<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <vers

2021-01-08 20:13:09 45953 3

翻译 【Flink】相关概念

1.101.111.12

2021-01-07 15:24:05 135

原创 【Java】时差问题,格林威治时间(GMT)与北京时间转换

格林威治时间加上8h即为北京时间本文以格林威治时间转为北京时间为例,若需将北京时间转为格林威治时间只需将文中+8改为-8即可1. 时间格式为:2021-01-04T04:16:23.609Z此处T为分隔符,Z为时区package org.example;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;//时间格式为:2021-01-04T22:15:0

2021-01-05 16:53:18 7333 3

原创 【Flink】Checkpoint机制

StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();// 每 60s 做一次 checkpointenv.enableCheckpointing(60000);// 高级配置:// checkpoint 语义设置为 EXACTLY_ONCE,这是默认语义env.getCheckpointConfig().setCheckpointingMode(CheckpointingM

2020-12-28 17:06:14 1257

原创 【问题】 Cannot Download Sources /Sources not found for:

使用更新的pom依赖版本(亲测可用)1.9.1-mdh1.9.1.0更新为1.9.2-mdh1.9.2.0版本后问题解决。

2020-12-14 14:58:51 1114

原创 【MQ】常见的几种消息队列及其特点

三、常见的几种消息队列及其特点当前生产环境,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等。1. ActiveMQ:ActiveMQ是Apache出品,最流行的,能力强劲的开源消息总线,并且它一个完全支持JMS规范的消息中间件。其丰富的API、多种集群构建模式使得它成为业界老牌消息中间件,在中小型企业中应用广泛。但是其性能稍差,在面对高并发的情况下,会出现消息阻塞、堆积、延迟等问题。2. KafkaKafka是LinkedIn开

2020-12-10 17:37:07 6002 2

原创 【MQ】消息队列的优缺点

消息队列的优缺点1.优点上文已经提到的解耦、异步、削峰2.缺点系统可用性降低引入的外部依赖越多越容易出现问题,本来A系统调用BCD三个接口就够了,但是加入MQ后,就必须考虑到MQ的可用性问题,防止MQ出现问题。如何保证高可用?系统复杂度提高加入MQ后就必须考虑到消息是否有重复消费的问题,以及消息丢失后如何处理,消息传输的顺序性问题等等各种各样的问题。如何保证消息不被重复消费?如何保证消息不丢失?数据一致性问题A系统处理完后返回成功,之后由MQ向BCD中写入数据,若是BC写

2020-12-10 17:22:23 263 1

原创 【MQ】为什么要使用消息队列

https://my.oschina.net/hunglish/blog/1524542

2020-12-10 17:21:43 311 1

原创 【错误】class path resource [bean1.xml] cannot be opened because it does not exist

使用Maven创建SpringBoot时出现了这样的错误:此时的项目结构是这样的:可以看到bean1.xml文件是在src.main.java下。解决方法:需要在src.main包下创建一个resources包,将bean1.xml文件放到这个位置。项目成功执行。注:.xml路径应该这样写...

2020-12-10 11:32:51 1937 1

原创 【MQ】如何保证消息可靠性传输/如何处理消息丢失的问题?

数据的丢失问题,可能出现在生产者、MQ、消费者中,下文以RabbitMQ与Kafka为例分析。一、RabbitMQ1.生产者弄丢了数据生产者将数据发送到 RabbitMQ 的时候,可能数据发送途中就因为网络原因丢失。解决方案:事务功能:此时可以选择用 RabbitMQ 提供的事务功能,就是生产者发送数据之前开启 RabbitMQ 事务channel.txSelect,然后发送消息,如果消息没有成功被 RabbitMQ 接收到,那么生产者会收到异常报错,此时就可以回滚事务channel.txR

2020-12-09 17:59:36 442

原创 【MQ】如何保证消息不被重复消费/如何保证消息的幂等性?

如何保证消息不被重复消费?或者说,如何保证消息消费的幂等性?首先,比如 RabbitMQ、RocketMQ、Kafka,都有可能会出现消息重复消费的问题,正常。因为这问题通常不是 MQ 自己保证的,是由我们开发来保证的。以Kafka为例说明为什么会导致数据重复。Kafka 实际上有个 offset 的概念,就是每个消息写进去,都有一个 offset,代表消息的序号,然后 consumer 消费了数据之后,每隔一段时间(定时定期),会将自己消费过的消息的 offset 提交一下,表示下次消费从offset

2020-12-09 16:34:48 3135

转载 【Java】notify()会立刻释放锁么?

https://www.jianshu.com/p/ffc0c755fd8d

2020-12-08 16:24:10 372

转载 【Flink】推荐两个不错的flink项目

https://www.jianshu.com/p/0460b336855a

2020-12-08 16:22:12 551

原创 【MQ】如何保证RabbitMQ/Kafka的高可用

一、RabbitMQ的高可用RabbitMQ基于主从模式实现高可用。它有三种模式:单机模式,普通集群模式,镜像集群模式。单机模式单机模式就是demo级别的,生产中不会有人使用。普通集群模式普通集群模式就是在多台机器上启动多个rabbitmq实例,每个机器启动一个。但是创建的queue只会放在一个rabbitmq实例上面,但是其他的实例都同步了这个queue的元数据。当用户消费的时候,如果连接到了另一个实例,RabbitMQ会从拥有queue的那个实例获取消息然后再返回给用户。这种方式并没有做到

2020-12-08 15:05:54 254

MK笔记.zip

MK笔记.zip

2023-10-12

空空如也

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

TA关注的人

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