自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 资源 (4)
  • 收藏
  • 关注

原创 京东自营小米旗舰店小米11 Ultra手机烧主板烧屏

小米11 Ultra手机烧主板烧屏

2023-01-18 14:17:42 925

原创 正确使用南方航空(南航)的推荐码

在VX中搜索“南方航空”,在粉丝专享中,选择南航推荐官,就可以获得自己的专属推荐码,比如我的推荐码是BD1ZAB,(字母BD后面是数字1,然后是字母ZAB)分享给自己的亲友使用,那么无论是推荐人还是被推荐人,乘坐南航都可以额外获得的里程加成。(自己填写自己的推荐码无用哦!南航最近搞了推荐新用户的活动,推荐人与被推荐人通过活动注册后,乘坐南航航班,都会获得南航里程额外加成返还,南航里程可以用在南航小程序的南航商城消费,目前我已经通过这个活动,免费得到了这么多不错的礼品。

2022-09-24 14:30:27 4701

原创 夜曲编程Python入门课程Pro

第 1 课 编程中的文本打印命令 print()打印数字 print(1024)打印字符串 print(“1024”)单双引号都可以,一般双引号。如果字符串表达里有某个引号,可以选用另外一种引号。如果字符串表达里有单双引号,用转义字符。python编码需要顶格编程python 注释是#号# 注释内容,#号后面有空格第 2 课 变量与赋值变量名只能由字母、数字、下划线组成。不以数字开头大小写敏感格式化输出:name = "Tony"print(f"My

2021-11-20 18:21:18 12679 1

原创 垃圾回收器分类

垃圾回收器垃圾回收器GC 分类与性能指标垃圾回收器概述垃圾收集器没有在规范中进行过多的规定,可以由不同的厂商、不同版本的JVM来实现。由于JDK的版本处于高速迭代过程中,因此Java发展至今已经衍生了众多的GC版本。从不同角度分析垃圾收集器,可以将GC分为不同的类型。Java不同版本新特性语法层面:Lambda表达式、switch、自动拆箱装箱、enum、泛型API层面:Stream API、新的日期时间、Optional、String、集合框架底层优化:JVM优化、GC的变化、元

2021-02-12 19:57:56 439

原创 垃圾回收器算法

GC垃圾回收概述Java 和 C语言最大的区别,就在于,垃圾回收和内存动态分配上。C语言没有垃圾回收技术,需要程序员手动回收。1960年,第一门开始使用内存动态分配和垃圾收集技术的Lisp语言诞生。关于垃圾收集有三个经典问题:哪些内存需要回收?什么时候回收?如何回收?大厂面试题蚂蚁金服你知道哪几种垃圾回收器,各自的优缺点,重点讲一下CMS和G1?JVM GC算法有哪些,目前的JDK版本采用什么回收算法?G1回收器讲下回收过程GC是什么?为什么要有GC?GC的两种判定方

2021-02-12 17:14:02 1103

原创 JVM入门

参考书籍或资料1.3 Java及JVM简介TIOBE语言热度排行榜:https://www.tiobe.com/tiobe-index/世界上没有最好的编程语言,如果有,我相信一定是JAVA。1.4 Java发展的重大事件1995 年 5 月 23 日,Java语言诞生1996 年 1 月,第一个JDK-JDK1.0诞生1996 年 4 月, 10 个最主要的操作系统供应商申明将在其产品中嵌入JAVA技术1996 年 9 月,约8.3万个网页应用了JAVA技术来制作1997 年 2 月 1

2021-02-12 17:11:34 1336

原创 MySQL优化

MySQL优化MySQL 优化方案对于 **MySQL** 的性能优化,大部分情况下都是想减少查询所消耗的时间;而一个查询是由很多个环节组成,那么就需要从每个环节消耗时间进行入手。配置优化(连接)当客户端连接到服务端有可能服务端连接数不够导致应用程序获取不到连接而报出 **Mysql: error 1040: Too many connections**** **的错误。一般情况下可以从两个方面去解决连接数不够的问题:对于服务端来说,可以增加服务端的可用连接数(**MySQL

2021-02-12 16:08:55 456 2

原创 MySQL 事务

数据库的事务事务的定义事务是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列组成;因为它是数据库最小的工作单元,是不可再分的;它还可能包含了一个或者一系列的 **DML** 语句(**insert、update、delete**),现在 **MySQL** 中有 **InnoDB & NDB** 存储引擎支持事务。事务的四大特性原子性(**Atomicity**):在 **InnoDB** 存储引擎中通过 **undo log** 来实现了,它记录了数据修改之前的值

2021-02-12 16:06:01 178

原创 MySQL索引原理

MySQL索引原理MySQL 的索引概述索引是数据库中一个排序的数据结构,用来协助快速查询和更新数据库表中的数据;数据是以文件的形式存放在磁盘上的,每一行数据都有它的磁盘地址;当没有索引时,比如从 **500w** 条数据中检索出一条数据,只能依次遍历这张表的全部数据,直到找到这条数据。但是有了索引后,只需要在索引里去检索这条数据就可以了,因为它是一种专门进行数据检索特殊的数据结构,在找到数据存放的磁盘地址后就可以拿到数据。在 **InnoDB** 存储引擎中,索引有三类:普通(**normal

2021-02-12 15:59:22 141

原创 MySQL架构分析

MySQL架构分析MySQL 的体系结构MySQL 的模块详解**Connectors**:用于支持各种语言与 **SQL** 交互;**Management Services & Utilities**:系统管理和控制工具(备份恢复、MySQL 复制、集群等);**Connection Pool**:连接池,用户管理需要缓冲的资源(用户密码、权限、线程等);SQL Interface:用于接收用户的 **SQL** 命令并返回用户需要的查询结果;**Parser**:用于解析 *

2021-02-12 15:38:51 1309 4

原创 Redis实战篇

Redis客户端通信协议Redis 监听默认 6379 的端口号,可以通过 TCP 方式建立连接。服务端约定了一种特殊的消息格式,叫做 Redis Serialization Protocol(RESP,Redis 序列化协议),发消息或者响应消息需要按这种格式编码,接收消息需要按这种格式解码。Redis 设计这种格式的原因∶ 容易实现、解析快、可读性强。Redis6.0新特性里面说的RESP协议升级到了3.0 版本,其实就是对于服务端和客户端可以接收的消息进行了升级扩展,比如客户端缓存的功能就是

2021-02-12 11:35:59 384

原创 Redis分布式篇

Redis分布式篇为什么需要 Redis 集群为什么需要集群?性能Redis 本身的 QPS 已经很高了,但是如果在一些并发量非常高的情况下,性能还是 会受到影响。这个时候我们希望有更多的 Redis 服务来完成工作扩展第二个是出于存储的考虑。因为 Redis 所有的数据都放在内存中,如果数据量大, 很容易受到硬件的限制。升级硬件收效和成本比太低,所以我们需要有一种横向扩展的 方法。可用性第三个是可用性和安全的问题。如果只有一个 Redis 服务,一旦服务宕机,那么所有的客户端都无法访问,会

2021-02-11 21:33:14 293

原创 Redis原理篇

Redis原理篇1.Redis 的发布订阅模式1.发布订阅模式1.1列表的局限前面我们说通过队列的rpush和blpop可以实现消息队列(队尾进队列出),没有任何元素可以弹出的时候,连接会被阻塞。但是基于list实现的消息队列,不支持一对多的消息分发,相当于只有一个消费者。如果要实现一对多的消息分发,怎么办?1.2发布订阅模式除了通过list实现消息队列外,redis还提供了发布订阅的功能。订阅频道消息的生产者和消费者是不同的客户端,连接到同一个redis的服务。通过什么对象把生产者和

2021-02-11 11:58:29 1048

原创 Redis基础篇

Redis基础篇一.起源Redis作者antirez,2008年做网站访问记录,统计每天的用户量,页面浏览数,访客的IP,访客使用的操作系统等等。最开始用的是MySQL,实在太慢了,自己就写了基于内存的List,就是Redis。为什么叫Redis?全称Remote Dictionary Service。翻译成中文远程字典服务。二.Redis的定位与特性1.SQL与NoSQLSQL关系型数据库特点:以表格的形式并基于行存储数据,是一个二维的模式;存储的是结构化的数据,数据存储具有固定的

2021-02-10 18:33:24 354 1

原创 Linux 操作命令大全

Linux 学习笔记一、 常用命令LINUX 常用操作命令和命令行编辑快捷键终端快捷键:Ctrl + a/Home 切换到命令行开始Ctrl + e/End 切换到命令行末尾Ctrl + l 清除屏幕内容,效果等同于clearCtrl + u 清除剪切光标之前的内容Ctrl + k 剪切清除光标之后的内容Ctrl + y 粘贴刚才所删除的字符Ctrl + r 在历史命令中查找 (这个非常好用,输入关键字就调出以前的命令了)Ctrl + c 终止命令ctrl + o 重复执行命令Ct

2021-01-24 18:36:58 4244

原创 LeetCode905. 按奇偶排序数组 题解

按奇偶排序数组给定一个非负整数数组 A,返回一个数组,在该数组中, A 的所有偶数元素之后跟着所有奇数元素。你可以返回满足此条件的任何数组作为答案。示例:输入:[3,1,2,4]输出:[2,4,3,1]输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。提示:1 <= A.length <= 50000 <= A[i] <= 5000题目解析:对数组重新排序,偶数就放在数组前面。方法:遍历数组,如果是偶数,就从0号位开始放/.

2020-10-13 23:52:16 452

原创 Java进阶训练营 第一周JVM 预习笔记

第一周 预习资料1.环境准备JDK、JRE、JVM关系JDK = JRE(运行环境) + 开发工具 JRE = JVM + 类库![image.png](https://img-blog.csdnimg.cn/img_convert/45cfeba4b48e0e081b60f42927b2dfbd.png#align=left&display=inline&height=208&margin=[object Object]&name=image.png&ori

2020-10-13 23:21:29 1400 1

原创 SN550+雷电3安装WTG

SN550+雷电3安装WTG此帖记录用SN550 1T(709元)+Acasis雷电3硬盘盒(389元团购买的)安装WTG的记录。目的是在mbp上通过wtg使用windows系统。先按照说明书组装SSD与雷电3硬盘盒。去Intel官网 下载中心 下载了雷电3驱动。成功连接硬盘盒。https://downloadcenter.intel.com/zh-cn/download/28658/Thunderbolt-3-Windows-10-NUC给SSD格式化,exFat和ntfs格式都可以。NTF

2020-08-26 11:15:53 1874 2

原创 每天手撕一道算法-53. 最大子序和

53. 最大子序和给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。解析:[-2,1,-3,4,-1,2,1,-5,4]max = -2tmp = 0 tmp = Math.max(1, 1);max = 1 tmp = Math.max(1 + -3, -3); max =

2020-08-25 17:28:32 165

原创 阿里云《云中谁送锦书来》活动 知识问答 答案

1.以下哪个是云效代码管理Codeup提供的功能D.以上都是2.云效支持哪种部署形态?D.以上都支持最后得分100。题目偏简单。而且60分就能过。每天两百个鼠标垫。感兴趣的可以参加。活动链接https://developer.aliyun.com/adc/series/devops/...

2020-08-24 21:41:23 3470

原创 算法训练营-第一周-数组链表

一.时间复杂度&空间复杂度常见的时间复杂度常量 O(1)对数 O(logn)线性 O(n)二维 O(n2)指数 O(2n)阶乘 O(n!)常见的空间复杂度常量 O(1)线性 O(n)二维 O(n2)递归 O(n) n为递归深度二.数组定义数组是相同变量组成的有序集合图示实战题目283. 移动零1.两次遍历 2.快慢指针/* 将数组中的0移动到最后,保持原来的非零数字的顺序。 要求不能开辟新数组。 方法一:

2020-08-23 21:20:27 187

原创 玩转数据库技能自测 考试答案(阿里云打卡领T恤活动)

下面有关PolarDB数据库集群账号说法错误的是?选B 一个集群可以创建多个高权限账号以下哪个数据库不是关系型数据库?C.Redis7.RDS MySQL与自建数据库对比有哪些优势?我选的ABCD。但最后是90分,怀疑这里扣分了。其他答案都很肯定。猜测答案是BCD。A高性价比这个描述我没找到。3.PolarDB的存储容量最大是多少?D.100TB4.一个5节点的PolarDB MySQL集群中,最多可以存在几个Writer(可写)节点?A.16.PolarDB MySQL不.

2020-08-20 14:35:14 2487

原创 每天手撕一道算法题-130. 被围绕的区域

每天手撕一道算法题-130. 被围绕的区域130. 被围绕的区域题目解析:根据题目:边界的O不会被填充。只要是与边界的O相连的O,不去改变。其余O都填充为X即可。从一行最后一行,第一列与最后一列找到边界的O,找到与边界O相连的O,这些O都标记为V。然后把所有的遍历一遍。标记为O的被抹成X。标记为V的是不能被抹的,改成原来的O。代码class Solution { public void solve(char[][] a) { // 两行或者两列的情况不用考虑,直接

2020-08-11 23:41:13 199

原创 每日手撕一道算法题-322.零钱兑换

每日手撕一道算法题-322.零钱兑换322. 零钱兑换题目:给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。示例 1:输入: coins = [1, 2, 5], amount = 11输出: 3 解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2], amount = 3输出: -1解析举例面值是1,2,5可以逆推。凑11最少的硬币数 =

2020-08-11 23:39:28 326

原创 每天手撕一道算法-64. 最小路径和

每天手撕一道算法-64. 最小路径和64. 最小路径和题目:题目解析:这题的意思是从左上角到右下角,(注意:每次是向下或者向右移动一格),所走过的路径数字和要求最小。这道题要用动态规划,在原来的数组上去改变值。先从最近的开始,得到最优解,再慢慢递推到外面一层。/*这题的意思是从左上角到右下角,(注意:每次是向下或者向右移动一格),所走过的路径数字和要求最小。这道题要用动态规划,在原来的数组上去改变值。先从最近的开始,得到最优解,再慢慢递推到外面一层。*/class Solutio

2020-08-11 23:38:17 136

原创 极客时间-算法训练营-第二周

文章目录学习笔记1.哈希表定义图示具体实现是Map和SetHashSet源码分析HashMap源码分析时间复杂度实战题目[242. 有效的字母异位词](https://leetcode-cn.com/problems/valid-anagram/)[49. 字母异位词分组](https://leetcode-cn.com/problems/group-anagrams/)[1. 两数之和](https://leetcode-cn.com/problems/two-sum/)2.树链表与树,树与图的特殊关系图

2020-07-19 12:09:02 1003

原创 LeetCode 23. 移动零

A23. 移动零/** * [23. 移动零](https://leetcode-cn.com/problems/move-zeroes/) * 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 * 输入: [0,1,0,3,12] * 输出: [1,3,12,0,0] * 解释:将0移到最后,其余数字顺序不许改变。要在原数组上操作。 * 1.统计0的个数,两个循环。 * 2.双指针。从头遍历到尾。非0就放在前面。 */public cl

2020-05-31 21:52:30 171

原创 30.MyBatis插件原理与Spring集成

目录插件使用与原理编写自定义插件掌握Spring集成myBatis原理1.插件使用与原理1.1.插件使用编写插件编写拦截器类,以PageHelper为例1)实现Interceptor接口public class PageInterceptor implements Interceptor {2)实现方法。intercept就是拦截方法,增强代码写里面。3)在拦截器类上加上参数。注解签名注明拦截对象、拦截方法、拦截方法参数。下面拦截Executor中的两个query方法。@I

2020-05-14 11:51:05 264

原创 29.MyBatis体系结构与工作原理

1.MyBatis的工作流程分析一、解析配置文件启动MyBatis时要解析配置文件,包括全局配置文件和映射器配置文件,这里面包含了我们怎么控制MyBatis的行为,和我们要对数据库下达的指令,也就是我们的SQL信息。我们会把它们解析成一Configuration对象。二、提供操作接口接下来就是我们操作数据库的接口,它在应用程序和数据库中间,代表我们跟数据库之间的一次连接:这个就是SqISession对象。我 们 要 获 得 一 个 会 话 ,必 须 有 一 个 会 话 工 厂 SqISessio

2020-05-13 15:39:04 607

原创 28.MyBatis应用分析与最佳实践

1.为什么使用mybatis1.1.JDBC连接数据库// 注册 JDBC 驱动Class.forName("com.mysql.jdbc.Driver");// 打开连接conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/gp-mybatis", "root", "123456");// 执行查询stmt = conn.createStatement();String sql = "SELECT bid, na

2020-05-10 13:22:10 446

原创 记一次WH-1000XM3翻车经历

索尼这款WH-1000XM3耳机大家都应该知道。这款耳机我是4-3日在小米有品索尼店(经销商:广州丽驰)购买的。之前我看评论,有人说收到了带面包屑的所谓“全新”耳机,换货后还是有问题。我比较担心,和客服再三确认,不要二手机。二手机必退。客服让我放心。评论中的翻车老哥评论中的翻车老哥卖家当天发货了。我收货地址在深圳,很近,一天收到了。拆开包装前,一边录制,一边检查,各个方面确认没有问题后,...

2020-05-01 14:05:56 22534 1

原创 《软件架构设计》第一、二章学习笔记

第一部分 什么是架构第1章 五花八门的架构师职业1.架构师分类招聘网站有个各种五花八门的架构:Android/iOS架构师、PHP架构师、 构师、前端架构师、后端架构师、数据架构师、搜索 架构师、中间件架构师、大数据架构。架构师是一个很虚的词。本书通过业务架构与技术架构的融合,建立系统化的思维方式和学习方法。2.架构的分类自下向上,通常分3层。1.第一层:基础架构指云平台、操...

2020-04-29 14:29:11 218

原创 《offer来了》第八章笔记学习

设计模式(Design Pattern)是经过高度抽象化的代码设计经验总结。1 设计模式简介设计模式有 7 个原则:单一职责原则、开闭原则、里氏代换原则、依赖倒转原则、接口隔离原则、合成/聚合复用原则、迪米特法则1.单一职责原则规定一个类只有一个职责。如果多个职责(功能)被设计在一个类中,这个类就违反了单一职责原则。2.开闭原则开闭原则规定软件中的对象(类、模块、函数等)对扩展开放,...

2020-04-28 20:48:20 435

原创 《offer来了》第七章学习笔记

1.分布式缓存介绍将频繁访问的热数据缓存到内存中,提高访问时间,降低数据库负载。微服务架构下需要分布式缓存来实现跨服务的缓存系统。用户访问的数据库是被部署在多个服务器节点的集群数据库,缓存是被部署在多个服务器节点的分布式缓存,同时缓存之间有数据备份,在一个节点出问题后,分布式缓存会将用户的请求转发到其他备份节点以保障业务的正常运行。2.Ehcache原理及应用基于 Java 实现的...

2020-04-27 00:08:43 734

原创 《offer来了》第六章学习笔记

1.数据库的概念1.1.存储引擎常用的存储引擎主要有 MyISAM、InnoDB、Memory、Archive 和 Federated。1. MyIASMMyIASM 是 MySQL 默认的存储引擎,不支持数据库事务、行级锁和外键,因此在 INSERT(插入)或 UPDATE(更新)数据即写操作时需要锁定整个表,效率较低。MyIASM 的缺点是更新数据慢且不支持事务处理,优点是查询速度快...

2020-04-26 02:00:18 1161

原创 《offer来了》第五章学习笔记

1.网络1.1.OSI七层模型从下到上主要包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层层作用物理层发送端将1、0转化为电流强弱,到目的后将电流强弱转化为1、0数据链路层对数据包的MAC地址进行解析和封装网络层对数据包的IP 地址进行解析和封装传输层定义传输数据的协议和端口号会话层建立连接和管理会话表示层...

2020-04-24 23:27:20 411

原创 《offer来了》第四章学习笔记

常用数据结构1.栈图示 核心方法◎ push():向栈中压入一个数据,先入栈的数据在最下边。◎ pop():弹出栈顶数据,即移除栈顶数据。◎ peek():返回当前的栈顶数据。栈结构入栈出栈查找元素2.队列FIFO-first in first out 线性表核心方法:◎ add():向队列的尾部加入一个元素(入队),先入队列的元素在最前边。◎ pol...

2020-04-24 01:02:20 658

原创 《offer来了》第三章学习笔记

1.Java线程创建方式4种创建方式1.1.继承Thread类1.2.实现Runnable接口如果类继承了另一个类,就无法再直接继承Thread类,可以通过实现Runnable接口创建线程。1.3.通过ExectorService和Callable<Class>实现有返回值的线程1.4.基于线程池2.线程池的工作原理定义:用于管理线程组及其状态,方便JVM...

2020-04-23 00:54:26 388

原创 《offer来了》第二章学习笔记

1.集合Java四种集合:List、Queue、Set和Map1.1.List:可重复有序的CollectionArrayList:基于数组实现,增删慢,查询快,线程不安全Vector:基于数组实现,增删慢,查询快,线程安全LinkedList:基于双向链实现,增删快,查询慢,线程不安全1.2.Queue:队列ArrayBlockingQueue:基于数组实现的有界阻塞队...

2020-04-22 00:26:16 237

原创 《offer来了》第一章学习笔记

第一章 JVM1.JVM运行机制JVM定义:​ 运行Java字节码的虚拟机。Java运行过程:Java源文件(.java)被编译器编译成字节码(.class)文件JVM将字节码编译成对应操作系统的机器码机器码调用对应系统的本地方法库执行相应方法JVM包括:类加载子系统 Class Loader SubSystem运行时数据区 Runtime Data Area执行引擎...

2020-04-21 02:05:52 430

黑马JavaEE49期代码生成器_HeimaCodeUtil_V2.4_32

代码生成器,黑马JavaEE,HeimaCodeUtil_V2.4_32。黑马最新课程代码生成器。非常好用的代码生成器,最新版,传智播客出品,支持多种代码模板生成,包括前端页面,csdn首发.支持springboot+springdatajpa微服务;ssh+angularjs+bootstrap;ssh+easyui;ssm+dubbox+angularjs等多种模板的代码自动生成,可以极大提高开发效率,秒杀一切单表操作,支持oracle+mysql多数据库,开发人员必备工具,现提供给广大开发人员。。

2018-07-01

Data Structures and Algorithms in C++.md

数据结构与算法分析(C++语言描述)。比较经典的算法分析类。数据结构与算法分析(C++语言描述)。比较经典的算法分析类。数据结构与算法分析(C++语言描述)。比较经典的算法分析类。数据结构与算法分析(C++语言描述)。比较经典的算法分析类。

2017-09-26

java绘图程序(CAD)3

java作的小的CAD模拟程序,能能够实现一些基本图形的绘制,抓取等

2017-09-26

java绘图程序(CAD)

java作的小的CAD模拟程序,能能够实现一些基本图形的绘制,抓取等

2017-09-26

空空如也

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

TA关注的人

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