自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 获取请求的出口IP

【代码】获取请求的出口IP。

2022-09-22 20:09:23 449 1

原创 redisson分布式锁的使用

【代码】redisson分布式的使用。

2022-09-22 19:56:20 340

原创 IDEA 的使用

maven时间:访问http://maven.apache.org/docs/history.html可查找发布时间在IDEA之前的版本,访问MAVEN下载地址 https://maven.apache.org/download.cgi#拉到底下,点击archives进入历史版本下载界面。file -> setting -> Appearance & Behavior -> System Setting -> Reopen last project on startup 去掉默认勾选。......

2022-08-28 09:45:46 111

原创 类、实例的加载、初始化

实例初始化就是执行()

2022-07-29 14:06:34 175

原创 dubbo(一)

dubbo 是ali贡献给apachedubbo特性:-> java -Ddubbo.protocol.port=20880-> dubbo.xml/application.xml-> dubbo.properties优先精确优先 -》 方法-》接口 -》全局配置如果级别一样, consumer -> producer服务提供者多个版本服务消费者可以配置与之对应的版本号,则对应版本消费,服务消费者版本号配置为*,则随机调用—: 在调用远程服务之前,本地先进行验证等操作注册中心宕机,服务提供者和服

2022-07-11 10:22:34 67

原创 mybatis

mybatis是一个半ORM框架,它内封装了JDBC、加载驱动、创建连接、创建会话等繁杂的过程,让开发者开发时只关注如何编写SQL语句,可以严格控制sql执行性能,灵活度高。优点:1、与JDBC相比,内部封装了JDBC、加载驱动、创建连接、创建会话等繁杂的过程,是基于sql的编程,简化工作,同时接触了sql和程序代码的耦合。2、与ORM框架相比,SQL可控,更灵活。缺点:1、需要编写sql语句,对开发人员的编写sql区别:MyBatis的#{}之所以能够预防SQL注入是因为底层使用了Prepar

2022-07-06 10:10:21 108

原创 系统设计原则

系统设计原则1、系统的安全性2、系统的性能3、系统的高可用性4、扩展性5、可运维6、合规性7、全球化性

2022-06-14 09:49:29 251

原创 设计模式原则

无设计模式,不面向对象

2022-06-14 09:43:56 62

原创 docker

一次封装,处处运行。解决了运行环境和配置问题的软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术。好处:镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需要的所有内容,包括代码、运行时所需的库、环境变量和配置文件。–volume-from 容器间通讯docker run -it --name dc02 --volume-from dc01 zzyy/centos *有继承关系的容器间,数据卷均会双向绑定11、dockerfile

2022-06-12 11:52:09 80

原创 SpringBoot

Springboot的哲学就是约定大于配置,是为了简化Spring配置的快速开发整合包,主要实现三大功能:a.通过starter和依赖管理解决依赖问题(通过maven子父工程的方式)b.通过自动配置,解决配置复杂问题c.通过内嵌web容器,由应用启动tomcat,而不是tomcat启动应用,来解决部署运行问题。Springboot 通过引入starter 依赖包,实现与各种组件的融合。SpringBoot 拥有很多可以方便使用的Starter,比如Spring-boot-starter-log4j等,

2022-06-12 11:50:22 71

原创 Spring

Spring 是一个轻量级的控制反转IOC和面向切面AOP的容器框架。主要作用是实现解耦。核心的IOC容器技术,管理依赖的对象,不需要程序员创建和管理依赖的对象,从而实现层与层之间的解耦。核心的AOP技术:方便我们将一些非核心业务逻辑抽离,从而实现核心业务和非核心业务的解耦。BeanFactory是个Factory,也就是IOC容器或者对象工厂,FactoryBean是个Bean。在Spring中,所有的Bean都是由BeanFactory(也即是IOC容器)来管理的,但对Factorybean来说,它

2022-06-11 22:42:51 497

原创 Spring 、SpringBoot、SpringMVC、SpringCloud 概念

Spring 系列

2022-06-11 20:33:08 1698

原创 ngnix 基础概念

