摘要:
使用数组实现环形队列 package com.codezs.datastruct.queue; public class CircleQueue { private String[] items; private int size = 0; //指向队列头部 private int head = 0 阅读全文
摘要:
synchronized synchronized java中的关键字,主要用于加锁。添加的锁有一下几个特点: 互斥性 同一时间点,只有一个线程可以获得锁,获得锁的线程才能处理被synchronized修饰的代码。 阻塞性 只有获得锁的线程才可以执行被synchronized修饰的代码,没有获得锁的 阅读全文
摘要:
常见Java开发笔试题 包含的模块 本文含有: Java 基础、容器、多线程、反射、对象拷贝、Java Web 、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、MyBatis、RabbitMQ、Kafka、Zookee 阅读全文
摘要:
判断链表是否为环形 思路: 定义两个指针fast、slow, 一次循环中让fast走两步,slow走一步。 看两者有无相遇的机会(判断两个指针是否为同一节点),相等则为同一个节点-->链表为环形 判断链表是否为环形的实现 package com.codezs.datastruct.mylinkedl 阅读全文
摘要:
单链表反转 思路: 单链表反转:就是把每个节点的指针域由原来的指向下一个节点变为指向其前一个节点。 思路: 1.因为单链表没有指向前一个节点的指针域,所以这里需要创建一个指向前一个节点的指针pre,用于存储每一个节点的前一个节点。 2.需要定义一个保存当前节点的指针cur,以及下一个节点的next。 阅读全文
摘要:
Redis 什么是Redis? Remote Dictionary Service 远程字典服务。Redis是一个非关系型数据库(NOSQL->Not Only SQL)。 特点 数据结构比较简单(以key-value的方式存储数据) 数据可以存储在内存中 支持自动持久化 弱化了事务 能用来做什么? 阅读全文
摘要:
使用单链表实现LRU(Least Recently Used)淘汰缓存机制 需求:存在一个单链表,在单链表尾部的都是越早之前添加的元素。 当元素被访问到时,会添加进缓存(也就是这个单链表中)。 如果这个元素在之前已经被缓存到了链表中,则将这个元素从原来的位置删除,用头插法放到链表的头部。 如果这个元 阅读全文
摘要:
重学数据结构(二) 对线性表的顺序表进行实现 public abstract class MyList<T>{ //定义顺序表的初始容量 final int maxSize = 10; //对数据元素进行存储 private T[] list; //顺序表中元素的个数 private int len 阅读全文
摘要:
重学数据结构(一) 数据结构的基本概念 1.数据结构 数据结构是指互相直线存在着一种或者多种关系的数据元素的集合。 2.逻辑结构 逻辑结构是指数据之间的相互关系,通常分为四种结构: 集合:结构中的数据元素都是同一种类型。 线性结构:结构中的数据元素之间存在一对一的关系。 树形结构:结构中的数据元素之 阅读全文
摘要:
设计模式学习之路(二) 面向对象 面向对象编程:OOP 全称Object Oriented Programming。 面向对象编程语言:OOPL 全称Object Oriented Programming Language。 面向对象的特点: 面向对象编程是一种编程范式或编程风格。它以类或对象作为组 阅读全文