自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 kotlin中的Sequences(序列)与Iterable(集合)区别

kotlin中的Sequences

2022-10-13 16:06:14 529 1

原创 kotlin中split的坑

kotlin中的split使用的坑

2022-10-12 14:01:46 1049 1

原创 SpringCloud——Stream(学习与使用)

Stream (学习与使用)

2022-07-19 00:36:16 551

原创 SpringCloud——Gateway(服务网关的学习和使用)

Gateway(服务网关的学习和使用)

2022-07-18 16:55:02 627

原创 SpringCloud——Hystrix服务容错(熔断与降级)

Hystrix服务容错(熔断与降级)

2022-07-18 00:26:17 400

原创 spring cloud——feign声明式服务调用

springCloud学习之Feign的学习与使用

2022-07-17 14:23:48 189

原创 Spring Cloud——Consul服务注册中心的介绍安装与使用

springcloud-Consul的介绍,安装,搭建使用

2022-07-16 22:28:12 313

原创 spring cloud——Ribbon的学习笔记以及入门案例

Ribbon的学习笔记

2022-07-16 17:19:10 160

原创 SpringCloud——Eureka解释以及使用

Eureka简单使用demo

2022-07-16 16:06:58 183

原创 整合springboot+kotlin+gradle+jpa的demo学习笔记

springboot+kotlin+gradle+jpa

2022-07-13 19:32:42 364

原创 springboot+kotlin+gradle+hibernate学习笔记

spring boot+kotlin+gradle+hibernate

2022-07-13 16:19:33 503

原创 springboot+kotlin+gradle+jooq的学习笔记

springboot+kotlin+gradle+jooq的demo

2022-07-13 13:49:30 613

原创 docker入门学习笔记

docker基础操作入门笔记镜像操作容器操作数据卷操作(挂载)自定义容器镜像操作列出镜像列表docker images获取新的镜像在这里插入代码片查找镜像在这里插入代码片删除镜像在这里插入代码片用自己jar制作镜像容器操作数据卷操作(挂载)自定义容器...

2022-01-04 15:40:40 663

原创 Mybatis学习笔记

ORM框架Xml中的配置项1) 命名空间要和mapper全限定名一致2) Crud分别为3) 结果集映射标签:id的值要和标签的resultMap属性值一致Mapper接口1) 根据全限定名查找命名空间一致的xml文件2) 根据方法名查找crud标签,方法名和id属性值一致的SQL语句3) 方法参数对应要替换的占位符的值 (xml映射文件,不加parameterType)如果有多个参数,方法参数加@Param(“变量名”)注解如果是Java对象,作为方法参数,对象属性名绑定占位符变量名

2021-08-18 16:07:59 85

原创 ThreadLocal学习笔记

