自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java 实用小笔记 (持续更新......)

更新 Bean 对象有时候, 我们不是想返回一个新的 Bean 对象, 而是希望更新传入对象的一些属性。这个在实际的时候也会经常使用到。在 AddressMapper 类中, 新增如下方法 /** * Person->DeliveryAddress, 缺失地址信息 * @param person * @return */ DeliveryAddress person2deliveryAddress(Person person); /*

2022-02-22 20:44:46 769

原创 【个人笔记】消息队列 - RabbitMQ

文章目录1. MQ 的作用1.1 流量消峰1.2 应用解耦1.3 异步处理2. 四大核心概念名词介绍2.1 生产者2.2 消费者2.3 交换机2.4 队列1. MQ 的作用1.1 流量消峰举个例子,如果订单系统最多能处理一万次订单,这个处理能力应付正常时段的下单时绰绰有余,正常时段我们下单一秒后就能返回结果。但是在高峰期,如果有两万次下单操作系统是处理不了的,只能限制订单超过一万后不允许用户下单。使用消息队列做缓冲,我们可以取消这个限制,把一秒内下的订单分散成一段时间来处理,这时有些用户可能在下单十

2022-02-06 21:18:54 2178

原创 1023 · 阶乘零函数的个数

哈哈哈哈,虽然我不会做,但是我把答案猜出来了呀,贼开心。。class Solution {public: /** * @param K: an integer * @return: how many non-negative integers x have the property that f(x) = K */ int fun(long long x) //返回x!后面零的个数 { int count=0; .

2021-04-25 20:28:18 205

原创 Linux 基础【个人笔记,勿看】

1. 课程简介2. 基础篇 – Linux 介绍linux 的版本:linux 把硬件映射成一个文件进行管理基础篇 – 远程登录 XShell5为什么要远程登录Linux?因为在工作的时候,真实的 linux 服务器放在一个大的机房里面,不能直接操作界面,所以需要远程登录去操作一个操作系统理论上可以有 65535 个端口可以把端口理解成一个耳朵端口开的越多,安全性越弱注意:如果希望安装好 XShell5 就可以远程访问 Linux 系统的话,需要有一个前

2020-12-12 18:25:35 1184

原创 美团笔试题

三、回转寿司题目描述:小美请小团吃回转寿司。转盘上有N盘寿司围成一圈,第1盘与第2盘相邻,第2盘与第3盘相邻,…,第N-1盘与第N盘相邻,第N盘与第1盘相邻。小团认为第i盘寿司的美味值为A[i](可能是负值,如果小团讨厌这盘寿司)。现在,小团要在转盘上选出连续的若干盘寿司,使得这些寿司的美味值之和最大(允许不选任何寿司,此时美味值总和为0)。输入描述第一行输入一个整数T(1<=T<=10),表示数据组数。每组数据占两行,第一行输入一个整数N(1<=N<=10^5);

2020-10-11 14:59:28 2031

原创 Java jdk动态代理实现及原理

文章目录1. 动态代理和 class 字节码的关系1.1 动态代理有什么作用及应用场景1.2 在 Spring AOP 中有哪些方式及实现1. 动态代理和 class 字节码的关系1.1 动态代理有什么作用及应用场景1、日志集中打印2、事务3、权限管理4、AOP1.2 在 Spring AOP 中有哪些方式及实现1、Java Proxy:动态构建字节码(动态构建全新字节码, bean 初始化的时候)2、cglib:动态构建字节码(动态构建全新字节码, bean 初始化的时候)3、Aspe

2020-10-09 20:07:25 525

原创 Spring 循环依赖

什么是循环依赖?A 对象依赖了 B 对象,B 对象依赖了 A 对象比如://A依赖了Bclass A{ public B b;}//B依赖了Aclass B{ public A a;}那么循环依赖是个问题吗?如果不考虑 Spring,循环依赖并不是问题,因为对象之间相互依赖是很正常的问题比如: A a =new A(); B b=new B(); a.b=b; b.a=a;...

2020-09-30 21:09:21 443

