自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 收藏
  • 关注

原创 LeetCode刷题实战6:Z 字形变换

将一个给定字符串s根据给定的行数numRows,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为行数为3时,排列如下:Y I R。请你实现这个将字符串进行指定行数变换的函数:Y A H RP I"A"',''.'

2024-04-20 23:39:46 243

原创 LeetCode刷题实战5:最长回文子串

,从任意一个字符 往两边去找,相同就继续,不相同那么就结束。这里需要考虑一下 两个相同字符的情况。如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。需要借助二维数组 存储 状态转移,时间复杂度不好。"aba" 同样是符合题意的答案。

2024-04-20 22:50:13 331 2

原创 LeetCode刷题实战4:寻找两个正序数组的中位数

给定两个大小分别为m和n的正序(从小到大)数组nums1和nums2。请你找出并返回这两个正序数组的。算法的时间复杂度应该为。2.00000合并数组 = [1,2,3] ,中位数 22.50000合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5。

2024-04-20 20:58:37 499 2

原创 LeetCode刷题实战3:无重复字符的最长子串

给定一个字符串s,请你找出其中不含有重复字符的的长度。3因为无重复字符的最长子串是"abc",所以其长度为 3。1因为无重复字符的最长子串是"b",所以其长度为 1。3因为无重复字符的最长子串是"wke",所以其长度为 3。请注意,你的答案必须是的长度,"pwke"是一个子序列,不是子串。

2024-04-06 16:34:17 227

原创 LeetCode刷题实战2:两数相加

在日常我们学习数据结构和算法的知识,一定不能只停留在看书、看视频层面,一定要自己多练习,纸上得来终觉浅,绝知此事要躬行。

2024-04-04 21:51:44 294

原创 LeetCode刷题实战1:两数之和

从今天开始加入刷题大军,把算法题刷爆,我们直接进入主题。

2024-04-04 16:53:23 255

原创 ConcurrentHashMap设计思路解析

A hash table supporting full concurrency of retrievals and high expected concurrency for updates. This class obeys the same functional specification as Hashtable, and includes versions of methods corresponding to each method of Hashtable. However, even tho

2022-05-16 16:20:58 209

原创 java char[] string[] string转换

String转String[]String s = "abc edf ";String[] str = s.split(" ");String[]转StringString[] newStrArray = new String() {"abc", "edf"};String.join("", newStrArray);char[]转Stringchar[] c = new char[](){'a', 'b', 'c'};String s = new String(c)

2022-05-05 16:12:57 543

转载 何登成对Innodb加锁的分析

背景MySQL/InnoDB的加锁分析,一直是一个比较困难的话题。我在工作过程中,经常会有同事咨询这方面的问题。同时,微博上也经常会收到MySQL锁相关的私信,让我帮助解决一些死锁的问题。本文,准备就MySQL/InnoDB的加锁问题,展开较为深入的分析与讨论,主要是介绍一种思路,运用此思路,拿到任何一条SQL语句,都能完整的分析出这条语句会加什么锁?会有什么样的使用风险?甚至是分析线上的一个死锁场景,了解死锁产生的原因。注:MySQL是一个支持插件式存储引擎的数据库系统。本文下面的所有介绍,.

2020-08-19 16:09:17 780

原创 博客地址记录

The-Art-Of-Programming-By-Julyjavadoopneoremind何登成

2019-09-27 10:01:38 172 1

转载 短链接服务系统开发

最近上了一个比较大的系统,基于消息推送的需要,花了点时间做了一个短链服务,实现思路其实很简单,这里简单介绍下实现细节,以及一些优化过程。目录:功能简单描述功能很简单,实现将长网址缩短的功能,如:为什么要转短链?因为要控制每条短信的字数,对于公司来说,短信里面的字可都是钱呀。为什么不用 t.cn,url.cn 等短链服务呢,它们生成的链接不是更短吗?是的,它们确实能实现更短的...

2019-08-20 21:02:41 136

转载 Java7/8 中的 HashMap 和 ConcurrentHashMap 全解析

今天发一篇"水文",可能很多读者都会表示不理解,不过我想把它作为并发序列文章中不可缺少的一块来介绍。本来以为花不了多少时间的,不过最终还是投入了挺多时间来完成这篇文章的。网上关于 HashMap 和 ConcurrentHashMap 的文章确实不少,不过缺斤少两的文章比较多,所以才想自己也写一篇,把细节说清楚说透,尤其像 Java8 中的 ConcurrentHashMap,大部分文章都说不...

