自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

进击的ITgo

一只专研JavaEE和大数据技术的后端程序猿

  • 博客(68)
  • 收藏
  • 关注

原创 Redis的主从复制【哨兵模式】

是什么?   也就是我们所说的主从复制,主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主。   能干吗?      读写分离    容灾恢复   怎么玩?        配从(库)不配主(库),通常情况下,可以准备几台机器,这里我准备了三台机器如下:        192.168.195.133  6379 ...

2018-08-27 22:33:19 1298

原创 Redis的发布与订阅

  是什么?   进程间的一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。   订阅/发布消息图:    常用命令:       Redis发布订阅架构   Redis提供了发布订阅功能,可以用于消息的传输,Redis的发布订阅机制包括三个部分,发布者,订阅者和Channel。    发布者和订阅者都是Redis客户端,Channel则为Re...

2018-08-26 16:25:52 807

原创 开启MySQL的主从复制之旅

      本篇博客,博主主要介绍关于MySQL的主从复制方面的内容,随着互联网应用并发量的增长,单机版的数据库已经支撑不了高并发式请求,MySql数据库也要采取读写分离+缓存的模式进行处理请求。读写分离,意味 “ 一读多写 ”,其基础也是建立在主(master)从 ( slave ) 复制的基础之上。下面就让我们开始进入主题吧!          MySQL数据库自身提供的主从复制功能可以方...

2018-08-24 00:03:05 325

原创 个人作品

Z部落: 作品地址: https://dwz.cn/nGzR4iEm 作品简介: 针对学校校区分散,各学院间交流不便的情况开发的一款校园新鲜事头条产品。项目得到校团委的大力支持。项目支持身份认证、邮件注册、新鲜事分享以及热门头条、话题栏目系统、新鲜事回复、点赞、收藏、楼中楼回复、新鲜事搜索、粉丝功能、消息推送、即时通讯、用户timeline以及详细主页列表、商家广告推荐...

2020-02-17 20:04:51 387

原创 序列化二叉树

题目链接:https://www.nowcoder.com/practice/cf7e25aa97c04cc1a68c8f040e71fb84?tpId=13&tqId=11214&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking pub...

2020-02-09 23:26:57 321

原创 二叉搜索树的第k个结点

题目连接:https://www.nowcoder.com/practice/ef068f602dde4d28aab2b210e859150a?tpId=13&tqId=11215&tPage=4&rp=4&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking imp...

2020-02-09 22:43:57 317

原创 二叉树的深度

题目链接:https://www.nowcoder.com/practice/435fb86331474282a3499955f0a41e8b?tpId=13&tqId=11191&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking imp...

2020-02-09 22:33:50 219

原创 二叉搜索树与双向链表

题目链接: https://www.nowcoder.com/practice/947f6eb80d944a84850b0538bf0ec3a5?tpId=13&tqId=11179&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking 解题思路...

2020-02-09 22:28:58 266

原创 二叉搜索树的后序遍历序列

题目连接:https://www.nowcoder.com/practice/a861533d45854474ac791d90e447bafd?tpId=13&tqId=11176&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking 根据二叉搜索...

2020-02-09 21:03:46 332 1

原创 二叉树的镜像