原创 MyBatis 原理篇(个人笔记,勿看)

文章目录1. MyBatis 简介2.2.1.1 HelloWordEnvironmenttypeAliasesmapper 和 xml 的增删改查1. MyBatis 简介有 MyBatis 就不需要 dao 层的实现类,当 service 直接来调用 dao 接口中的方法,他就能自动去实现 sql 语句定制化 sql ,就是自己随意写 sql 语句存储过程:使用 sql 语句逻辑代码来实现的一个查询过程。即用 sql 写一段代码2.<!DOCTYPE configuration

2020-09-24 09:12:21 193

原创 Spring 原理篇

文章目录1.1框架简介1.2 Spring 概述1.3 环境配置1.4 环境测试 SpringTest2.1 控制反转(IOC)2.1.1 ApplicationContext 的主要实现类2.1.2 ConfigurableApplicationContext2.1.3 WebApplicationContext2.2 给 bean 的属性赋值2.3 给Bean的属性赋值2.3.1 依赖注入的方式2.3.2 p命名空间2.3.3 可以使用的值2.4 集合属性2.4.1 数组和List2.4.2 Map2.

2020-09-03 19:34:28 1370

原创 MySQL 事务的四种隔离级别 & LBCC & MVCC

文章目录一. 事务的四大特性二. 事务并发存在的问题三、隔离级别四、InnoDB 对锁的划分4.1 按照锁的模式分(Lock Mode)一. 事务的四大特性原子性(Atomicity):要么全部完成,要么全部不完成;一致性(Consistency):一个事务单元需要提交之后才会被其他事务可见;比如转账前后,总额不变也是一致性。(关于一致性,网上的总结很模糊)隔离性(Isolation):并发事务之间不会互相影响,设立了不同程度的隔离级别,通过适度的破坏一致性,得以提高性能;持久性(Durabil

2020-08-06 15:41:06 1817

原创 MySQL 二进制日志

文章目录1. 二进制日志1.1 概述1.2 日志格式1.2.1 STATEMENT1.2.2 ROW1.2.3 MIXED1.3 bin-log 开启2. 主从复制2.1 复制概述2.2 复制原理2.3 复制优势1. 二进制日志1.1 概述二进制日志(BINLOG)记录了所有 DDL(数据定义语言)和 DML(数据操纵语言)语句,但是不包括数据查询语句。此日志对于灾难时的数据恢复起着极其重要的作用,MySQL 的主从复制,就是通过该 binlog 实现的。1.2 日志格式1.2.1 STATEME

2020-08-04 14:52:52 273

原创 Java8 新特性

文章目录1. lambda 表达式1.1 lambda 的基本语法1.2 lambda 四大内置函数式接口1. lambda 表达式1.1 lambda 的基本语法左边:对应接口中的抽象方法的参数右边,对应接口中的抽象方法的实现,即所需要执行的功能,也即 lambda 体注:在 jdk1.7 及以前,在 lambda 表达式内部要调用类的成员变量的时候,这个成员变量必须用 final 显示声明,而 jdk1.8 之后,不需要显示声明,系统会默认我们调用的这个成员变量是 final 的,但是你对这

2020-07-31 15:36:17 518

原创 org.springframework.jdbc.core.JdbcTemplate

在Idea中使用 JdbcTemplate 导入依赖:就可以使用类:org.springframework.jdbc.core.JdbcTemplate <!-- https://mvnrepository.com/artifact/org.springframework/org.springframework.jdbc --> <dependency> <groupId>org.springframework</g

2020-07-23 15:20:22 2483 1

原创 Failed to execute goal org.codehaus.mojo:exec-maven-plugin:3.0.0:exec (default-cli) on project Hello

HBASE只是添加了一句话,运行就出现如下错误Failed to execute goal org.codehaus.mojo:exec-maven-plugin:3.0.0:exec (default-cli) on project HelloSpring: Command execution failed.解决:在pom.xml中添加 <build> <pluginManagement><!-- lock down plugins version

2020-07-02 06:30:19 3387

原创 Could not transfer artifact org.apache.maven.plugins:maven-clean-plugin:pom:2.5 from/to nexus-aliyun

Could not transfer artifact org.apache.maven.plugins:maven-clean-plugin:pom:2.5 from/to nexus-aliyun (http://maven.aliyun.com/nexus/content/groups/public): PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to fin

2020-06-21 20:02:03 7102 16

原创 MySQL 索引笔记(个人)

InnoDB也有hash索引,只不过叫自适应哈希平衡树,当查询需求和插入需求差不多的时候,就很不友好,这时候就过度到了红黑树AVL树最长路径只要不超过最短路径的两倍即可InnoDB 存储引擎加载的时候,默认加载16kbp1、p2、p3 指向其他磁盘块的指针,p4、p5 索引列的值,data 表明当前key对应的整行数据上面那张图是B树,因为数据存放很占内存,所以,在B+树里面,我们只在叶子节点存放整行数据,其他时候存放指针和索引列的值就行MySQL里面,3层B+树可以支撑千万级别的并发量B.

2020-06-11 22:39:38 260

原创 Java 线程池

文章目录

2020-06-06 23:58:11 242

原创 JVM 接上一篇(个人笔记,勿看)

文章目录了解早期垃圾回收行为Java 自动内存管理介绍垃圾回收相关算法概述引用计数算法的原理以及优缺点了解早期垃圾回收行为Java 自动内存管理介绍垃圾回收相关算法概述可达性分析算法是Java 中真正使用的标记算法引用计数算法的原理以及优缺点因为 JVM 规范并没有规定方法区的 GC ,而且方法区基本不进行垃圾回收,所以 GC 主要针对 堆...

2020-06-04 16:55:42 493

原创 JVM 上篇之内存与垃圾回收(个人笔记,勿看)

内存与垃圾回收篇字节码与类的加载篇性能监控与调优篇大厂面试篇文章目录JVM 跨语言的平台JVM 跨语言的平台JVM跨语言的平台是什么意思呢?随着Java7的正式发布,Java虚拟机的设计者们通过JSR-292规范基本实现 在Java虚拟机平台上运行非Java语言编写的程序Java虛拟机根本不关心运行在其内部的程序到底是使用何种编程语言编写的,它只关心“字节码”文件。也就是说Java 虚拟机拥有语言无关性,并不会单纯地与Java语言“终身绑定”,只要其他编程语言的编译结果 (字节码文件

2020-06-04 16:54:30 2455

原创 MySQL 高级篇

文章目录MySQL 逻辑架构简介存储引擎简介索引优化MySQL 逻辑架构简介MySQL 的逻辑架构:https://blog.youkuaiyun.com/z_ryan/article/details/82260663从上到下依次是连接层,服务层,引擎层,存储层假设现在有一个select 查询请求第一步就是和数据库链接(连接层),链接完毕将查询请求给服务层,服务层对查询进行优化(服务层)优化的结...

2020-05-10 22:13:10 797

原创 MySQL 学习基础篇笔记

select 语句去除重复记录select distinct age from tabledistinct 只能出现在所有字段的最前面,是去除所有字段联合起来的去重

2020-05-05 15:36:28 238

原创 Java 反射笔记

概述反射:将类的各个组成部分封装为其他对象,这就是反射好处:可以在程序运行时动态操作这些对象可以解耦,提高程序可扩展性Java代码在计算机中经历的三个阶段:源代码阶段、Class类对象阶段、Runtime运行时阶段一个对象都会有相似的地方,比如构造方法、成员变量、成员方法。于是把这三个相似的地方抽象出来,单独构成三个对象构造方法:Constructor[] cons成员变量...

2020-05-02 16:55:07 346 1

原创 JUC

文章目录1.什么是JUC2.线程和进程并发、并行线程有几个状态wait和sleep的区别3. Lock锁Synchronized 和 Lock 区别锁的是谁,如何判断锁对象生产者消费者和虚假唤醒问题虚假唤醒1.什么是JUC就是java.util.concurrent在并发编程中使用的工具类2.线程和进程进程:一个程序,QQ.exe Music.exe 程序的集合;一个进程往往可以包...

2020-04-28 15:06:29 202 1

原创 HashMap源码分析笔记 jdk1.7 & jdk1.8

1.HashMap的结构和底层原理jdk1.7 数组加链表jdk 1.8 数据加链表加红黑树数组里面每个地方都存了Key-Value这样的实例,在Java7里面这样的键值对叫Entry,在Java8中叫Node每一个节点会保存自身的hash、key、value、以及下个节点,Node的源码如下:2. 为什么需要链表我们都知道数组长度是有限的,在有限的长度里面我们使用哈希,哈希本...

2020-04-28 12:52:24 325

原创 计算机网络 韩立刚老师 第四章 网络层

课程链接:https://www.bilibili.com/video/BV1Hx411D7rn?p=36文章目录网络层提供的服务网络层提供的服务

2020-04-01 22:38:53 620 2

原创 计算机网络笔记 韩立刚老师 第三章 数据链路层

课程链接:https://www.bilibili.com/video/BV1Hx411D7rn?p=23文章目录数据链路层的基本概念帧数据链路层的三个基本问题封装成帧透明传输差错控制两种情况下的数据链路层使用点对点信道的数据链路层使用广播信道的数据链路层链路与数据链路以太局域网(以太网)扩展以太网高速以太网数据链路层的基本概念数据链路层的简单模型:帧帧就是在网路层传下来的信息上加上...

2020-03-30 23:53:39 1127

原创 计算机网络笔记 韩立刚老师 第二章 物理层

计算机网络笔记 — 第二章 物理层课程链接:https://www.bilibili.com/video/BV1Hx411D7rn?p=22文章目录计算机网络笔记 --- 第二章 物理层物理层的基本概念数据通信的基础知识数据通信相关术语有关信道的几个基本概念基带信号和带通信号几种最基本的调制方法常用编码曼彻斯特编码差分曼彻斯特编码信道极限容量奈氏准则信噪比香农公式奈氏准则和香农公式应用范围物理...

2020-03-29 17:54:58 563

原创 LintCode 480. 二叉树的所有路径

描述中文English给一棵二叉树,找出从根节点到叶子节点的所有路径。class Solution {public: /** * @param root: the root of the binary tree * @return: all root-to-leaf paths */vector<string>ans;void df...

2020-03-23 13:49:50 127

原创 LintCode 1443.最长AB子串

描述中文English给你一个只由字母’A’和’B’组成的字符串s,找一个最长的子串,要求这个子串里面’A’和’B’的数目相等,输出该子串的长度。解释:把A当做1,把B当做-1,如果平衡,AB的和会为0,那只要ct相同的的位置之间应该是平衡的class Solution {public:/*** @param S: a String consists of a and b* @r...

2020-03-23 10:47:48 446

原创 Codeforce-667C

描述:有一个仅包含’a’和’b’两种字符的字符串s,长度为n,每次操作可以把一个字符做一次转换(把一个’a’设置为’b’,或者把一个’b’置成’a’);但是操作的次数有上限k,问在有限的操作数范围内,能够得到最大连续的相同字符的子串的长度是多少。 输入描述:第一行两个整数 n , k (0<=k<=n<=100000),第二行为长度为n且只包含’a’和’b’的字符串s。...

2020-03-18 20:08:10 354

原创 Java基础之多线程中生产者和消费者问题

参考链接:https://blog.youkuaiyun.com/qq_38741971/article/details/80533144三个类:Producer、Consumer、Goods。生产者生产goods,消费者消耗goods,goods即是他们要竞争的公共资源。同步锁的位置(synchronized的位置):Producer:public class Producer extends Th...

2020-03-06 14:38:54 188

原创 java 为什么不能把主线程设置成守护线程

main函数是程序开始的入口,所以主线程是最先开始的进程,而thread.setDaemon(true)必须在thread.start()之前设置,否则会跑出一个IllegalThreadStateException异常。你不能把正在运行的常规线程设置为守护线程。...

2020-03-04 19:52:00 970

原创 c++ LintCode刷题记录之 699. 判断k个素数之和

描述给两个数字 n 和 k. 我们需要判断 n 是否可以写成 k 个素数的和.(n<=1e^9)解释:根据哥德巴赫猜想,即任一大于2的偶数都可写成两个素数之和。当n为偶数时,k不论奇数偶数,只要n>=2*k都可以分解成功。(因为最小的素数是2,你得保证这个数最少可以分成k个2)当n是奇数时,3是个质数,n-3又成了偶数,就可以直接把n-3当偶数处理。所以只要n-3能分解成k-...

2020-03-03 17:04:32 198

原创 c++ LintCode刷题记录之52. 下一个排列

描述给定一个整数数组来表示排列,找出其之后的一个排列解释:只需要找到下一个排列,比如(3,2,1)没有下一个排列就是(1,2,3)。也说明如果序列按递减排列就没有下一个。所以要换位置的第一个数一定是,从后往前扫描,不是递减的第一个数。比如(2,3,2,1),2就是那个非递减的第一个数,然后把2和后面只比2高一点的数交换,(3,2,2,1)再把3后面的排个序就好了(这样就是以3开始字典序最小的)...

2020-03-01 15:15:18 112

原创 c++ LintCode刷题记录之584.丢鸡蛋

描述有一个n层的建筑。如果一个鸡蛋从第k层及以上落下,它会碎掉。如果从低于这一层的任意层落下,都不会碎。有m个鸡蛋,用最坏的情况下实验次数最少的方法去找到k, 返回最坏情况下所需的实验次数。我们考虑f(n,k)是n层楼k个鸡蛋的答案,枚举在第i层(1≤i≤n)丢鸡蛋,如果第i层碎了: 就还剩k-1个鸡蛋,要用k-1个鸡蛋测1~(i-1)层楼,如果没碎,就要用k个鸡蛋测n-i层楼,所以f(n,...

2020-02-29 20:04:14 271

原创 c++ LintCode刷题记录之871. 最小分解

给定一个正整数a,找到最小的正整数b,它的每个数字相乘之后等于a。如果没有答案,或者答案超过了32位有符号整型的范围,返回0。class Solution {public: /** * @param a: a positive integer * @return: the smallest positive integer whose multiplication...

2020-02-29 15:23:19 256

原创 Spring之注解开发

持久层用@Repository控制层@Controller业务层用@Service三层都不是用@Component和<context:component-scan base-package=“com.xp”></context:component-scan>配套使用...

2020-02-27 17:39:17 73

原创 Mybatis之一对多,多对一

Mybatis多对一的理解嵌套 Select 查询:通过执行另外一个 SQL 映射语句来加载期望的复杂类型。 按照查询进行嵌套处理就像SQL中的子查询嵌套结果映射:使用嵌套的结果映射来处理连接结果的重复子集。按照结果进行嵌套处理就像SQL中的联表查询多对一,例如:多个学生对应一个老师文件结构如下:1.首先创建两个实体类(记得加载对应的get/set方法Student类:publi...

2020-02-18 23:23:56 183

原创 Mybatis之resultMap的使用

要解决的问题,当数据库表的列名和实体类属性名不一致(给表的列名取个别名 <resultMap id="UserMap" type="user"> <!--这里的user是自己定义的别名--> <result column="pwd" property="password"></result></resultMap>...

2020-02-14 21:19:23 389

原创 Mybatis 别名的使用

类型别名是为 Java 类型设置一个短的名字两种方式: 使用<typeAliases>下的两种标签存在的意义仅在于用来减少类完全限定名的冗余,它只和 XML 配置有关,就是说两种方式都是在mybatis-config.xml里面配置,且位置得在<proerties>后面 而不是<configuration>后面(各个标签节点的排序是有规则的,typeAlia...

2020-02-14 15:47:24 651

空空如也

空空如也

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

TA关注的人

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