2019-08-20 20:21:13 117

转载 Spring AOP 源码解析

之前写过 IOC 的源码分析,那篇文章真的有点长,看完需要点耐心。很多读者希望能写一写 Spring AOP 的源码分析文章,这样读者看完 IOC + AOP 也就对 Spring 会有比较深的理解了。今天终于成文了,可能很多读者早就不再等待了,不过主要为了后来者吧。本文不会像 IOC 源码分析那篇文章一样,很具体地分析每一行 Spring AOP 的源码,目标读者是已经知道 Spring I...

2019-08-15 16:33:15 96

转载 Spring AOP 使用介绍,从前世到今生

前面写过 Spring IOC 的源码分析,很多读者希望可以出一个 Spring AOP 的源码分析,不过 Spring AOP 的源码还是比较多的,写出来不免篇幅会大些。本文不介绍源码分析,而是介绍 Spring AOP 中的一些概念,以及它的各种配置方法,涵盖了 Spring AOP 发展到现在出现的全部 3 种配置方式。由于 Spring 强大的向后兼容性,实际代码中往往会出现很多配...

2019-08-15 14:43:01 142

转载 深度解读 java 线程池设计思想及源码实现

我相信大家都看过很多的关于线程池的文章,基本上也是面试的时候必问的,如果你在看过很多文章以后,还是一知半解的,那希望这篇文章能让你真正的掌握好 Java 线程池。本文一大重点是源码解析,同时会有少量篇幅介绍线程池设计思想以及作者 Doug Lea 实现过程中的一些巧妙用法。本文还是会一行行关键代码进行分析,目的是为了让那些自己看源码不是很理解的同学可以得到参考。线程池是非常重要的工具,如果...

2019-08-14 19:13:38 80

转载 深入分析 java 8 编程语言规范:Threads and Locks

在 java 并发编程中,线程和锁永远是最重要的概念。语言规范虽然是规范描述,但是其中也有非常多的知识和最佳实践是值得学习的,相信这篇文章还是可以给很多读者提供学习参考的。本文主要是翻译 + 解释Oracle《The Java Language Specification, Java SE 8 Edition》的第17章《Threads and Locks》,原文大概30页pdf,我加入了很...

2019-08-14 16:07:24 144

转载 解读 java 并发队列 BlockingQueue

最近得空,想写篇文章好好说说 java 线程池问题,我相信很多人都一知半解的,包括我自己在仔仔细细看源码之前,也有许多的不解,甚至有些地方我一直都没有理解到位。说到线程池实现,那么就不得不涉及到各种 BlockingQueue 的实现,那么我想就 BlockingQueue 的问题和大家分享分享我了解的一些知识。本文没有像之前分析 AQS 那样一行一行源码分析了,不过还是把其中最重要和最难...

2019-08-14 15:30:46 80

转载 一行一行源码分析清楚 AbstractQueuedSynchronizer (三)

这篇文章是 AQS 系列的最后一篇,第一篇,我们通过 ReentrantLock 公平锁分析了 AQS 的核心,第二篇的重点是把 Condition 说明白,同时也说清楚了对于线程中断的使用。这篇,我们的关注点是 AQS 最后的部分,AQS 共享模式的使用。有前两篇文章的铺垫,剩下的源码分析将会简单很多。本文先用 CountDownLatch 将共享模式说清楚,然后顺着把其他 AQS 相关...

2019-08-14 15:26:47 92

转载 一行一行源码分析清楚 AbstractQueuedSynchronizer (二)

文章比较长,信息量比较大,建议在 pc 上阅读。文章标题是为了呼应前文,其实可以单独成文的,主要是希望读者看文章能系统看。本文关注以下几点内容:深入理解 ReentrantLock 公平锁和非公平锁的区别 深入分析 AbstractQueuedSynchronizer 中的 ConditionObject 深入理解 Java 线程中断和 InterruptedException 异常...

2019-08-14 14:52:26 77

转载 一行一行源码分析清楚AbstractQueuedSynchronizer

在分析 Java 并发包 java.util.concurrent 源码的时候,少不了需要了解 AbstractQueuedSynchronizer(以下简写AQS)这个抽象类,因为它是 Java 并发包的基础工具类,是实现 ReentrantLock、CountDownLatch、Semaphore、FutureTask 等类的基础。Google 一下 AbstractQueuedSynch...

