自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(241)
  • 资源 (3)
  • 收藏
  • 关注

原创 十大经典排序算法最强总结(含JAVA代码实现)

0、排序算法说明0.1排序的定义对一序列对象根据某个关键字进行排序。0.2 术语说明 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面; 不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面; 内排序:所有排序操作都在内存中完成; 外排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行; ...

2018-05-22 20:25:23 403 1

原创 springboot+shardingjdbc+mybatis+oracle与mysql坑

随着公司的业务增长,从一个工厂单表对应的数据量到达为2个亿数据量,现在引入4个工厂数据估计数量到达10个亿数据量,考虑后期数据量导致数据表崩溃。想引入现在比较流行的分库分表shardingjdbc技术,由于只分表不库的功能,按照厂site进行分成四张表。...

2021-10-20 13:45:25 2138

转载 剑客(二叉树中和为某一值的路径)

一:题目输入一颗二叉树的根节点和一个整数,按字典序打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径二、分析思路三、代码实现import java.util.ArrayList;/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val

2020-10-27 11:27:01 191

原创 剑客(链表的倒数第k个值)

一、题目输入一个链表,输出该链表中倒数第k个结点二解题思路首先链表的长度是不确定的 所以可以用两个指针求解定义快指针和慢指针。快指针先走 k-1 步,到达第 k 个节点。fast然后两指针同时齐步走,当快指针到达末尾时,慢指针在倒数第 k 个节点上。三 代码实现/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.va

2020-10-25 16:30:11 199

原创 剑客(求连续子数组的最大和)