是一个轻量级/高性能的反向代理web服务器,它实现非常高效的反向代理、负载均衡、动静分离;可以处理2~3万并发连接数,官方监测能支持5W并发。时间处理机制:异步非阻塞机制,运用了epoll模型。ngnix接受一个请求后,首先由listen和server_name指定匹配的server模块,再匹配server模块里的location,location就是实际地址。ngnix可以作为反向代理服务器,配置简单、不对客户端暴露正式服务器的IP地址,实现后端服务器的负载均衡。*正向代理是客户端假设的服务器,反向代理

2022-06-08 12:19:00 175

原创 something about jvm

文章目录JVM1、虚拟机组成部分:2、如何查看JVM的系统默认值3、根搜索算法:GCroot 根:4、引用类型5、GC过程5、jvm常用指令6、arthas jvm 调优工具7、GC算法8、垃圾收集器8.1 分类8.2.7 G1垃圾回收器9、JVM调优思路 todo10、JVM生命周期11、jvm相关错误12、JITJVM1、虚拟机组成部分:运行时数据区堆栈、本地方法栈方法区(元空间)程序计数器类装载子系统字节码执行引擎2、如何查看JVM的系统默认值第一种: jps 查看正在

2022-05-17 06:48:43 85

原创 mysql

]Mysql索引的数据结构:用的是B+树。二叉树:树的高度不受控红黑树:树的高度不受控制数据库引擎是形容数据库表的。innoDB的主件索引结构叶子节点存储的是主键值和记录。非主件索引结构的叶子节点存储的索引值和主键值。使用Innodb索引,要求表的数据用B+树来组织,索引要求数据库表必须有主键。如果没有指明主键,系统会从数据库表的第一列开始查找能建唯一索引的列来建创建唯一索引结构来存储数据,如果找不到这样的列,数据库管理系统会生成一个隐藏列来保证该列的唯一性,以该列来做唯一索引保存数据。索引为

2022-05-17 06:43:42 290

原创 springboot启动流程

springboot启动流程文章目录springboot启动流程1、创建SpringApplication实例2、运行SpringApplication1、创建SpringApplication实例保存一些信息:包括保存主配置类等信息判断当前应用类型去spring.factory文件中找org.springframework.boot.Bootstraper, 初始化启动引导器去spring.factory文件中找ApplicationContextInitializer,容器初始化器去s

2022-03-21 06:46:56 303

转载 java并发编程:volatile关键字解析(转载)

java并发编程:volatile关键字解析文章目录1.内存模型的相关概念2.并发编程中的三个概念2.1.原子性2.2.可见性2.3.有序性3.JMM java内存模型3.1 原子性3.2.可见性3.3.有序性4.深入剖析volatile关键字4.1.volatile关键字的两层语义4.2.volatile保证原子性吗?4.3.volatile能保证有序性吗?4.4.volatile的原理和实现机制5.使用volatile关键字的场景5.1.状态标记量5.2.double check1.内存模型的相关概

2022-02-16 10:14:33 76

原创 nacos概述

文章目录1、nacos2、主流的配置中心3、主流的服务发现4、微服务架构1、nacosnacos 是阿里的开源项目,应用于微服务,微服务是将单体应用拆分成一个个服务节点,nacos主要功能是服务发现和微服务的配置集中管理。nacos的四大功能:服务发现与服务健康检查nacos使服务更容易注册,并通过DNS或HTTP接口发现其他服务,nacos还提供服务的实时健康检查。以防止向不健康的主机或者服务实例发送请求。动态配置管理动态配置服务允许用户在所有环境中以集中和动态的方式管理所有服务的配置。N

2022-02-14 17:15:09 7456

原创 java 单例模式