概念ThreadLocal 用于提供线程局部变量,在多线程环境可以保证各个线程里的变量独立于其它线程里的变量。也就是说 ThreadLocal 可以为每个线程创建一个【单独的变量副本】,相当于线程的 private static类型变量。ThreadLocal 的作用和同步机制有些相反:同步机制是为了保证多线程环境下数据的一致性;而ThreadLocal 是保证了多线程环境下数据的独立性。简单使用public class Test { private static String commStr;

2021-08-16 13:18:43 114

原创 AOP面向切面编程

概念:AOP(Aspect Oriented Programming)称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等等。AOP利用一种称为"横切"的技术,将那些影响了多个类的公共行为封装到一个可重用模块,并将其命名为"Aspect",即切面。使用"横切"技术,AOP把软件系统分为两个部分:核心关注点和横切关注点。业务处理的主要流程是核心关注点,与之关系不大的部分是横切关注点。横切关注点的一个特点是,他们经常发生在核心关注点的多处,而各处基本相似,比如权限认证、日

2021-08-15 11:57:06 98

原创 SpringMVC学习笔记

文章目录概述和设计模式介绍@Controller@RequestMapping@ResponseBody控制器方法的返回String返回类型返回普通的Java类型返回ResponseEntity控制器方法支持的参数类型@PathVariable@RequestParamPOJO对象@RequestBody@RequestPartSpringMVC自定义配置自定义后端路径映射自定义Controller拦截器@ControllerAdvice应用一:统一异常处理应用二:响应数据格式的统一封装概述和设计模式介绍

2021-07-14 08:05:05 267 1

原创 牛客剑指offer 剪绳子

文章目录题目描述解题思路代码示例题目描述给你一根长度为n的绳子,请把绳子剪成整数长的m段(m、n都是整数,n>1并且m>1,m<=n),每段绳子的长度记为k[1],…,k[m]。请问k[1]x…xk[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。题目链接解题思路一个整数先把他分成两部分,x+y=n(假设x>=y并且x-y<=1,也就是说x和y非常接近)那么乘积是xy。然后我们再把这两部分的差放大

2021-07-07 12:45:26 98

原创 牛客剑指offer 机器人的运动范围

文章目录题目描述解题思路代码示例题目描述地上有一个rows行和cols列的方格。坐标从 [0,0] 到 [rows-1,cols-1]。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于threshold的格子。 例如,当threshold为18时,机器人能够进入方格[35,37],因为3+5+3+7 = 18。但是,它不能进入方格[35,38],因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?范围:1 <=

2021-07-07 11:54:23 104

原创 Spring Framework学习笔记

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录Spring Framework背景及简介子模块简介Core Container(核心容器)简介IoCDISpring容器使用流程开发步骤初始化/注册Bean获取Bean的方式依赖注入Bean的作用域Bean的生命周期(面试题)Spring Framework背景及简介对于 Java 编程来说,使用 Spring 能完成的更加快速,更容易并更安全。Spring 专注于速度,便捷与开发效率,也正是如此,让Spring成为了全世

2021-07-07 09:17:34 190 2

原创 剑指offer 序列化二叉树

题目描述请实现两个函数,分别用来序列化和反序列化二叉树,不对序列化之后的字符串进行约束,但要求能够根据序列化之后的字符串重新构造出一棵与原二叉树相同的树。二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树等遍历方式来进行修改,序列化的结果是一个字符串,序列化时通过 某种符号表示空节点(#),以 ! 表示一个结点值的结束(value!)。二叉树的反序列化是指:根据某种遍历顺序得到的序列化字

2021-06-28 14:39:32 77 1

原创 剑指offer 矩阵中的路径

题目描述请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如 矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个字符b占据了矩阵中的第一行第二个格子之后,路径不能再次进入该格子。题目链接解题思路首先二维数组遍历,就可以想到使用搜索了,这个题目需要一步一步的匹配,就是后面的

2021-06-28 12:09:34 79 1

原创 剑指offer 按之字形顺序打印二叉树

题目描述请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。题目链接解题思路首先可以看到,返回的是一个顺序表,接着我们可以采取层序遍历的方式,每一层构建一个顺序表加入到最终返回的顺序表中,但是这样得到的顺序表只有偶数层是正确的,奇数层是反着的,所以就需要对奇数层进行操作,代码一是自己写的操作,代码二是使用库函数的操作。代码示例import java.util.ArrayList;/*public

2021-06-24 10:36:24 82

原创 剑指offer 二叉树的下一个结点(Java)

题目描述给定一个二叉树其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的next指针。下图为一棵有9个节点的二叉树。树中从父节点指向子节点的指针用实线表示,从子节点指向父节点的用虚线表示示例:输入:{8,6,10,5,7,9,11},8返回:9解析:这个组装传入的子树根节点,其实就是整颗树,中序遍历{5,6,7,8,9,10,11},根节点8的下一个节点就是9,应该返回{9,10,11},后台只打印子树的下一个节点,所以只会打印9,如

2021-06-21 20:09:26 74

原创 剑指offer 表示数值的字符串(Java)

文章目录题目描述解题思路代码示例题目描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100",“5e2”,"-123",“3.1416"和”-1E-16"都表示数值。 但是"12e",“1a3.14”,“1.2.3”,"±5"和"12e+4.3"都不是。题目链接解题思路由题我们可以看出,这里我们需要的是遍历一个字符串,由于这里的数字加有”E“和“±.”,并且像“E .”这些只能出现出现一次,并且“E”不能出现在最后比如12E,就不符合,并且E的后面是不能有“.”的

2021-06-21 10:25:32 72

原创 多线程学习 各种锁类型与对比 lock

悲观锁,乐观锁悲观锁:悲观的方式看待临界资源(多线程共享变量)线程安全问题。背景:大多数情况下,同一个时间点,常常有多个线程竞争同一把锁实现:竞争同一把锁失败的线程,阻塞的方式等待锁的释放乐观锁:乐观的方式看待临界资源线程安全问题背景:大多数情况下,同一个时间点,常常只有一个线程竞争同一把锁实现方式:直接对临界资源进行修改(Java层面看起来是无锁的操作),没有线程安全问题(没有其他线程并发修改),直接修改成功,如果存在线程安全问题,修改失败,代码上,表现为返回值BooleanCAS什么是C

2021-06-18 10:35:25 409 1

原创 多线程学习 线程池笔记

作用池的概念,属于设计模式中享元模式(不用反复创建对象,可以复用)线程的创建,销毁都是比较消耗资源的,代价比较大降低资源消耗:通过重复利用已创建的线程降低线程创建和销毁带来的消耗。提高响应速度:当任务到达时,任务可以不需要等待线程创建就能立即执行。提高线程的可管理性:使用线程池可以统一进行线程分配、调度和监控。jdk线程池ThreadPoolExecutor,每个参数的含义4种快捷方式创建线程池,每一种的含义,它们的局限性static ExecutorService newCached

2021-06-17 09:24:42 145

原创 多线程学习 线程通信

hahaha

2021-06-16 19:01:32 92

原创 单例模式的几种实现方式

单例模式介绍属于设计模式的一种,不是Java独有,一种类型,为其他调用方提供本类的实例对象,始终都是同一个对象使用场景使用jdbc操作数据库的时候,此时数据库连接可以通过数据库连接池来获取,为了防止出现多个对象操作数据库,产生并发执行事务,就会产生一系列的问题,这里最好的就是让操作直接串行化,就可以避免这所有的问题了,那怎么串行化,只有一个对象来进行操作,肯定也就只能依次操作了,实现方式设计思想就是两个:1)私有的构造方法(外部就不能new了,否则就不是同一个对象了)2)内部构造同一个对象,提

2021-06-10 21:41:25 219 1

原创 多线程学习 线程安全 synchronized volatile

线程安全代码层面上:多个线程对同一个共享数据的操作(读,写),如果有写操作,就存在线程安全问题底层的原因:原子性,可见性,有序性原子性一系列的操作(多行指令之间),需要具有不可分割的特性,即为原子性如果可以被分割,指令之间,可以有其他线程并发执行的操作,对同一个共享变量操作就会产生影响特殊的非原子性操作:n++,n–,++n,–n1.从主存把数据读到CPU (读)2.进行数据更新 (改)3.把数据写回到CPU主存 (写回)一行new对象的代码,分解为:1.分配内存空间(Java虚拟机)

2021-06-09 23:11:50 142 2

原创 多线程学习 线程创建,启动,中断,等待

多线程产生的背景,作用为了提升效率,尽可能的充分利用CPU资源,提高整体性能(总任务量恒定时,完成时间越小,性能越好)使用时的注意事项:性能相关,系统资源,任务量(总任务量,单个任务量)线程数总的一句话就是,在保证线程安全的情况下,尽可能的提高效率多线程效率总任务量=单个线程任务量*线程数线程数量越多,系统一次调度耗时越长,数量数越多,单个线程任务量越少,相对来说,线程创建,和调度的耗时占比就比较大如何确定执行任务的线程数?如何该进程是想占有所有的系统资源,把CPU打满1.如果每个线程都是

2021-06-07 22:51:24 136 2

原创 进程和线程 并发和并行

进程和程序的区别程序:静态的硬盘上的一个可执行文件,.exe可执行文件,就是一个程序进程:程序运行起来之后,就是一个进程(由系统管理起来的)是动态的,是系统分配资源(CPU资源,内存)的最小单位进程运行:一个程序(静态的硬盘中的可执行文件),系统加载到内存中执行(分配内存,调度CPU来执行程序代码),最终运行起来作为一个进程进程和线程的区别1.进程是包含线程的(一个进程可以只包含一个线程,也可以包含多个线程,多个线程之间共享同一块内存资源~)2.线程相比于进程更轻量创建出来的新线程和之前的线程共

2021-06-02 22:36:22 279 1

原创 浏览器输入一个url后发生的事情 ARP和NAPT

基于DNS,域名解析,默认80端口源主机基于TCP4层模型,封装数据(三次握手涉及客户端发送2次数据到服务端,和真正的数据传输流程一样)封装数据时,涉及目的IP计算是否和本机同一个网段(用子网掩码计算),往网关发送数据,使用ARP缓存表,用网关IP找到mac地址网关(这里就先以路由器为例),接收数据分用,再封装,封装时修改的一些内容后续的每一跳,都是改源mac和目的mac(分用,封装)到达最终服务端,发现目的IP和服务器IP一样,接收数据,交给对应端口的进程web服务器web服务器分用HTT..

2021-05-27 16:58:22 237

原创 TCP提供的可靠传输机制/原理,浅谈TCP和UDP的区别

TCP和UDP的区别:UDP是无连接,不可靠的,效率更高;TCP是有连接,可靠传输,效率相对于UDP更差UDP是面向数据报(一次发,一次收);TCP是面向字节流(多次发,多次收)UDP有接收缓冲区,没有发送区;TCP两者都有UDP数据大小受限,TCP大小不限TCP提供了很多可靠的传输机制TCP可靠性的机制确认应答超时重发连接管理这三个我的前一篇文章提到了,这里就不再赘述了https://blog.csdn.net/weixin_45070922/article/details/11

2021-05-26 11:21:14 680 2

原创 TCP和UDP 三次握手,四次挥手

端口号 在TCP/IP协议中, 用 "源IP", "源端口号", "目的IP", "目的端口号", "协议号" 这样一个五元组来标识一个通信(可以通过netstat -n查看)——(这里的协议是应用层协议);0 - 1023: 知名端口号, HTTP, FTP, SSH等这些广为使用的应用层协议, 他们的端口号都是固定的.1024 - 65535: 操作系统动态分配的端口号. 客户端程序的端口号, 就是由操作系统从这个范围分配的.一个进程是否可以绑定多个端口号?可以绑定多个端口号一个端口

2021-05-25 18:37:15 277 3

原创 OSI七层模型 与TCP/IP五层模型

OSI七层模型(自上而下)TCP/IP五层模型(自上而下)

2021-05-24 22:30:53 908 11

原创 JDBC编程的步骤

JDBC,即Java Database Connectivity,java数据库连接。是一种用于执行SQL语句的Java API,它是Java中的数据库连接规范。这个API由java.sql.,javax.sql. 包中的一些类和接口组成,它为Java开发人员操作数据库提供了一个标准的API,可以为多种关系数据库提供统一访问。JDBC访问数据库层次结构:1.创建数据库连接Connection一种是通过DriverManager(驱动管理类)的静态方法获取:// 加载JDBC驱动程序Class.f

2021-05-05 17:00:57 1150 5

原创 cookie与session

Cookie标准的请求头: Cookie:键=值标准的响应头:Set-Cookie:键=值作用:cookie是保存信息用的(客户端本地,和浏览器相关的文件夹)应用场景:用户免登陆(remember me)1.输入账号密码,勾选免登陆2.点击登陆按钮,发送HTTP请求,服务端返回HTTP响应 (Set-Cookie:用户信息)3.浏览器自动保存,“用户信息”在本地磁盘以后的每次请求,请求头都携带Cookie:用户信息(即便关掉浏览器,再访问这个url,也会携带)4.访问登陆页面,服务端

2021-05-04 20:16:27 122

原创 (动态网页内容)Ajax异步请求的基本原理简介

Ajax异步请求是前后端分离的,前端负责写HTML和js,后端只需要提供数据就好了这里实现Ajax的前提就是,网页和数据之间是分开的,两者都是单独请求网页还是纯HTML的请求方式数据使用Ajax异步请求的方式假设有一个网页,点一下回车,发起一个请求,这个请求不返回一个HTML内容,只返回数据,前端就会拿到这些数据进行解析,然后进行填充,用前端的js代码,把前端的HTML文档的一部分内容,给改掉;所以说这里面的请求过程就可以用下面的这个图来解释。...

2021-05-04 11:06:47 237

转载 剑指offer 和为S的连续正数序列

题目描述小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列?题目链接解题思路直接可以采取穷举,从一开始往上加加到等于了,就把这些数字加入到目标序列,要是大于了,那就重新开始;代码示例import java.util.ArrayL

2021-04-27 15:03:59 101

空空如也

空空如也

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

TA关注的人

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