- 博客(10)
- 收藏
- 关注
原创 844. 比较含退格的字符串
844. 比较含退格的字符串 给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。 注意:如果对空文本输入退格字符,文本继续为空。 public boolean backspaceCompare(String S, String T) { // 既然是退格,就从后往前找 for(int i = S.length() - 1, posT = T.length() - 1; i >= 0 || posT >= 0; i--,
2020-09-30 17:17:27
136
原创 701. 二叉搜索树中的插入操作
701. 二叉搜索树中的插入操作 给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据保证,新值和原始二叉搜索树中的任意节点值都不同。 注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回任意有效的结果。 // 二叉树插入 public TreeNode insertIntoBST(TreeNode root, int val) { // 如果为空,则创建一个返回 if(root == null){
2020-09-30 15:14:29
153
原创 枚举类 valueOf 后强转的问题
枚举类 valueOf 后强转的问题 遇上过的最诡异的问题了。。。 package site.xunyi.jdk.lang; import org.junit.jupiter.api.Test; public class EnumTest { @Test public void testValueOf(){ Week monday = getByName(Week.class, "monday"); } private <T> T getBy
2020-06-20 23:35:05
208
原创 docker-compose 搭建 redis 集群
docker-compose 搭建 redis 集群 前言 在工作的时候,使用了 redis 的脚本功能,据说对集群的支持不是很好,于是想要试一下在集群环境到底怎么用。由于公司电脑没有虚拟机,只有 docker, 于是就开始跟着菜鸟教程准备开始搭建。 环境 windows10, docker 三件套 正文 下载镜像 启动 docker,下载 redis 最新镜像 docker pull redis:latest 设置共享文件夹 打开 virtualbox ,点击设置,共享文件夹,编辑共享文件夹的地址和名字
2020-06-20 23:28:41
374
原创 JMH 为基准测试 JMH had finished, but forked VM did not exit, are there stray running thread
JMH 为基准测试 JMH had finished, but forked VM did not exit, are there stray running thread 在使用jmh进行测试时,使用了 redisson, redisson内部创建了线程,因此在jmh测试结束后,还在等待其他线程结束,报了以上的信息,以及还存在的线程的信息 可以使用 @TearDown 注解,回收线程,以处理这个问题 如使用 RedissonClient 时,可以使用如下的代码 @TearDown public void
2020-05-27 15:24:21
939
原创 Mybatis PageHelper不生效的原因
Pagehelper不生效的原因 使用场景是在一个类初始化时,使用@PostConstruct注解,初始化类时引起的。 @Component public class Demo{ @Autowired private DemoMapper demoMapper; @PostConstruct public void init(){ PageHelper.startPage(1, 1)...
2020-04-11 13:28:47
1756
原创 JUC多线程-2
并发工具类 CyclicBarrier 同步屏障,只有到达这个屏障的线程到达指定数目时,所有线程才能继续运行下去 在屏障前阻塞后,只有符合以下情况才能结束等待: 最后一个线程到达,即index == 0 超出了指定时间(超时等待) 其他的某个线程中断当前线程 其他线程中断了另一个等待的线程 其他的某个线程在等待屏障超时 其他某个线程调用了屏障的reset()方法,恢复初始状态 构造方法 Cyc...
2020-03-03 16:08:02
222
原创 JUC多线程-1
1.多线程基础 其主要优势在于充分利用了CPU的空闲时间片,可以用尽可能少的时间来对用户的要求作出响应 另外,由于同一个进程的所有线程是共享同一内存,所以不需要特殊的数据传输机制,对于任务的协调操作、资源分配,能做的更好 创建多线程的方式 Thread 继承Thread类。重写run方法。启动时,调用实例的start方法 Runnable 实现Runnable接口。实现run方法。启动时,...
2020-03-02 23:25:17
141
原创 创建虚拟机
linux 1 创建虚拟机 我用的是VMware workstation15.5pro 首先点击创建虚拟机 选择典型,点击下一步 可以选择稍后安装操作系统。 或者选择安装程序光盘映像。映像可以从http://isoredirect.centos.org/下载 我下的是CentOS-8-x86_64-1905-dvd1.iso 选择想要安装的操作系统类型以及版本 设置虚拟机名称,以及虚拟机...
2020-01-15 22:40:11
129
原创 java锁
锁 锁按是否可重入可分为可重入锁和不可重入锁 按竞争策略可分为公平锁和非公平锁 不可重入锁 当一个锁被使用后,即使是当前线程,再次访问这把锁时(递归或者不同方法用同一个锁),也会等待,导致死锁的问题 比如 public class Lock{ private boolean isLocked; private Thread currentThread; public voi...
2019-12-06 17:52:15
108
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