Singleton:在Java中即指单例设计模式,它是软件开发中最常用的设计模式之一。单:唯一例:实例单例设计模式,即某个类在整个系统中只能有一个实例对象可被获取和使用的代码模式。常见方式1. 饿汉式:直接创建对象,不存在线程安全问题- 直接实例化饿汉式(简洁直观)```java/*** 1、构造器私有化* 2、自行创建、并用静态变量保存* 3、向外提供这个实例* 4、强调这是一个单例、可以用final修饰*/public class Singleton {public s

2022-01-05 10:10:30 256

原创 redis6

文章目录NoSQL与redis61、概述2、特点3、使用场景4.常见Nosql5、Redis 介绍6、常用数据类型6.1 Key6.2 String6.2.1 常用命令6.2.2 数据结构:6.3 列表(List)6.3.1 常用命令6.3.2 数据结构6.4 集合(Set)6.4.1 常用命令6.4.2 数据结构6.5 哈希(hash)6.5.1 常用命令6.5.2 数据结构6.6 有序集合(Zset)6.6.1 常用命令6.6.2 数据结构6.7 Bitmaps6.7.1 常用命令6.8 HyperLo

2021-12-26 15:42:39 567

原创 mybatis-plus 使用及常见问题

文章目录1、mybatis-plus 使用示例1.1 依赖1.2 数据库配置1.3 实体对象1.4 业务Serrvice1.4.1 使用Wrapper,对应的查询方法是BaseMapper中有的方法, 也可以自定义方法,在StandardRecordMapper添加接口方法,SQL语句在对应的xml文件中自定义1.5 Mapper1.6 StandardRecordMapper.xml2 分页查询示例2.1 增加配置2.2 业务代码1、mybatis-plus 使用示例1.1 依赖<!--myb

2021-12-14 16:36:29 2279

原创 解析Excel文件工具类

解析Excel文件工具类依赖<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.15</version></dependency>工具类代码package com.commom;import org.apache.poi.xssf.userm

2021-12-14 10:11:39 395

原创 Springboot提供文件的上传、下载、预览接口

Springboot提供文件的上传、下载、预览接口文件上传@PostMapping("/upload/tocheckfile")public JSONObject upload(@RequestPart("uploadFile") MultipartFile file){ JSONObject response = new JSONObject(); try { FilesUtils.uploadFile(file, toCheckFileDir);

2021-12-14 09:57:17 659

原创 Spring Aop 打印controller的输入输出

文章目录1.引入依赖2.切面3 、相关知识点3.1 常用的切点标识符3.2 通知类型3.3 底层原理3.3.1 JDK动态代理3.3.2 CGLIB关于切面:Spring AOP 使用示例:使用AOP打印所有controller接口得输入输出打印。1.引入依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-paren

2021-12-14 09:32:51 615

原创 LinkedBlockingQueue

LinkedBlockingQueueLinkedBlockingQueue是一个单向链表实现的阻塞队列。该队列按 FIFO(先进先出)排序元素,新元素插入到队列的尾部,并且队列获取操作会获得位于队列头部的元素。LinkedBlockingQueue还是可选容量的(防止过度膨胀),即可以指定队列的容量。如果不指定,默认容量大小等于Integer.MAX_VALUE。数据结构[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uOWCsg2c-1622686600740)(_v

2021-06-03 10:16:59 393

原创 swing-将程序推至系统托盘

swing-将程序推至系统托盘1.关闭弹框系统不退出,而是隐藏到系统托盘frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { toSysTray(); }});退至系统托盘private st

2021-06-03 10:00:22 124

原创 @Value 和@Autowired注入的变量如何被静态方法使用

@Value 和@Autowire注入的变量如何被静态方法使用SpringBoot中使用@Value()@Autowire只能给普通变量注入值,不能直接给静态变量赋值。1.使用@Value给普通的静态变量注入值 // ... private static String dataBaseName; @Value("database.name") public void setDataBaseName(String dataBaseName){ th

2021-06-01 09:12:30 347

原创 java 配置文件

文章目录配置文件1.Springboot读取配置文件1.1 使用@Value 获取简单配置1.2 使用@ConfigurationProperties(prefix = "XXXX")获取复杂配置(即映射成实体类)2.Springboot集成nacos配置中心3.Springboot配置文件优先级4.java 将整个配置文件读取成Proerties配置文件1.Springboot读取配置文件1.1 使用@Value 获取简单配置配置文件: demo.properties/demo.yml#端口配置

2021-05-21 14:58:28 477

原创 springboot开发异常

文章目录1.Plugin 'org.springframework.boot:spring-boot-maven-plugin:' not found1.Plugin ‘org.springframework.boot:spring-boot-maven-plugin:’ not found <plugin> <groupId>org.springframework.boot</groupId>

2021-04-22 09:55:23 104

原创 java 锁

1、悲观锁和乐观锁锁的引入是为了为了解决线程安全的问题。悲观锁从悲观的角度出发,总是假设最坏情况,每次取数据的时候都认为别人会修改,所以每次取数据都会上锁,这样别人想拿数据就会阻塞。Synchronize 就是悲观锁,JDK中的Reentrantlock也是一种悲观锁,性能较差。乐观锁从乐观的角度出发,每次取数据的时候都会认为别人不会修改,但是在更新的时候会判断一下在此期间别人由没有去修改这个数据,如果没人修改侧更新,有人修改则重试。CAS这种机制即为乐观锁。2、SynchronizeSynchr

2021-03-18 10:17:58 68

原创 事务

事务1. 事务的特点(ACID) Atomicity 原子性、Consistency 一致性、Isolation 隔离性、Durability 持久性。原子性:事务是数据库的逻辑工作单位,事务中包含的各操作要么都完成,要么都不完成。一致性:事务一致性是指数据库中的数据在事务操作前后都必须满足业务规则约束。隔离性: 一个事务的执行不能被其它事务干扰。即一个事务内部的操作及使用的数据对其它并发事务是隔离的,并发执行的各个事务之间不能互相干扰。持久性:事务一旦提交,结果便是永久性的。即使发生宕机,

2021-03-18 09:49:27 75

原创 java线程、线程池

Java 线程、线程池1.创建线程的方式一般表述为三种方式:继承Thread、实现Runable接口、实现Callback接口(可以获取线程执行之后的结果)。实际上,后两者只是创建了一个可执行任务,最终还是要用多线程的方式执行。public class HelloWorld { public static void main(String[] args) { DogThread dogThread = new DogThread(); dogThread.sta

2021-03-17 16:42:10 69

原创 Markdown 快速入门

Markdown 快速入门1.代码块// 代码块语法:~~~ Java~~~ shell2.标题// 标题语法# 一级标题## 二级标题### 三级标题#### 四级标题3. 字体样式// 加粗**加粗字体**// 代码高亮显示==高亮的内容==// 删除线~~加上删除线的内容~~//斜体*斜体的内容*4. 引用// 引用语法> 引用第一级>> 引用第二级>>> 引用第三级eg:one level

2021-03-17 14:22:10 72

原创 最长重复子串的算法

public class StrTest {@Testpublic void longDoubSubStr(){ String str = "eabcdabcfeabeabeabeab"; String longDoubSubStr1 = findLongestSubString(str); System.out.println("longDoubSubStr1:"+longDoubSubStr1); String longDoubSubStr2 = findSubSt

2021-01-05 18:42:47 620

原创 kafka常用命令

1.查看所有topic./kafka-topics.sh --zookeeper localhost:2181 --list2.查看所有的消费者组./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list3.查看消费者组的消费情况./kafka-consumer-groups --describe --bootstrap-server localhost:9092 --group test_nhs4.查看分区数和副本数

2020-06-02 15:55:09 163

原创 八皇后问题-递归算法 & 8重循环算法

八皇后问题-递归算法问题描述:在 8×8 格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一列或同一斜线上,问有多少种摆法。递归算法解决思路:1)从第0个皇后在当前行遍历每一列去寻找自己的位置2)如果找到符合要求的位置,即与其他皇后不处在同一列或者同一斜线上,记录下该皇后所在的位置,如果当前皇后为最后一个皇后,否则对下一皇后去寻找位置。3)如果在当前行找不到符合要求的行,则说明上一行的皇后位置安排的不合适,对上一皇后从新安排位置。public class ...

2020-06-02 15:46:23 475

空空如也

空空如也

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

TA关注的人

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