自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 DDD相关概念描述

DD相关名词解释

2022-10-20 15:19:56 944 1

原创 C4架构表达工具安装使用

C4架构表达工具安装

2022-10-19 17:15:18 585

原创 leetcode刷题练习——数组合集

数组练习合集

2022-04-18 19:35:29 160

转载 DFS和BFS在二叉树上的使用

在二叉树上进行 DFS 遍历和 BFS 遍历的代码比较DFS 遍历使用递归:void dfs(TreeNode root) { if (root == null) { return; } dfs(root.left); dfs(root.right);}BFS 遍历使用队列数据结构:void bfs(TreeNode root) { Queue<TreeNode> queue = new ArrayDeque<>()

2022-04-02 14:59:39 247

原创 Python遍历目录相关用法总结

一些os方法:os.sep 根据你所处的平台,自动地采用相应的分割符号。举例:Linux下一个路径, /usr/share/python,那么上面的 os.sep 就是 / ,Windows下一个路径, C:\Users\Desktop, 那么上面的 os.sep 就是 \ 。os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。os.walk(top[, topdown=True[, οnerrοr=None[, followlinks=False]]])os.list

2022-03-02 11:45:35 251

原创 leetcode刷题练习——二叉树合集

二叉树

2022-02-17 10:47:42 356

原创 Python读取excel文件

需要导入 import openpyxl1、打开excel        2、获取打开的excel的sheet内容·     3、获取sheet的最大行数和列数4、获取某个单元格的值print(ws.cell(1,1).value)5、打开将写的表并添加sheet    6、保存...

2022-02-15 16:32:17 5850

原创 Python的Json库

dumps和load用于解析json.dumps()将python对象编码成json字符串(字符流) dict->jsonjson.loads()将json字符串解码成python str->dictdump和load主要用来读取文件json.dump()将python中的对象转化成json存储到文件中(文件流) 用于将dict类型的数据转成str,并写入到json文件中json.load()将文件中的json格式转化成python对象提取出来 用于从json文件中读取数据 j

2022-02-14 16:56:51 734

原创 Python学习笔记

input()获取输入raw_input()获取输入,结果看作原始字符串repr()返回字符串形式str()转为字符串序列:从0开始,列表、字符串、元组,列表可变而字符串和元组不可变。split()将字符串分割为序列strip()去除两侧空格的字符串translate()多个替换repleace(‘a’,‘b’)b替换ajoin()连接序列中的元素find()查找子串所在最左端索引,没找到返回-1dict函数构建字典has_key()是否含有特定的键items()所有项以列表方式返

2022-01-04 14:41:31 683

原创 linux学习笔记

记录一下工作学习过程中的概念和命令sudo以系统管理者的身份执行命令文件与目录:文件属性:chown修改所属用户与组chmod修改用户权限显示文件属性及所属用户和组 ll、ls -l第一个字符:d 目录-文件l 链接文档(link file)b 为装置文件里面的可供储存的接口设备(可随机存取装置)c 装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。rwx 的三个参数的组合。r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)

2022-01-04 14:35:16 237

原创 CSS学习笔记

