自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

码行天下

本博客专注于IT技术,算法,数据结构等

  • 博客(19)
  • 资源 (1)
  • 收藏
  • 关注

原创 VIM+javacomplete搭建java开发环境

1、下载javacomplete 官方链接:http://www.vim.org/scripts/script.php?script_id=1785 2、解压安装包后可以看到有两个文件夹autoload和doc 3、拷贝两个文件到.vim目录下 4、进入~/.vim/autoload目录编译Reflection.jav...

2019-04-03 14:42:47 1857

原创 springboot2.x 复杂对象映射

model@ConfigurationProperties(prefix = "person")@PropertySource("classpath:application.yml")public class Person { private String name; private int age; List<Friend> friends; public String getName() { return name; }

2020-06-05 19:39:34 651

翻译 什么是NoSQL

翻译自:NoSQL泛指特定类型的数据库模型或者数据库管理系统NoSQL是一个非常广泛的概念,不指某一种特定的数据库模型。它指的是所有不适合于关系模型的数据库模型虽然NoSQL数据库自1960年就已经存在了,但是直到2000年初新的NoSQL系统才开始在市场上流行大数据问题NoSQL开始流行的一个主要原因是大数据问题。像谷歌和亚马逊这样的大公司因为巨大的用户量开始处理海量数据。这就导致了如下情况的出现:谷歌开发了Bigtable分布式存储系统,用于管理结构化数据,旨在可靠地扩展到PB级数据和数千

2020-06-04 13:48:43 725

翻译 什么是表

翻译自:https://database.guide/what-is-a-table/数据库表是一种将数据组织成行和列的结构,行列交叉组成网格表类似于电子表格应用程序中的工作表。每行也叫做记录,水平排列。列垂直排列也叫做域。行和列相交,形成网格。行和列的相交定义了表格中的每个单元格这是一个包含11行4列的表列的第一行通常显示该列的名称。表示该列显示的内容。例如,FirstName列表示一个人的名字。行一般没有标题,但第一列一般是一个唯一的标识符,例如ID。此字段也被叫做主键,并且主键是唯一(即每

2020-05-16 14:28:34 873

翻译 什么是Database Schema

翻译自:https://database.guide/what-is-a-database-schema/用数据库术语来说,schema(读作“ skee-muh”或“ skee-mah”)是数据库的组织和结构。schemas和schemata都可以用作其复数形式schema包含的对象可以是表,列,数据类型,视图,存储过程,关系,主键,外键等。A database schema可以用可视化的图表表示,下面的图表显示了数据库对象及其相互之间的关系。一个小型的包含三个表的数据库的基本架构图上面是一个

2020-05-15 17:50:13 5568

翻译 什么是数据库

翻译自:https://database.guide/what-is-a-database/数据库是以逻辑和结构化方式存储的数据集合数据的组织方式有利于有效地检索数据。并且可以根据需要对数据进行查找,插入,更新和删除大多数现代数据库都是使用Microsoft Access,SQL Server,MySQL等数据库软件构建的。但是严格来说,数据库可以是一个简单的Excel电子表格也可以是文本文件实际上,数据库不一定非要在计算机上。在创建计算机之前,存储数据的方式就是基于纸张的。企业和政府机构将所有数据

2020-05-14 19:27:08 635

原创 Mysql查询执行计划

mysql的优化器会根据表、列、索引的详细信息以及where字句中的条件,使用很多技术来有效执行SQL查询。比如:不需要读取所有的行就可以对巨大的表进行查询。优化器执行的最有效的一组查询操作就叫做查询执行计划。通过查看执行计划可以发现一些低效的操作,并以此为依据来改进SQL语句,实现高效查询。执行计划语法mysql>explain sql语句...

2020-05-13 17:21:08 156

原创 Redis五大数据类型之Lists

链表提供了高效的节点重排能力,以及顺序性的节点访问方式,并且可以通过增删节点来灵活地调整链表的长度。因为redis使用的c语言没有内置这种数据结构,所以redis构建了自己的的链表实现。链表在Redis中应用非常广泛,比如列表键的底层实现之一就是链表。**当一个列表键包含了数量较多的的元素,又或者列表中包含的元素都是比较长的字符串时,Redis会使用链表作为列表键的底层实现数据结构type...

2020-04-18 15:23:55 100

原创 Redis五大数据类型之Strings

字符串是redis最基本的数据类型。Redis字符串是二进制安全(只关心二进 制化的字符串,不关心具体格式.只会严格的按照二进制的数据存取。不会妄 图已某种特殊格式解析数据。)的,也就是说字符串可以包含任何类型的数 据,例如JPEG图像或者序列化的Ruby对象...

2020-04-08 21:00:42 155

原创 Thrift IO模型

thrift提供的网络服务模型有阻塞型和非阻塞型:阻塞服务模型:TSimpleServer、TThreadPoolServer非阻塞服务模型:TNonblockingServer、THsHaServer和TThreadedSelectorServerTSimpleServer该模型采用同步阻塞IO,一次只能接受并处理一个socket优点能够及时返回数据,无延迟对内核开发者来说简...

2020-03-19 20:43:56 593

原创 Java并发编程之CAS

在进行Java并发编程的时候,我们都会使用到锁来控制并发线程对临界资源的安全访问。用的最多的就是synchronized,但是synchronized属于重量级锁、悲观锁,在很多时候会引起性能问题。除了synchronized还有cas,cas属于乐观锁,在一定的场景下会比synchronized更高效。java.util.concurrent包下的ReentrantLock内部的AQS,还...

2020-03-12 11:59:56 128

原创 JVM垃圾收集算法之分代收集算法

算法描述JVM内存被分为了很多快,每一块中对象的存活周期不同,所以每一块所采用的垃圾回收算法也不同,这就是分代收集算法。算法步骤1、新生代:每次垃圾收集时都会有大批对象死去,只有少量存活,所以选用复制算法,只需要付出少量存活对象的复制成本就可以完成收集2、老年代:对象存活率高,没有额外的空间对他进行分配担保,所以使用标记-清理算法或者标记-整理算法来进行回收...

2020-03-05 15:46:19 178 2

原创 JVM垃圾收集算法之标记-整理算法

算法描述在前面的文章中我们提到了复制算法,没有看的同学可以学习一下:https://blog.csdn.net/qq_15682815/article/details/104636321复制算法也存在他自己的缺点,比如在对象存活率较高时就要执行较多的复制操作,效率将会变低。更关键的是,如果不想浪费50%的空间,就需要额外的空间进行分配担保,以应对被使用的内存中所有对象都100%存活的极端情...

2020-03-05 15:35:44 490

原创 JVM垃圾收集算法之复制算法

算法描述在之前的文章中我们讲到了标记-清理算法,如果没看的小伙伴可以返回学习一下:https://blog.csdn.net/qq_15682815/article/details/104632989。标记-清理算法的一个明显缺点就是效率低。为了解决这个问题,大牛们发明了复制(Copying)算法。算法步骤1、将可用内存按容量划分为大小相等的两块2、每次只使用其中的一块3、当这...

2020-03-03 17:23:07 607

原创 JVM垃圾收集算法之标记清理算法

算法描述标记-清除(Mark-Sweep)算法是最基础的JVM垃圾收集算法,JVM其他的垃圾收集算法都是从此算法演化而来。算法步骤1、标记:首先标记出所需要回收的对象2、清除:在标记完成后统一回收掉所有被标记的对象算法优点算法思路简单,容易实现算法缺点1、效率问题:标记和清除过程的效率都不高2、空间问题:标记清除后会产生大量不连续的内存碎片,空间碎片太多会导...

2020-03-03 16:58:11 481 3

原创 Java Meta-Annotation

Java Meta-Annotation主要介绍Java Meta-Annotation的基本概念、理解以及具体使用方法Annotation我们学习任何一个知识,首先应该了解的应该是它是什么,Annotation也是一样。下面是wiki对Annotation的解释:An annotation is extra information associated with a particular...

2019-10-22 17:01:50 207

原创 Linux 系统设置磁盘配额(测试系统Red Hat 4.8.5-36,文件系统为EXT4)

1、首先检查是否系统是否安装了quota 如果命令输出为空,怎需要安装quota 2、重新挂载磁盘 3、查看是否设置成功 4、检查磁盘配额并建立磁盘配额文件 5、设置用户的磁盘配额 6、查看磁盘配额 7、将test用...

2019-03-04 14:42:59 3763

原创 ps命令用户名过长显示不全

1、执行命令ps -ef,结果如图2、执行ps -o ruser=userForLongName -e -o pid,ppid,c,stime,tty,time,cmd,结果如图

2019-02-25 17:58:04 10434 2

原创 利用堆解决top k问题

解决思路     1、构建小顶堆,则堆顶元素就是目前k个元素中最小的元素     2、后续元素依次和堆顶元素比较,如果小于堆顶元素,则next     3、如果大于堆顶元素,将此元素插入堆中,重新堆化源码package dataStructures.tree.heap;/** * 利用堆解决top k问题 * 堆是一种完全二叉树,堆中每一个节点的值都必须大于等于(或小...

2019-02-19 11:34:39 571

Linux IO模型.emmx

详细描述了linux io模型(NIO、BIO、select、poll、epoll)的特点以及应用场景

2020-05-06

空空如也

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

TA关注的人

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