2019-08-14 14:47:10 111

转载 Spring IOC 容器源码分析

Spring 最重要的概念是 IOC 和 AOP,本篇文章其实就是要带领大家来分析下 Spring 的 IOC 容器。既然大家平时都要用到 Spring,怎么可以不好好了解 Spring 呢?阅读本文并不能让你成为 Spring 专家,不过一定有助于大家理解 Spring 的很多概念,帮助大家排查应用中和 Spring 相关的一些问题。本文采用的源码版本是 4.3.11.RELEASE,算是 ...

2019-08-12 21:32:44 91

转载 Spring IOC 容器源码分析 - 循环依赖的解决办法

1. 简介本文,我们来看一下 Spring 是如何解决循环依赖问题的。在本篇文章中,我会首先向大家介绍一下什么是循环依赖。然后,进入源码分析阶段。为了更好的说明 Spring 解决循环依赖的办法,我将会从获取 bean 的方法getBean(String)开始,把整个调用过程梳理一遍。梳理完后,再来详细分析源码。通过这几步的讲解,希望让大家能够弄懂什么是循环依赖,以及如何解循环依赖。循环依...

2019-08-12 21:26:54 84

原创 大数据分析常用去重算法 BitMap TrieTree HyperLogLog

1. BitMaphttps://mp.weixin.qq.com/s/Ur5yYiKgbzB5gv9qpK08wQ2. TrieTreehttps://www.jianshu.com/p/e431bd41d676https://blog.bcmeng.com/post/kylin-distinct-count-global-dict.htmlhttps://hex...

2019-07-17 20:04:00 448

原创 分布式理论学习资料

架构师需要了解的Paxos原理、历程及实战分布式理论(七)—— 一致性协议之 ZABRaft Understandable Distributed Consensus

2019-06-28 15:08:53 187

原创 面试题-redis

redis 作为mysql 的缓存,mysql主从复制延长1 s ,如果保证 redis 缓存的实时性redis 有哪些集群模式?redis 哨兵模式中,哨兵有什么作用redis 如何实现主从复制?主从实现原理?redis分块分表?redis支持的数据结构?redis 的rehash?redis在项目中的实际应用?...

2019-06-27 15:41:41 546

原创 MySQL技术内幕-INNODB

文章目录概述各版本之间的比较后台线程关键特性概述各版本之间的比较老版本的INNODB: 支持ACID,行锁设计, MVCCINNODB1.0x 继承了上述版本的所有功能,增加了compress和dynamic页格式INNODB1.1x 继承了上述版本的所有功能,增加了linux AIO,多回滚段INNODB 1.2x 继承了上述版本的所有功...

2019-06-21 11:39:48 488

原创 二叉树先序、中序、后序遍历 递归非递归实现

