自定义博客皮肤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)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java编程思想笔记1

第一章 对象导论一种纯粹的面向对象的程序设计的方式万物皆对象 可以存储数据,也可以进行操作程序是对象的合集,通过发送消息来告知彼此=动作可以创建包含现有的对象包的方式来创建新的类型的对象每个对象都是一个类的实例一个特定的类型对象可以接受同样的消息伴随多态的可相互交换对象基类操作的都是泛化的对象非面向对象编程的编译器产生的函数调用是前期绑定,OOP程序直到运行的时候才能确定代码的地址,使用的是后期绑定为了执行后期绑定,Java 使用的特殊的代码方式来替代绝对地址调用Java的动态绑

2021-03-01 11:18:06 141

原创 网易后端笔试2020-0913

网易后端笔试第一题 leetcode 849 最近最大距离第二题 leetcode 91 但是将编码类型从两位变成三位,而且增加0即A->0B->1C->10D->11E->101F->110…第三题 拓扑排序第四题 看不去了 我已经吐了。。。...

2020-09-13 12:57:49 274

原创 Redis Zset跳表

参考《Java Guide》Redis数据结构有序列表Zset的数据结构,类似Java里面的HashMap实现,set/value保证内部额唯一性,value赋予一个排序权重score实现排序的目标为啥使用跳表 或者与红黑树二叉平衡树比较性能:再看高并发情况下,树需要进行对于整个数据结构平衡的操作,跳表只需要进行局部实现:跳表实现简单通过下层链表与上层链表数量一半,可以实现类似二分查找,但是删除与添加会退化成O(N)因此SkipList不要求严格的对应关系,而是为每个节点随机出一个层数(.

2020-08-20 15:04:03 288

原创 Redis基础 补充

Redis主从复制原理来自《Redis设计与实现》旧版本的实现原理:同步(sync)命令传播无法高效处理断线以后的重复复制情况新版本的实现:使用PSYNC代替SYNC来执行复制时候的同步操作。完整重同步:主服务器重建RDB文件,想从服务器发送保存在缓冲区内的写命令来实现同步部分重同步:主服务器将主从断开时候写的命令发送给服务器,从而实现同步部分重同步的实现原理:主服务器的复制偏移量与从服务器的复制偏移量维护复制偏移量,可以很轻易了解到当前 主从复制器的一致状态主

2020-08-20 14:38:57 98

原创 双指针法LeetCode总结

双指针方法遍历对象的过程中,使用两个指针进行操作,实现相应的目的快慢指针经典环形链表待补充对撞指针适用于有序数组,设置数组左索引与数组右索引代码基本流程是public f(int[] nums){ int left = 0; int right = nums.length-1; while (left <= right){ left++; //进行操作 rigth--; }}盛水最多的容器class

2020-08-20 01:27:41 197

原创 Redis分布式锁 基础学习

Redis分布式锁参考GitHub《Java Guide》分布式锁的使用场景:避免不同的节点的重复工作;避免破坏数据的正确性特点与本地锁一样,需要保证互斥性可重入性锁超时高效阻塞与非阻塞公平锁与非公平锁Java中常见的分布式锁实现的方式:本质===》一段时间内只允许一个用户进行操作MySQL里面中的悲观锁基于Zookeeper的有序节点基于Redis的单线程可能碰到的问题:锁超时:场景:某个服务获取锁以后的宕机,锁无法被其他获取设置锁的超时机制,保证服

2020-08-20 00:31:45 97

原创 Redis哨兵模式与高可用 基础学习

Redis哨兵模式与高可用来自《Redis设计与实现》Sentinel是Redis高可用的解决方案哨兵是一个独立的进程,原理:哨兵通过发送命令,等待redis服务器响应,从而监控运行的多个Redis实例。由一个或者多个sentinel实例组成的sentinel系统可以监视任意多个服务器进程,以及这些主服务器属下的所有从服务器,并在被监视的主服务器下线以后,自动将现行的服务器属下的某个从服务器升级为新的猪服务器,然后由新的服务器代替已经下线的主服务器继续处理命令的请求。Sentinel启动时,需

2020-08-19 15:05:59 93

原创 消息队列基础总结

消息队列基础总结消息队列的含义:分布式系统中的重要组件,使用队列Queue与生产者-消费者模式好处异步处理提高系统性能(流量削锋,减少响应所需要的时间):不适用消息队列的时候,用户请求的数据直接写入数据库,高并发压力大响应慢;使用消息队列以后,用户请求的数据发送给消息队列以后直接返回,消息队列的消费者进程从消息队列里面获取数据,异步写入数据库。消息队列服务器处理速度大于数据库,使得响应速度大幅度提高。所以:异步处理,使得短时高并发产生的事务消息存储在消息队列里面,从而削平高峰时期的并发

2020-08-18 21:05:03 91

原创 Redis基础知识

特点:方便扩餐-数据之间没有关系大数据量高性能8w/s 写11w/s读数据多样性 不需要事先设计数据库RDBMS与NoSQL基础知识16个数据库,默认使用的是第0个五大数据类型String 、list、 set、 hash、zset事务Redis单条命令保存保证原子性,但是事务是不保证原子性Redis没有事务隔离的概念:所有命令在发起执行的时候才会执行Redis事务:开启事务(multi)》命令入队》执行事务(exec)乐观锁wat

2020-08-17 22:35:40 71

原创 HashMap源码及实现原理

Hash基础hash的要点:将任意长度的输入转换成固定长度的输出单向要高效冲突少需要搞清楚的问题负载因子与扩容原理Node对象的组成TreeNode对象的组成链化put的过程hash值得获取过程扰动函数路由算法常量//默认table大小 16static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16//最大容量static final int MAXIMUM_CAPACITY = 1

2020-08-17 19:55:13 122

原创 红黑树基本原理

红黑树是一颗二叉查找树红黑树的节点不是红色就是黑色叶子节点的是黑色(NIL)根节点都是黑色的root红色节点的两个子节点一定是黑色的,不可能存在两个相连的红色节点黑高:任意一个节点的叶子的节点路径上的黑节点数量是相同的如果一个节点存在一个黑子节点,那么该节点必然有两个子节点1,三种基本操作变色左旋右旋2,查找:与二叉搜索树一样3,插入:新建节点必须是红色的当红黑树是空树的时候插入+染色当插入的节点已经存在的情况查找到相应的节点以后把值更新

2020-08-17 19:52:13 163

原创 Java基础数据结构及其实现原理(一)

Java基础数据结构Java类库中的基础数据结构关注的问题:实现的方式 基础的数据结构是否有序 是否为空 是否重复1, ListArrayList的实现原理实现原理:数组,可扩容基本的特点:查询快增删慢//无参构造 默认容量是空public ArrayList() { this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA; }private static final Object[] DEFAU

2020-08-01 22:50:31 357

原创 计算机网络基础补全

计算机网络基础复习1, OSI七层模型与TCP/IP五层模型OSI:参考模型对应内容主要作用对应实体以及相应协议应用层程序针对特定应用的协议表示层字符或字设备固有数据格式和网络标准数据格式的转换会话层通信管理,负责建立和新开通网络连接传输层段/消息芙蓉里两罐节点之间的数据传输网络层包地址管理与 路由选择数据链路层帧互联设备之间的传送与是被数据帧物理层比特流TCP/IP为四层模型应用层:

2020-08-01 11:14:11 248

原创 MySQL事务与事件

事务事务由单独一条或多条SQL语句组成,在事务单元中,每条SQL语句是相互依赖的。整个单元作为一个不可分割的整体,一句SQL语句执行失败,则整个事务回滚。InnoDB支持事务。事务的一般存在周期是:初始化事务,创建事务,应用SELECT语句查询相应数据是否被录入,提交事务。四个步骤缺一不可。START TRANSACTION; INSERT INTO connectiuons(em...

2020-07-15 15:40:57 792

原创 JAVAweb基础

HTTP错误码200:请求成功3xx:请求重定向4xx:找不到资源5xx:服务器错误代码Servlet原理实现javaweb的接口实质上调用的是servlet包下面的void service(ServletRequest var1, ServletResponse var2)方法,自己的编写的实现类将请求与响应的部分单独实现:Mapping路径指定固有优先级的路径映射优先级最高,不处理会默认走ServletContextweb容器在启动的时候,会为每个web程序创建一个Servlet

2020-07-15 15:40:26 121

原创 二叉树的遍历算法(一)

///*// 复习一下 树的遍历算法// 递归方法:前中后// 非递归方法:前中后+层次//// 树的定义://public class TreeNode {// int val;// TreeNode left;// TreeNode right;// TreeNode(int x){// val =x;// }//}////*///public class Q1 {//递归函数写的时候就跟手算是一样的

2020-07-15 15:33:47 270

原创 三大基本排序算法

三大基本排序算法快排与快排切分public class quickSort { //快速排序的核心思想 分治+递归 //采用操作里面 比较核心的就是 使用一个临时变量pivot存储中间量,然后空出来每次强制替换的话 就可以少很多事情、 //时间复杂度O(NlogN)-O(N^2) //空间复杂度O(1) public static void quickSort(int[] array, int L, int R){ if (L >= R)

2020-07-15 15:29:46 229

原创 Java元注解

关于注解的解释元注解:@Retention @Documented @Target @Inherited @Repeatable@Retention注解的保留期 常用的方式是[email protected]_TYPE 可以给一个注解进行注解ElementType.CONSTRUCTOR 可以给构造方法进行注解ElementType.FIELD 可以给属性进行注解ElementType.LOCAL_VARIABLE 可以

2020-07-15 15:17:11 110

原创 JAVA多线程基础(二)

JUCjava.util工具包普通的Thread类以及实现类Runnable没有返回值,实现效率比Callable低Java默认的线程有main与GCjava是无法主动开启线程实际上是调用的是native方法实现的,底层是C++并发:多线程操作同一个资源(利用的是CPU快的特性 )并行:多个线程可以同时执行java线程的状态:就绪、运行、阻塞、等待、超时等待wait与Sleep的区别wait==》OBject类sleep==》Thread类锁的释放wait会释

2020-07-15 15:15:10 178

原创 Java多线程基础(一)

Java多线程线程就是独立的执行路径程序在运行的时候,即使没有自己创建线程,后台也有多个线程main是主线程,是系统的入口,用以执行整个程序进程中如果开辟了新的线程,线程运行由调度器安排,调度器是与操作系统紧密相连的先后不能干预同一个资源存在的资源争夺的情况,需要考虑到并发控制线程会带来额外的开销、如CPU调度时间,并发控制线程在自己的工作内存交互,内存控制不当会造成数据的不一致线程的创建方式继承Thread类子类对象具有多线程能力启动线程:子类对象.start()不建议使用

2020-07-15 15:13:33 77

原创 Swagger基础学习

Swagger使用教程API框架Restful文档自动生成工具,API文档与定义的同步更新SpringBoot集成Swagger使用两个库 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.10.5</version> </depen

2020-07-01 22:05:41 93

原创 SysML到OSLC资源的转换方法

SysML到OSLC资源的转换方法涉及到SysML到OSLC资源的转换,需要使用其进行转换使用OSLC资源的表现形式为的RDF,RDF是一种主谓宾的形式的三元组。使用这种标准的资源属性促进了资源的可操作性质。客户端只需要的理解所检索的资源属性语义,OSLC适配器需要理解所传入更新的资源属性语义。OSLC对需求的资源shape具有标准化的属性oslc_rm:elaboratedByoslc_rm:elabroatesoslc_rm:speicfiedByoscl_rm:specifiesOS

2020-07-01 10:25:08 605

原创 Docker基础学习

Docker基础来自于狂神,详见狂神的B站 https://www.bilibili.com/video/BV1og4y1q7M4核心思想是隔离,通过隔离机制可以实现的服务器性能容器化技术也是一种虚拟化技术。相比较虚拟机技术:传统的虚拟机技术,虚拟出一套硬件,运行一个完整的操作系统,在这个操作系统上面运行安装软件容器内应用直接运行宿主机的内容,无自己的内核,无虚拟硬件容器间相互隔离,每个容器内部均有自己的一套文件系统,互不影响Docker的优势应用更快速的交付与部署更加便捷的升

2020-06-10 19:25:43 172

原创 CentOS开机启动没有无外网IP

CentOS开机启动没有无外网IP与NetworkManager服务冲突,关闭NetworkManagerservice NetworkManager stopservice Network restart

2020-06-09 10:04:09 188

原创 Nginx基础知识

niginx高性能HTTP与反向代理的web服务器,占有内存少,并发能力强基础正向代理:局域网中的客户端想要访问Internet需要通过代理服务器来实现。需要在客户端配置代理服务器。反向代理:需要客户端将请求发送到反向代理服务器,服务器选择相应的目标服务器,最终返回相应的数据。但是对外只暴露代理服务器,隐藏真实服务器IP负载均衡:在高并发的情况下,·服务器数量增多时候,将原先的请求集中到单服务器上的情况改为分发到多个服务器上动静分离:为了加快网站的解析速度,可以把动态页面与静态页面由不同的服务器

2020-06-08 16:50:23 120

原创 操作系统学习(二)

文件管理文件的逻辑结构无结构文件:流式文件有结构文件:记录式文件分定长记录与可变长记录顺序文件:串结构或者顺序结构 是否与关键字有关 与数据结构相关索引文件:索引表自身是顺序定长文件,适用于信息处理及时性较高的场合索引顺序文件:一组记录对应一个索引表项文件目录文件控制块FCB:建立文件名、外存地址以及文件属性文件表树形目录结构无环图目录结构 行成有向无环图索引节点文件物理结构文件的物理结构:参考页号与页内地址,建立相应的 逻辑块号与块内地址连续分配 参考机械硬盘的结构 在顺序读取

2020-06-05 13:41:18 127

原创 操作系统学习(一)

操作系统知识需要实现的功能处理机管理存储器管理文件管理设备管理特征并发共享虚拟 空分复用技术 时分复用技术异步指令、处理器状态与程序特权指令与非特权指令用户态与核心态应用程序与核心程序内核的主要内容内核是计算机上面配置的底层软件,是操作系统最基本最核心的部分实现操作系统内核功能党的程序是内核程序时钟管理、中断处理、原语原语是一种特殊的应用程序,是最接近硬件的部分,这种程序的运行具有原子性系统资源管理:进程管理、存储器管理、设备管理等功能大内核:高性能,结构

2020-06-03 11:01:31 305

原创 将SolidWorks机器人模型导入webots的快捷方法

之前写过一篇关于外部机器人模型如何导入到webots里面的并进行装配的过程,适用于一些模型比较简单的例子。如果对于六轴机器人这样的结构复杂的装配体,如果在webos里面的进行模型的装配,过程会变得特别繁琐,工作量巨大。所幸的是,webots官方提供了一个工具,可以实现的机器人装配体URDF到webots模型的转换。这边需要使用两个工具:一个是SolidWorks的插件solidworks_urdf_exporter另一个是webots官方提供的URDF2WEBOTS具体的插件安装请参考其他博

2020-05-23 19:19:22 4396 13

原创 JAVA基础知识查漏补缺

跨平台特性是通过JVM来实现的 JAVA内存分配 栈:存放方法中的局部变量。方法的运行一定是在栈中。 堆 New出来的东西在堆中。存在地址值,存在默认值 方法区 存储.class 的相关信息,包含方法的信息 本地方法栈 寄存器This 通过谁调用的方法,谁就是this 字符...

2020-04-04 15:37:37 122

原创 webots使用以及第三方模型导入装配、运动学仿真教程

因为项目需要使用机器人的运动学仿真,因此需要的使用相应的机器人运动学仿真软件。在查阅了一些资料以后,决定使用webots作为仿真的基本软件。但是webots的使用教程,国内基本没有。仅在博客园的内的有一个系列博客,介绍了webots的使用的方法。但是没有提供相应的装配方法。webots自身的使用手册与用户说明已经够实用,但是大部分细节都没有介绍。因此经过一个周的学习与研究,了解掌握了webot...

2019-11-06 20:44:16 11689 6

原创 MySQL数据完整性

数据完整性是指数据的正确性与相容性,是为了防止数据库存在不正确的数据。定义了完整性约束以后,MySQL的服务器可以随时检测处于更新状态的数据库的内容是否符合完整性约束用于保证数据的一致性与正确性,从而防止数据的意外破坏以及提高相应的效率。关系模型提供了实体完整性、参照完整性以及用户定义完整性3项规则。1. 实体完整性实体是一个数据对象,是指客观存在的并可以相互区分的事物。在数据库中,实...

2019-03-06 16:18:55 306

原创 MySQL索引

索引是一类特殊的数据结构,其目的是为了优化数据库的查询速度。用户创建的索引指向数据库中具体数据的所在位置。通过索引查询的数据不需要遍历数据库。类似书的目录。用空间换时间。索引的类型:普通索引,唯一索引(主键)、全文索引(FULLTEXT参数,仅支持MyISAM)、单列索引、多列索引和空间索引。全文索引为例子:在创建table时候建立索引CREATETABLE cards( ...

2019-03-06 15:49:46 71

原创 MySQL的存储引擎

1.InnoDBInnoDB为MySQL提供了事务、回滚、崩溃修复能力与多版本并发控制的能力。支持自动增长列AUTO_INCREMENT。MySQL中自增长列必须为主键。插入值时候,如果自动增长列不输入值,则插入的值为自动增长后的值。如果输入的值为0或NULL,则插入的值也为自动增长的值。如果插入了之间不存在的确定的值,则可以直接插入。引擎支持外键(FOREIGN KEY)Inno...

2019-03-04 16:17:38 78

原创 SQL的一系列问题

最近在做SQLZOO熟悉SQL的语言规则与语法,里面有很多特别好用的技巧1. 子查询参考外部查询的数值,并使用之在每一個州中找出最大面積的國家,列出洲份 continent, 國家名字 name 及面積 area。 (有些國家的記錄中,AREA是NULL,沒有填入資料的。)SELECT continent, name, area FROM world x   WHERE area &...

2019-02-26 20:17:40 293

原创 MySql初始化安装中出现的问题

1.首先使用Mysql官方链接下载安装以后,在系统中添加环境变量。如下图所示:path里面添加一项bin文件夹的地址,然后环境变量里面添加一项关于MYSQL_HOME地址是MySQL server的根文件目录。2. 在路径的添加以后,使用管理员权限启动cmd运行mysql,首先运行mysqld --install 安装服务然后使用mysqld --initialize 初始化...

2019-02-20 19:38:21 650

原创 Hello World!

Hello World!从今天开始写blog,算是对新年愿望的一个慢慢实现了。、先学SQL。

2019-02-19 09:09:27 52

数字信号处理-朱光明译

数字信号处理课本影印版,朱光明翻译,电类学科的基础课程

2016-01-22

空空如也

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

TA关注的人

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