题目链接: 递归交换左右部分 public class Solution { public void Mirror(TreeNode root) { if(root == null){ return; } TreeNode tmp; tmp = root.left; root.l...

2020-02-03 22:31:03 202

原创 从上往下打印二叉树

题目链接:https://www.nowcoder.com/practice/7fe2212963db4790b57431d9ed259701?tpId=13&tqId=11175&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking 二叉树的...

2020-02-03 22:29:42 226

原创 树的子结构

题目链接:https://www.nowcoder.com/practice/6e196c44c7004d15b1610b9afca8bd88?tpId=13&tqId=11170&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking /**...

2020-02-03 22:05:15 231

原创 重建二叉树

题目链接:https://www.nowcoder.com/practice/8a19cbe657394eeaac2f6ea9b0f6fcf6?tpId=13&tqId=11157&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking import...

2020-02-03 21:28:14 246

原创 不同路径

题目链接:https://leetcode-cn.com/problems/unique-paths/ class Solution { public int uniquePaths(int m, int n) { int[][] dp = new int[m][n]; for(int i = 0;i < m; i++)...

2020-01-31 22:54:18 277

原创 最小路径和

题目链接: https://leetcode-cn.com/problems/minimum-path-sum/submissions/ class Solution { public int minPathSum(int[][] grid) { int m = grid.length; int n = grid[0].lengt...

2020-01-31 22:34:45 198

原创 打家劫舍 II

题目链接:https://leetcode-cn.com/problems/house-robber-ii/ 本题与打家劫舍I相比 多了条件就是 环形相连,意味着第一个和最后一个 ,也只能选择其中之一。 class Solution { public int rob(int[] nums) { if(nums.length == 0 || nums == ...

2020-01-31 21:56:32 305

原创 打家劫舍

题目链接:https://leetcode-cn.com/problems/house-robber/submissions/ 思路: 假设到第i家的时候可以偷得的最大值是: dp[i] = Max{ dp[i-2] + nums[i] ,dp[i-1] } 由于相邻的不能偷,所以结果为两者的最大值。 class Solution { public in...

2020-01-31 20:53:27 249

原创 存在重复元素

题目链接:https://leetcode-cn.com/problems/contains-duplicate/ 利用哈希表破判重。 class Solution { public boolean containsDuplicate(int[] nums) { HashSet<Integer> set = new HashSet<>(); ...

2020-01-27 09:54:19 370

原创 TinyURL 的加密与解密

题目链接:https://leetcode-cn.com/problems/encode-and-decode-tinyurl/description/ 该题是hash表的一种应用。 随机固定长度加密 ,在这种方法中,使用数字和字母表集合来为 URL 生成加密结果。这种方法中,加密后的长度固定是 6 位。如果产生出来的加密结果与之前产生的结果一样,就换一个新的加密结果。 public cl...

2020-01-27 09:47:51 2041

原创 两数之和

题目链接:https://leetcode-cn.com/problems/two-sum/ 该题是hash表的一种应用。 class Solution { public int[] twoSum(int[] nums, int target) { Map<Integer,Integer> map = new HashMap<&gt...

2020-01-27 09:42:46 212

原创 环形链表1&环形链表2--双指针法的应用

环形链表1: https://leetcode-cn.com/problems/linked-list-cycle/ 方法一:哈希表 思路 我们可以通过检查一个结点此前是否被访问过来判断链表是否为环形链表。常用的方法是使用哈希表。 算法 我们遍历所有结点并在哈希表中存储每个结点的引用(或内存地址)。如果当前结点为空结点 null(即已检测到链表尾部的下一个结点),那么我们已经遍历...

2020-01-15 14:22:13 350

原创 删除链表的倒数第N个节点

方法一:两次遍历算法 思路 我们注意到这个问题可以容易地简化成另一个问题:删除从列表开头数起的第 (L - n + 1)个结点,其中 L是列表的长度。只要我们找到列表的长度 L,这个问题就很容易解决。 算法 首先我们将添加一个哑结点作为辅助,该结点位于列表头部。哑结点用来简化某些极端情况,例如列表中只含有一个结点,或需要删除列表的头部。在第一次遍历中,我们找出列表的长度 L。然后设置一个...

2020-01-15 13:56:40 333

原创 相交链表

题目链接:https://leetcode-cn.com/problems/intersection-of-two-linked-lists/ 方法一: 暴力法 对链表A中的每一个结点ai,遍历整个链表 B 并检查链表 B 中是否存在结点和ai相同。 复杂度分析 时间复杂度 : (mn)。 空间复杂度 : O(1)O(1)。 方法二: 哈希表法 遍历链表 A 并将每个结点的地址/...

2020-01-15 11:20:52 343

原创 回文链表

请判断一个链表是否为回文链表。 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 进阶: 你能否用O(n) 时间复杂度和 O(1) 空间复杂度解决此题? /** * Definition for singly-linked list. * public class ListNode { * ...

2020-01-15 10:43:00 252

原创 回文数

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。 转为...

2020-01-15 10:41:57 350

原创 Object的结构

Java中Object是所有对象的祖先对象,在阅读源码de的过程中,经常能看到一些实现类的方法中重写了Object类中自带的方法,也就是说这些方法是Java中所有类都具有的方法,现在来记录一些学习笔记,帮助以后阅读源码的时候,知道哪些方法已经被重写过的。 public final native Class<?> getClass(); public native i...

2019-12-07 11:19:37 577

原创 深入探讨Java的native方法与JNI

背景: 最近在研究java并发包下的原子操作类部分,该部分的底层实现都依赖于Unsafe方法,于是翻看Unsafe部分的源码,发现很多方法的实现都是naive关键字标注,也都没哟有具体的方法体实现。 带着问题,查阅了相关资料,现做一下总结:   概念:     native关键字说明其修饰的方法是一个原生态方法,方法对应的实现不是在当前文件,而是在用其他语言(如C和C++)实现的文...

2018-10-18 13:34:06 878

原创 Redis常用命令总结

学习Redis的朋友们都知道,Redis常见的数据类型有5种,分别如下:   String(字符串)     ①string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。     ②string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。     ③string类型是Redis最...

2018-10-17 21:22:23 1269

原创 HDFS分布式文件系统集群搭建与常见坑的解决办法

在学习HDFS之前我们首先了解一下什么是hadoop?   hadoop中有3个核心组件: 分布式文件系统:HDFS —— 实现将文件分布式存储在很多的服务器上 分布式运算编程框架:MAPREDUCE —— 实现在很多机器上分布式并行运算 分布式资源调度平台:YARN —— 帮用户调度大量的mapreduce程序,并合理分配运算资源         hdfs整体运行机制:   ...

2018-08-27 22:43:26 4314

原创 Redis的事务与锁机制

    是 什 么?     可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化,按顺序地串行化执行而不会被其它命令插入,不许加塞。   能干嘛? 一个队列中,一次性、顺序性、排他性的执行一系列命令。   怎么玩?   常用命令:  Case1:正常执行   Case2:放弃事务   Case3:全体连坐    Case4:...

2018-08-26 14:32:36 1126 1

原创 MySQL性能优化—索引的前世今生

Q1:索引是什么?   MySQL官方对索引的定义为:索引是帮助MySQL高效获取数据的数据结构。 索引的本质:索引是数据结构。 可以简单理解为:排序好的快速查找数据结构   详解:  总结:          Q2:索引的优势是什么?   Q3:索引的劣势是什么?   索引的分类: 针对上诉创建索引的create中length: 对于...

2018-08-20 23:46:07 379

原创 MySQL性能优化—SQL为什么变慢

  影响mysql性能下降的原因有很多种,其中主要的分析依据通常有以下几种:     1.查询语句写的比较烂。   2.索引失效。   3.查询的关联太多join ( 设计缺陷 或  不得已的需求 )   4.服务器调优及各个阐述的设置(缓冲,线程数等)   下面总结一下常见的通用Join查询:    (1)SQL的执行顺序    手写:          机读: ...

2018-08-20 23:14:56 558

原创 大数据入门,告诉你什么是大数据以及应用场景

什么是大数据?    基 本 概 念:                                                                                       《数 据 处 理》     在互联网技术发展到现今阶段,大量日常、工作等事务产生的数据都已经信息化,人类产生的数据量相比以前有了爆炸式的增长,以前的传统的数据处理技术已经无法胜任...

2018-08-14 23:47:42 4892 1

原创 ElasticSearch的安装看这一篇就够了

一.简介        ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。      我们建立一个网站或应用程序,并要添...

2018-08-08 14:18:09 2556

原创 ForkJoinPool 分支/ 合并框架实战与原理分析

  背景:ForkJoinPool的优势在于,可以充分利用多cpu,多核cpu的优势,把一个任务拆分成多个“小任务”,把多个“小任务”放到多个处理器核心上并行执行;当多个“小任务”执行完成之后,再将这些执行结果合并起来即可。这种  “分治”  思想值得学习。   分析与使用: Java7 提供了ForkJoinPool来支持将一个任务拆分成多个“小任务”并行计算,再把多个“小任务”的结果合...

2018-07-19 14:24:03 1375

原创 【JVM专题】垃圾回收算法与垃圾收集器

一.垃 圾 回 收     主要解决3个问题:         1.如何判定对象为垃圾对象            引用计数法   可达性分析法       2.如何回收            回收策略: 标记-清除算法    复制算法    标记-整理算法   分代收集算法                       垃圾回收器: Serial   Parnew    Cms   ...

2018-07-17 22:26:50 372

转载 Eclipse的debug调试大全

参考: http://blog.youkuaiyun.com/u010075335/article/details/51222493调试中最常用的窗口是:窗口说明Debug窗口主要显示当前线程方法调用栈, 以及代码行数(有调试信息的代码)断点Breakpoints窗口=&gt; 断点列表窗口,可以方便增加断点,设置断点条件,删除断点等变量Variables窗口=&gt; 显示当前方法的本地变量,非static...

2018-06-18 00:05:20 445

原创 maven远程仓库无法连接的问题

   首先,吐槽一番 ,由于maven的强大,自己一直想试试手。第一次搭建使用maven构建项目,就出现不愉快的事情了!!!tomcat:run 跑了半天一直不动了,汗。。。。。我还一直以为是网络的问题,最后突然想起来是国内防火墙存在的原因,由于lz比较坚定文明上网,没有使用传说中的神器(vpn)。然后百度上看看,看了前辈们的推荐使用开源中国的maven中央仓库,试了,还是不行一直报错,最后被告知...

2018-05-13 23:27:29 9586 1

原创 Java虚拟机内存管理

本篇文章将对Java虚拟机的内存模型进行总结,各个部分的详细内容在后边也会逐步扩展说明。     从上图中我们可以看出,在虚拟机运行时的数据内存可分为线程共享区和线程独占区。顾名思议,线程共享区代表每个线程都可以共享的内存区,线程独占区,即每一个线程都独有的内存区。 下面分别进行详细介绍:(1)程序计数器从上图中也对程序计数器也简单的做了介绍,但要注意的是程序计数器是Java虚拟机中唯一的一块不会...

2018-05-11 16:10:36 437

原创 内存溢出问题的分析与解决【JVM初体验】

这是关于Java虚拟机的第一篇总结,开篇首先介绍一下 jdk , jre , jvm的关系吧。jdk   jre   jvm  之间的关系  jdk  java开发工具包 (包含jre)   jre  java运行环境 (包含 JavaSeAPI  +  jvm)   jvm java虚拟机   (在jdk中通过javac编译生成的字节码文件  加载到jre中运行  也就是加载到道jvm中运行)官...

2018-05-10 01:08:03 465

空空如也

空空如也

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

TA关注的人

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