一、题目描述给定一个数组 array[1, 4, -5, 9, 8, 3, -6],在这个数字中有多个子数组,子数组和最大的应该是:[9, 8, 3],输出20,再比如数组为[1, -2, 3, 10, -4, 7, 2, -5],和最大的子数组为[3, 10, -4, 7, 2],输出18。实现代码public class Solution { public int FindGreatestSumOfSubArray(int[] array) { if(arr.

2020-10-05 22:51:23 150

原创 剑客(求一个数组中任意两个相加为目标数 target)

代码实现package com.zhm.eurekaclient.config.test;import org.apache.catalina.LifecycleState;import org.bouncycastle.jcajce.provider.digest.MD2;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;/**......

2020-10-04 09:53:24 494

原创 剑指(用两个有序的链表合并一个有序链表 )

一/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public ListNode Merge(ListNode list1,ListNode list2) { if(list1 == null &amp...

2020-10-02 10:07:12 78

原创 剑指(整型数组奇数放左偶数放右 )

一:题目给定一个整型数组奇数放左偶数放右快手面试 竟然这个题目丢分了,是有点不甘心,面试结束后在那想了很久,面试结束后提示和快排序类似 ,面试官走了,自己想一下是啊 自己的怎么没有想到真是后悔丢分了 真笨 真笨。。。。,就写了以下代码如: 1 2 3 4 5 6输出: 1 5 3 4 2 6二 、分析思路/*** * 思路: 和快排序一趟思想一样的 * 1.从左边选择一个偶数放到右边去 * 2.从右边选择一个奇数放到左边去 * 3.交接两个数据 ...

2020-09-27 21:14:34 621

原创 剑指(反转链表 )

一 、题目输入一个链表,反转链表后,输出新链表的表头二 题目描述如链表为:1->2->3->4->5反转后的链表为:1<-2->3<-4<-5三 分析过程第一步:head为当前节点,如果当前节点为空的话,那就什么也不做,直接返回null第二步:需要两个临时节点来保存指针移动第三步:每个节点向后移动一位四 代码实现public class Solution { public ListNode ReverseLi.

2020-09-27 09:57:53 128

原创 剑指(滑动窗口的最大值 )

1.题目描述:给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5,1}, {2,3,4,[2,6,2],5,1}, {2,3,4,2,[6,2,5],1}

2020-06-09 23:31:34 185

转载 世界上最好的学习法:费曼学习法

你是否曾幻想读一遍书就记住所有的内容?是否想学习完一项技能就马上达到巅峰水平?除非你是天才,不然这是不可能的。对于大多数的普通人来说,可以通过笨办法(死记硬背)来达到学习的目的,但效率低下。当然,也可以通过优秀的学习法来进行学习,比如今天讲的“费曼学习法”,可以将你的学习效率极大的提高。## 费曼学习法费曼学习法是由加拿大物理学家费曼所发明的一种高效的学习方法,费曼本身是一个天...

2020-03-09 17:12:52 282

原创 两个线程轮流打印奇偶数

第一种方式 使用Object的wait和notify实现package cn.zhm.Thread;import java.util.concurrent.atomic.AtomicInteger;public class test_02 { AtomicInteger count = new AtomicInteger(1); public void test(in...

2019-11-21 18:30:59 544

原创 JVM调优

1.GC调优思路a.分析场景例如:启动速度慢;偶尔出现响应慢于平均或者出现卡顿b.确定目标内存占用,低延时,吞吐量c.收集日志通过参数配置收集GC日志;通过JDK工具查看GC状态d.分析日志使用工具辅助分析日志,查看Gc次数,GC时间e.调整参数切换垃圾收集器或者调整收集器参数2.JVM调优常用命令1.查看进程号jcmd | grep "perf...

2019-10-19 23:11:57 188

原创 JAVA锁

1.Lock ()(不死不休)2.boolean tryLock = lock.tryLock();子线程获取锁(浅尝辄止) 只要别人占用了锁 则就会获取锁失败new Thread(new Runnable() { public void run() { //子线程获取锁(浅尝辄止) boolea...

2019-09-27 23:09:51 197 1

原创 Elasticsearch(五)

1.图解partial update 实现原理以及动手实战演练1.什么是partial update ?PUT /index/type/id 创建文档&替换就是一样(1)应用程序先发起一个get请求,获取到document,展示到前台界面,供用户查看和修改(2)用户在前台界面修改数据发送到后台(3)后台代码,会将用户修改的数据在内存中进行执行,然后封装好修改后的倒是数据...

2019-09-08 09:56:17 138

原创 Elasticsearch(四)

1.图解Elasticsearch 容错机制:master选举、replica容错、数据恢复。master node宕机,自动master选举 red初步解析document的核心元数:_index,_type,_id{ "_index" : "test_index", "_type" : "test_type", "_id" : "1", "_version"...

2019-09-05 20:05:36 155

原创 Elasticsearch(三)

1.Elasticsearch对复杂分布式机制的透明隐藏特性。分片 cluster discovery, shar负载均衡(举例 假如现在有3个节点 总共25个shard分配到3个节点去,es分自动进行均匀分配,以保持每个节点的均衡的读写负载请求)shard 副本 请求路由 集群扩容 shar...

2019-09-05 00:57:36 117

原创 Elasticsearch(二)

1.索引的几种查询1.query sting searchGET /ecummerce/product/_search1.took :耗费了几毫秒2.timed_out 是否超时 这里没有3._shards :数据拆成了一份,所以对于搜索请求,会打到所有primary shard(或者是它的某个replica shard 也可以)4.hits.total 查询结果的数量 ...

2019-09-01 19:13:24 140

原创 Elasticsearch(一)

1.定义如果用数据库做搜索会怎样?1.每条记录的指定字段的文本可能太长2.还不能将搜索词拆分来,尽可能去搜索更多的符合的期望的结果。比如输入:生化机 就搜索不出来"生化危机"用数据库来实现搜索 是不太靠谱 效果比较差。Elasticsearch 核心概念 vs 数据库核心概念Document...

2019-08-30 23:53:53 184

原创 Rabbitmq(二)

1.Rabbitmq的消息确认机制(事务+confirm)在rabbitmq中我们可以通过持久化数据,解决rabbitmq服务器异常的数据丢失问题问题 :生产者将消息发送出去之后,到底有没有到达rabbitmq服务器 默认情况 不知道两种方式:AMQP实现了事务机制confirm模式事务机制txSelect txCommit txRollbacktxSelect :...

2019-08-18 01:31:27 118

原创 ideal

/** * create by: zhaohaiming * create time: $date$ $time$ * description: $TODO$ */

2019-08-16 17:08:49 519

原创 RabbitMq订阅模式

RabbitMQ 工作原理对于 RabbitMQ 来说, 除了这三个基本模块以外, 还添加了一个模块, 即交换机(Exchange). 它使得生产者和消息队列之间产生了隔离, 生产者将消息发送给交换机,而交换机则根据调度策略把相应的消息转发给对应的消息队列. 那么 RabitMQ 的工作流程如下所示:说一下交换机: 交换机的主要作用是接收相应的消息并且绑定到指定的队列. 交换机有四种类...

2019-08-14 01:11:47 519

原创 RabbitMQ安装与简单队列

1.先安装esl-erlang_22.0~windows_amd642.第二安装:rabbitmq-server-3.7.173.在控制页面:rabbitmq-plugins enable rabbitmq_management 进入安装目录\sbin下,使用命令“rabbitmq-plugins enable rabbitmq_management”启动网页管理插件;4.在浏览器中...

2019-08-11 20:21:57 113

原创 CAP理论原理与理解

CAP定理又称CAP原则,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),最多只能同时三个特性中的两个,三者不可兼得。一、CAP的定义Consistency (一致性):在分布式系统中,一个数据存在多个副本的情况下,各个副本的值是否一致。一致性指的是并发访问时更新过的数据如何获取的问...

2019-08-08 22:50:54 349

原创 手写一个线程死锁

死锁的原因:a.系统资源不足b.进程运行推进的c.资源分配不 当死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相 等待的现象若无外力干涉那它们都将无法推进下去。代码如下:package cn.link.cn;public class DealLockThread implements Runnable { private Strin...

2019-08-05 22:06:43 416

原创 Java几种二叉树的遍历

二叉树节点数代码如下:package cn.zhm.tree;/** * 二叉树的节点数 */public class BinaryTreeNode { private int data; private BinaryTreeNode left; private BinaryTreeNode right; public int getDat...

2019-08-03 02:00:43 167 2

原创 Synchronized 和Lock的区别

2019-07-26 00:47:09 110

原创 Java几种方式实现生产者与消费者

第一种是 用wait 和 notify第二种是await 和signal实现代码实现如下:package cn.link.cn.jisun;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurr...

2019-07-26 00:40:53 240

原创 共享锁(读写锁)

1.指该锁可被多个线程所持有不加出现问题代码如下:package cn.link.lock;import java.sql.Timestamp;import java.util.HashMap;import java.util.Map;import java.util.Timer;import java.util.concurrent.TimeUnit;import j...

2019-07-16 23:40:34 2227

原创 原字符翻转

题目描述请实现一个算法,在不使用额外数据结构和储存空间的情况下,翻转一个给定的字符串(可以使用单个过程变量)。给定一个string iniString,请返回一个string,为翻转后的字符串。保证字符串的长度小于等于5000。测试样例:"This is nowcoder"返回:"redocwon si sihT"思路:将第一个字符与最后字符交换 即可。代码实现...

2019-07-15 00:36:15 102

原创 剑指(从尾到头打印链表 )

题目  输入一个链表的头结点,从尾到头反过来打印出每个结点的值。结点定义如下:思路  结点遍历顺序只能从头到尾,但是输出的顺序却为从尾到头,是典型的“后进先出”问题,这就要联想到使用栈,从而也可以联想到使用递归。代码package cn.link;public class LinkNode { private int value; private Link...

2019-07-13 22:45:24 80

原创 集合不安全

1.list集合a.故障现象异常:java.util.ConcurrentModificationExceptionb.导致原因:并发读写c.解决方案:List list = new Vector();List list = new Collections.synchronizedList(new ArrayList<>());List list = new ...

2019-07-13 21:21:57 78

原创 剑指(斐波那契数列 )

题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39现在代码package zc.zhm.day1;public class Tset_2 { public int fibonacci(int n) { if (n < 2) return n; int fibleOn...

2019-07-11 23:08:45 136

原创 多线程下的单例模式(双端检索模式)

package zc.zhm.day1;public class SingletonDemo { private static volatile SingletonDemo instance = null; public SingletonDemo() { System.out.println("我是构造SingletonDemo()。。。。"); } public stat...

2019-07-06 18:37:07 4177 3

原创 剑指(数值的整数次方 )

题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。思路:这道题很容易实现,但需要注意以下陷阱:1)0的负数次方不存在;2)0的0次方没有数学意义;3)要考虑exponent为负数的情况。所以可以对exponent进行分类讨论,在对base是否为0进行讨论。package cn.day18;publ...

2019-07-04 18:53:12 130

原创 剑指(旋转数组最小值)

题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。思路:这个问题的中心思想其实就是使用二分查找的方法,逐步的逼近这个最小值,首先这个旋转数组将一个非递减...

2019-07-04 11:15:26 153

原创 剑指(用两个栈实现队列 )

题目:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。分析思路:1.只要stack2不为空则从stack2取数据2.如果stack2为空则往sctack1插入数据代码如下package zhm.day1;import java.util.Stack;/** * 分析思路: * * 1.只要stack2不为空则从st...

2019-06-29 16:46:31 125

原创 剑指(替换空格)

题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。分析思路:1.先统计空格数量个数count2.统计新的字符串的长度 originalLength +2*count得到两个字条串一个是原字长度符串(originalLength),另一个是加个空格长度字符(...

2019-06-29 16:39:10 214

原创 剑指(二维数组中查找)

题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题分析:代码如下:package zhm.day1;/** * 在一个二维数组中(每个一维数组的长度相同), * 每一行都按照从左到右递增的顺序排序,每一列都按照从上到...

2019-06-29 00:26:21 144

原创 剑指(重建二叉树 )

题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。分析:二叉树的前序遍历顺序是:先访问根节点,然后前序遍历左子树,再前序遍历右子树。中序遍历顺序是:中序遍历根节点的左子树,然后是访问根节点,...

2019-06-29 00:14:21 100

尚硅谷最新全套视频打包地址(不对外)

尚硅谷最新全套视频打包地址(不对外)里面有全有的资料,自学必备的网址

2018-11-22

Hadoop大数据分析

最新版的Hadoop大数据分析,欢迎大家下载资料,这是一本很好的资料

2018-11-22

spring Hibernate与struts整合的过程

spring Hibernate与struts整合的过程

2016-10-06

空空如也

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

TA关注的人

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