- 博客(18)
- 收藏
- 关注
原创 缓存问题
缓存常用架构缓存穿透定义:访问一个不存在的key,缓存和数据库中均无需要查询的数据解决方案:接口层增加数据有效性的校验缓存中和数据库中均不存在的数据也更新至缓存中,value记为null,但是缓存时间不宜过长布隆过滤器缓存击穿定义:缓存过期的一瞬间大量请求,会将查询压力转移至数据库解决方案:热点数据永不过期互斥锁缓存雪崩定义:大量的缓存设置同一时间过期,大量请求会直接转移至数据库解决方案:缓存过期时间随机设置热点数据永不过期...
2020-08-16 14:46:50 107
原创 JVM-运行时数据区
线程共享区:方法区,堆线程私有区:虚拟机栈,本地方法栈,程序计数器1. 程序计数器(Program Counter Register)1.1 概述内存空间小,线程私有。当前线程所执行的字节码的行号指示器。字节码解释器通过改变计数器的值来选取下一条需要执行的字节码指令。字节码解释器工作是就是通过改变这个计数器的值来选取下一条需要执行指令的字节码指令,分支、循环、跳转、异常处理、线程恢复等基...
2020-03-24 14:33:22 105
原创 sword16-反转链表
输入一个链表,反转链表后,输出新链表的表头。ANY:1、递归2、将链表分组往前处理3、尾插法public class Sword16 { public static void main(String[] args) { Node<Integer> node1 = new Node<>(1); Node<Intege...
2020-03-02 18:19:29 90
原创 sword15-链表中倒数第K个节点
输入一个链表,输出该链表中倒数第K个结点。为了符合习惯,从1开始计数,即链表的尾结点是倒数第1个节点。例如,一个链表有6个结点,从头结点开始,它们的值依次是1,2,3,4,5,6。则这个链表倒数第三个结点是值为4的结点。ANY:快慢指针法,快慢指针之间间距为K,当快指针走到链表尾部时,慢指针则刚好为倒数第K个节点 private static Node getKNodeByTail(Nod...
2020-03-02 14:24:03 81
原创 sword-07 用两个栈实现一个队列
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型ANY:队列定义:FIFO(先进先出)栈定义:LIFO(后进先出)push时将数据都推入一个数据栈,第一次pop时将数据栈所有数据pop后压入转换栈,此时转换栈的pop顺序满足FIFO,pop出栈顶元素即可,以后每次pop判断转换栈是否为空,为空时将数据栈继续执行pop操作后压入public class...
2019-11-22 15:13:59 78
原创 sword-06 根据先序遍历和中序遍历重建二叉树
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回根结点。ANY:前序遍历(又称先序遍历):根左右中序遍历:左根右前序遍历的第一个节点一定是根节点由此可得出左子树为472,根节点1,右子树为5386,由此...
2019-11-22 14:09:11 83
原创 sword05-逆序打印链表
输入一个链表的头节点,从尾到头打印每个节点的值ANY:1、递归大法2、利用栈的特性public class Sword05 { public static void main(String[] args) { Node<String> node1 = new Node<>("A"); Node<String>...
2019-11-15 15:27:09 98
原创 sword03-在二维数组寻找目标数
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。ANY:从右上角开始比较如果小于X,则可以跳过所在行如果等于X,返回如果大于X,则跳过所在列public class Sword03 { public static void main(String[] ...
2019-11-15 10:09:24 82
原创 sword02-设计单例类
设计一个类,我们只能生成该类的一个实例2.1 饿汉式在类的初始化的时候就创建好对象,适用于对象不是很占内存的情景下,不能做到延迟加载,线程安全 ```或者```javapublic class Singleton2 { private static Singleton2 singleton2; static { singleton2 = new S...
2019-11-14 10:29:56 78
原创 spring-security踩坑之旅hasRole
spring-boot在集成spring-security后通过@EnableGlobalMethodSecurity开启相应注解注解在controller的具体方法上可以通过添加注解@PreAuthorize来控制权限PreAuthorize通常使用hasRole和hasAuthority来控制访问权限,但是hasRole会有一个比较坑的地方源码如下: public final b...
2019-08-12 11:58:28 1593
原创 spring-boot之集成druid
1.主要依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.18<...
2019-08-01 22:11:00 70
原创 spring-boot之集成swagger
1.主要依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</versi...
2019-08-01 22:09:31 128
原创 spring-boot之mybatis-generator代码生成
利用mybatis的generator生成mapper和model文档地址:mybatis-generator主要文件1.代码生成类 List<String> warnings = new ArrayList<String>(); boolean overwrite = true; File configFile = new File("genera...
2019-07-31 17:51:22 76
原创 腾讯云服务器(centos)搭建mysql和java环境
安装mysql检查是否安装rpm -qa | grep mysql下载rpmwget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm安装rpmrpm -ivh mysql-community-release-el7-5.noarch.rpmyum安装mysqlyum install mys...
2019-07-08 14:48:58 222
原创 nacos dubbo简单实践
nacos最新版下载地址:https://github.com/alibaba/nacos/releasesnacos不仅可以作为配置中心,也可以作为dubbo的注册中心从而取代zk,本文只是将nacos作为注册中心的简单实践nacos安装教程参考:https://blog.csdn.net/weixin_44375512/article/details/85786884provider:...
2019-07-01 17:46:39 414
原创 MAC git 命令自动补全
由于git命令在mac上没有提示,有些比较长的命令参数敲起来可能不是很方便,以下简单几步让git+tab可用查看本机git版本 git --version执行 curl https://raw.githubusercontent.com/git/git/v此处填入意第一步查出的版本号/contrib/completion/git-completion.bash -o ~/.git-com...
2019-02-14 14:48:45 480
原创 nacos 0.7 配置管理
nacos地址:https://nacos.io/zh-cn/spring-cloud-alibaba:https://github.com/spring-cloud-incubator/spring-cloud-alibaba spring-cloud-alibaba作为spring-cloud的新成员有一段时间了,作为完全国产大厂的作品,虽然目前还是处于大量集成和修bug阶段...
2019-01-05 12:38:11 1075 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人