CSS选择器1.元素选择器元素选择器根据元素名称来选择 HTML 元素。p {text-align: center;color: red;}页面所有p都会受到影响。2. id 选择器元素的 id 在页面中是唯一的,因此 id 选择器用于选择一个唯一的元素!要选择具有特定 id 的元素,请写一个井号(#),后跟该元素的 id。id不能以数字开头。这条 CSS 规则将应用于 id=“para1” 的 HTML 元素:#para1 {text-align: center;color:

2021-09-29 09:56:04 159

原创 Kubernetes入门相关概念

k8s是用于自动部署,扩展和管理容器化应用程序的开源系统。Kubernetes集群的两种管理角色:Master和NodeMaster指的是集群控制节点,每个Kubernetes集群里需要有一个Master节点来负责整个集群的管理和控制,基本上Kubernetes的所有控制命令都发给它,它来负责具体的执行过程。Node除了Master,Kubernetes集群中的其他机器被称为Node节点,Node节点可以是一台物理主机,也可以是一台虚拟机。Node节点才是Kubernetes集群中的工作负载节点,每个

2021-09-28 10:34:36 82

原创 Redis知识点总结

五大数据类型1.String(字符串)概念string类型是二进制安全的,意思是redis的string可以包含任何数据。比如ipg图片或者序列化的对象。string类型是Redis最基本的数据结构,一个redis中字符串value最多可以是512M。单值单V命令1.设置值:set key value [ex seconds] [px millseconds] [nx|xx]ex seconds:为键设置秒级过期时间,跟 setex 效果一样px millseconds:为键设置毫秒级

2020-08-16 19:00:25 390

原创 MySQL复习知识点总结

1.存储引擎1.1 概念数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据,不同的存储引擎提供不同的存储机制、索引技巧、锁定水平的功能,使用不同的存储引擎可以获得特定的功能。MySQL的存储引擎有MyISAM和InnoDB1.2 MyISAM是MySQL的默认存储引擎,但是他没有提供对数据库事务的支持,也不支持行级锁和外键,因此insert或update(即写操作)时需要锁定整个表,效率较低。但是ISAM 执行读取操作速度很快,而且不占用大量

2020-08-13 13:42:35 1122

原创 计算机网络知识点总结

OSI七层模型与五层协议物理层、数据链路层、网络层运输层应用层TCP协议滑动窗口 拥塞控制TCP连接 四次挥手 三次握手HTTP协议HTTPS

2020-08-10 23:37:14 593

原创 操作系统知识点复习总结

秋招不易猫猫叹气前两天复习完计网写了十几页的笔记总结,还是写成博客好记录吧,就是没有手写一边记忆深刻,不过多复习几遍应该没有问题的。1.进程定义:

2020-08-10 23:16:56 939

原创 java实现——数组中的逆序对(剑指offer原题)

题目:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007牛客上的题目添加了一个取模要求,不妨碍,只需要在求的数目后取模即可。这道题就是归并排序的应用,复习以下归并排序~public class MergeSortTest { public static void main(String[] args) { int[] data

2020-08-02 20:30:38 379

原创 《Java高并发程序设计》读书笔记(第三章)

JDK并发包1.同步控制的工具2.JDK中对线程池的支持3.并发容器同步控制synchronized关键字是最简单的一种同步控制方法,它决定了一个线程能否访问临界区资源。synchronized的功能扩展:重入锁重入锁可完全代替synchronized关键字,通过java.util.concurrent.locks.ReentrantLock类来实现,如果同一个线程多次获得锁,那么在释放锁 的时候,也必须释放相同次数,如果释放的次数多,那就会得到java.lang,IllegalMonitor

2020-07-29 20:54:20 102

原创 《Java高并发程序设计》读书笔记(第二章)

Java并行程序基础进程:是计算机中的程序关于某数据集合的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础,进程是线程的容器,进程是程序的实体。进程中可以容纳若干个线程。线程:是轻量级的进程,是程序执行的最小单位,使用多线程而不使用多进程进行并发程序的设计,是因为线程的切换和调度成本远小于进程。线程的所有状态在Thread中的State枚举中定义:public enum State{ NEW,//线程刚刚创建 还没开始执行,等到start()方法调用时开始执行 RUNNAB

2020-07-18 15:33:07 82

原创 《Java高并发程序设计》读书笔记(第一章)

学习高并发之前了解的一些概念:同步(Synchronous):同步方法调用一旦开始,调用者必须等到方法调用返回后才能进行后续行为。异步(Asynchronous):异步方法更像一个消息传递,一旦开始,方法调用会立刻返回,调用者可以继续进行后续操作,而异步方法通常会在另外一个线程中“真实”地执行。并发(Concurrency):偏重于多个任务交替执行,多个任务之间还有可能串行并行(Parallelism):多个任务同时执行临界区:表示一种公共资源或是共享数据,可以被多个线程使用,但每一次只能有一个线

2020-05-22 23:17:06 166

原创 《深入理解Java虚拟机》学习笔记

JDK:用于支持Java程序开发的最小环境,包括Java程序设计语言、Java虚拟机、JavaAPI三部分。JRE:支持Java程序运行的标准环境,包括Java SE API子集和Jaca虚拟机。Java虚拟机发展史1.Sun Classic/Exact VMClassic VM:只能使用纯解释器方式来执行Java代码,如果要使用JIT编译器,必须进行外挂,而解释器与编译器不能配合工作。Exact VM:虚拟机可以知道内存中某个位置的数据具体是什么类型。2.Sun HotSpot VM结合了前

2020-05-19 14:01:11 729

原创 Java面试高频知识点总结

Java基础- NIO的实现原理NIO主要有三大核心部分:Channel(通道),Buffer(缓冲区), Selector。传统 IO 基于字节流和字符流进行操作,而 NIO 基于 Channel 和 Buffer(缓冲区)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。Selector(选择区)用于监听多个通道的事件(比如:连接打开,数据到达)。因此,单个线程可以监听多个...

2020-04-13 16:31:56 1383

原创 计算机网络学习笔记

OSI模型OSI是Open System Interconnection的缩写,意为开放式系统互联。国际标准化组织(ISO)制定了OSI模型,该模型定义了不同计算机互联的标准,是设计和描述计算机网络通信的基本框架。OSI模型把网络通信的工作分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。这是一种事...

2020-03-27 21:38:29 740

原创 HTTP和HTTPS协议

HTTP协议HTTP是一个无状态的协议。无状态是指客户机(Web浏览器)和服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后服务器返回响应(response),连接就被关闭了,在服务器端不保留连接的有关信息.HTTP 遵循请求(Request)/应答(Response)模型。客户机(浏览器)向服务器发送请求,服务器处理请求并返回适当的应答。所有 HTTP 连接都被构造成...

2020-03-26 19:12:03 173

原创 Java锁

Java锁是什么?为什么要用Java锁?在并发编程中,经常遇到多个线程访问同一个共享资源 ,这时候作为开发者必须考虑如何维护数据一致性,在java中synchronized关键字被常用于维护数据一致性。synchronized机制是给共享资源上锁,只有拿到锁的线程才可以访问共享资源,这样就可以强制使得对共享资源的访问都是顺序的,因为对于共享资源属性访问是必要也是必须的。一般在java中所说的锁...

2020-03-24 16:18:10 1087

原创 Java多线程并发

今天开始复习Java线程和学习多线程并发。首先复习有关Java线程的知识。程序:就是磁盘上的一个文件(代码段)进程:运行中的程序,独占内存,pid,线程:进程中的进程,是独立运行的代码段JAVA线程实现/创建创建方式1.继承Thread类Thread 类本质上是实现了 Runnable 接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过 Thread 类的 start...

2020-03-22 19:00:39 383

原创 Java复制

复制就是将一个对象的引用复制给另外一个对象,一共有三种方式,第一种直接赋值,第二种浅拷贝,第三种深拷贝,这三种概念实际上都是为了拷贝对象。那么在这里再提出拷贝的解释,拷贝又分为引用拷贝和对象拷贝,其中引用拷贝就是创建一个指向对象的引用变量的拷贝,而对象拷贝则是创建对象本身的一个副本。下面再来学习三种复制方式:直接赋值复制直接赋值。在 Java 中,A a1 = a2,我们需要理解的是这...

2020-03-20 18:46:33 174

原创 Java序列化

1.Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型。2.将序列化对象写入文件之后,可以从文件中读取出来,并且对它进行反序列化,也就是说,对象的类型信息、对象的数据,还有对象中的数据类型可以用来在内存中新建对象。3.整个过程都是 Java 虚拟机(JVM)独立的,也就是说,在一个平台上序列...

2020-03-20 18:26:20 111

原创 Java泛型

概念:泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。比如我们要写一个排序方法,能够对整型数组,字符串数组甚至其他任何类型的数组进行排序,我们就可以使用java泛型。泛型方法<E>你可以写一个泛型方法,该方法在调用时可以接收不同类型的参数。根据传递给泛型方法的参数类型,编译器适当地处理每...

2020-03-20 15:10:12 101

原创 Java内部类

本文参考Java 类中不仅可以定义变量和方法,还可以定义类,这样定义在类内部的类就被称为内部类。根据定义的方式不同,内部类分为静态内部类,成员内部类,局部内部类,匿名内部类四种。1:成员内部类(就是在一个类中定义一个普通的类)2:静态内部类(就是在一个类中定义一个静态的内部类)3:局部内部类(就是定义在类的方法中或者代码块中)4:匿名内部类(没有名字的类,是继承的另一种简介方式)静...

2020-03-19 18:33:29 67

原创 Java注解

概念:Annotation是Java提供的一种对元程序中元素关联信息和元数据的途径和方法,它是一个接口,程序可以通过反射来获取指定程序中元素的Annotation对象,然后通过该Annotation对象来获取注解中的元数据信息。四种标准元注解元注解的作用是负责注解其他注解。1.@Target 定义所修饰的对象范围:Annotation可被用于packages、types(类、接口、枚举、A...

2020-03-19 15:49:54 140

原创 Redis学习笔记

这两天在学习Redis,了解到了Redis的持久化,其中包括RDB和AOF。RDB(Redis DataBase):在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是Snapshot快照,它恢复时将快照文件直接读到内存里。Redis会单独创建(Fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。整个过程中,主进...

2020-02-15 18:46:42 75

原创 Java实现希尔排序

今天跟着学了一下希尔排序,学习到了两种方法实现,一种交换法,一种移位法,后者的速度要快于前者。希尔排序:希尔排序也是一种插入排序,它是简单插入排序优化后的一个更高效的版本,也称为缩小增量排序。原理:希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。java实现代码:public...

2020-02-12 16:44:16 123

原创 Java实现选择排序

选择排序原理:每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。public class SelectSort { public static int [] SelectSort(int [] array) { int i,j,k,temp; for (i=0;i<array.leng...

2020-02-11 17:52:05 81

原创 Java实现冒泡排序

冒泡排序原理:复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素已经排序完成。public static void main(String [] args) { int temp=0; int i,j; int []a ={3,5,1,-7...

2020-02-11 17:49:03 94

原创 Java实现第三方短信接口发送短信验证码

首先还是登陆注册用户信息,然后进入这个网站的首页之后我们先进入修改短信密钥拿到自己的安全密钥,然后进入上面的短信API接口页面可以看到他们官方给出了一个演示demoimport java.io.UnsupportedE...

2020-02-09 12:44:52 2309

原创 Java实现快速排序

快速排序原理:先从数据序列中选一个元素,并将序列中所有比该元素小的元素都放到它的右边或左边,再对左右两边分别用同样的方法处之直到每一个待处理的序列的长度为1, 处理结束。java实现代码:public static int[] QuickSort(int array[], int left, int right) { if (left>=right) ...

2020-02-09 12:14:03 104

原创 Java实现插入排序

插入排序的基本原理:在一组待排数中,分为有序和无序两类,默认把第一位数字看作有序序列,后面的为无序待排序列,每次从无序序列中取出一位,从有序序列中从后向前扫描插入,在逐步移位中完成排序。java实现代码:public static void main(String [] args) { int [] array={49,38,65,97,76,13,27,49,78,3...

2020-02-08 15:51:03 93

空空如也

空空如也

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

TA关注的人

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