import java.util.LinkedList;import java.util.Queue;import java.util.Stack;public class TreeTest { /** * BFS * 先序遍历 */ public static void preOrderRecursion(TreeNode root) { if (ro...

2019-06-20 14:26:13 129

原创 面试题汇总

字符串倒转,时间复杂度和空间复杂度?https://leetcode.com/problemset/all/ 344题class Solution { public void reverseString(char[] c) { for (int i = 0; i < c.length / 2; i++) { c[i] = (char)...

2019-06-16 12:50:24 287

原创 《TCP/IP 详解卷1:协议》读书笔记&相关面试题

文章目录链路层IP 网络协议TCP常见面试题链路层作用:为IP模块发送和接收IP数据报为ARP模块发送ARP请求和接收ARP应答为RARP模块发送RARP请求和接收RARP应答IP 网络协议TCP常见面试题详细描述 三次握手 和 四次挥手的机制,画出状态图?1的引申,为什么是三次握手?1的引申,为什么是四次挥手?四次挥手中TIME_WAIT状态存在的目的是什么?这个问...

2019-06-07 21:12:49 350

转载 MySQL-MVCC 多版本并发控制

多版本并发控制技术已经被广泛运用于各大数据库系统中,如Oracle,MS SQL Server 2005+, Postgresql, Firebird, Maria等等,开源数据库MYSQL中流行的INNODB引擎也采用了类似的并发控制技术.本文就将结合实例来解析不同事务隔离等级下INNODB的MVCC实现原理.1MVCC概述1.1MVCC简介MVCC (Multiversion ...

2019-06-05 16:15:43 332

原创 《高性能MySQL》读书笔记-第六章 查询性能优化

文章目录第六章 查询性能优化6.1 为什么查询变慢?6.2 优化数据访问6.2.1 是否请求了不需要的数据?6.2.2 扫描额外的记录6.3 重构查询方式6.3.1 一个复杂查询or多个简单查询6.3.2 切分查询6.3.3 分解关联查询(很重要)第六章 查询性能优化手段:库表结构优化、索引优化、查询优化6.1 为什么查询变慢?6.2 优化数据访问6.2.1 是否请求了不需要的数据?...

2019-06-04 23:56:37 279

原创 面试题-网络http、https

文章目录http https的区别和原理状态码DNS缓存相关headertcp三次握手四次挥手http https的区别和原理状态码DNS缓存相关headercache-controltcp三次握手四次挥手参考资料:https://blog.csdn.net/xiaoming100001/article/details/81109617...

2019-06-04 20:12:02 495

原创 面试题-spring

文章目录spring申明式事务实现原理是什么?spring aop的实现原理是什么?spring事务管理器实现原理,如何实现嵌套事务?spring申明式事务实现原理是什么?动态代理、PlatformTransactionManager设计逻辑spring aop的实现原理是什么?jdk动态代理、cglib两种方式的区别及原理spring事务管理器实现原理,如何实现嵌套事务?aop、通过...

2019-06-04 19:32:18 103

转载 强软弱虚---强引用、软引用、弱引用、虚引用

1、概述 在JDK1.2以前的版本中,当一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及状态,程序才能使用它。这 就像在日常生活中,从商店购买了某样物品后,如果有用,就一直保留它,否则就把它扔到垃圾箱,由清洁工人收走。一般说来,如果物品已经被扔到垃圾箱,想再 把它捡回来使用就不可能了。 但有时候情况并不这么简单,你可能会遇到类似鸡肋一样的物品,食之...

2019-06-03 19:01:55 387

转载 Java中类的加载顺序介绍(ClassLoader)

Java中类的加载顺序介绍(ClassLoader)1、ClassNotFoundExcetpion  我们在开发中,经常可以遇见java.lang.ClassNotFoundExcetpion这个异常,今天我就来总结一下这个问题。对于这个异常,它实质涉及到了java技术体系中的类加载。Java的类加载机制是技术体系中比较核心的部分,虽然它和我们直接打交道不多,但是对其背后的机理有一定理解...

2019-06-03 18:39:02 242

原创 面试题-java语言知识

基础equals及hashcode作用、联系ThreadLocal使用场景及实现原理集合相关java中的map知识hashmap、hashtable区别。Thread-safe的hashmap有哪些。Concurrent hashmap原理。并发相关AtomicInteger, CAS, ABACAP BASE理论...

2019-06-03 11:51:40 350

原创 5 Kylin整体流程

整体流程加载Data source, hive table构建数据模型,New Model,name->Data Model(Fact Table,Lookup Table)->Dimensions->Measures->SettingsCube Designer,选择Model->Dimensions->Measures->Refresh Set...

2019-05-30 13:49:38 1062

原创 4 Kylin install

系统环境OS:10.12.5 (16F73)java version “1.8.0_121”Hadoop 2.7.5Hive 2.3.2mysql Ver 14.14 Distrib 5.7.21Hbase 1.2.6kylin安装下载http://kylin.apache.org/cn/配置kylin.rest.servers=localhost:70...

2019-05-30 11:05:04 304

原创 3 Kylin install-hbase

系统环境OS:10.12.5 (16F73)java version “1.8.0_121”Hadoop 2.7.5Hive 2.3.2mysql Ver 14.14 Distrib 5.7.21Hbase 1.2.6hbase安装下载https://hbase.apache.org/配置<property> <name>...

2019-05-30 11:03:55 137

原创 2 Kylin install-hive

系统环境OS:10.12.5 (16F73)java version “1.8.0_121”Hadoop 2.7.5mysql Ver 14.14 Distrib 5.7.21Hive 2.3.2mysql安装brew install mysql/bin/sh /usr/local/opt/mysql/bin/mysqld_safe --datadir=/usr/loca...

2019-05-30 10:58:21 111

空空如也

空空如也

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

TA关注的人

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