自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 BFTRP

public class BFTRP{ public static int getMinKthByBFTRP(int[] arr, int k){ int[] copyArr = copyArray( arr ); return bfprt(copyArr,0,copyArr.lengthk-1,k-1); } public stat...

2019-09-05 11:38:54 432 1

原创 堆排序

基于左神的堆排序public class HeapSort { public static void heapSort(int[] arr) { if (arr == null || arr.length < 2) { return; } for (int i = 0; i < arr.length...

2019-09-05 10:24:00 215

原创 快排

基于左神的快排public class QuickSort { public static void quickSort(int[] arr) { if (arr == null || arr.length < 2) { return; } quickSort(arr, 0, arr.length ...

2019-09-05 10:14:10 230

转载 Java长连接的心跳及重连设计TCP 协议实现(keepalive 机制)

由于在长连接的场景下,客户端和服务端并不是一直处于通信状态,如果双方长期没有沟通则双方都不清楚对方目前的状态;所以需要发送一段很小的报文告诉对方“我还活着”。同时还有另外几个目的:服务端检测到某个客户端迟迟没有心跳过来可以主动关闭通道,让它下线。 客户端检测到某个服务端迟迟没有响应心跳也能重连获取一个新的连接。正好借着在 cim有这样两个需求来聊一聊。心跳实现方式心跳其实有两种...

2019-07-25 22:35:55 5271 1

转载 NIO高性能网络编程技术

一、NIO的概述JDK 1.4中的java.nio.*包中引入新的Java I/O库,其目的是提高速度。实际上,“旧”的I/O包已经使用NIO重新实现过,即使我们不显式的使用NIO编程,也能从中受益。nio翻译成 no-blocking io 或者 new io 都无所谓啦,都说得通~在《Java编程思想》读到**“即使我们不显式的使用NIO编程,也能从中受益”的时候,我是挺在意的,所以...

2019-07-25 21:27:47 375 1

转载 外行人都能看懂的SpringCloud

一、前言只有光头才能变强认识我的朋友可能都知道我这阵子去实习啦,去的公司说是用SpringCloud(但我觉得使用的力度并不大啊~~)...所以,这篇主要来讲讲SpringCloud的一些基础的知识。(我就是现学现卖了,主要当做我学习SpringCloud的笔记吧!)当然了,我的水平是有限的,可能会有一些理解错的的概念/知识点,还请大家不吝在评论区指正啊~~SpringCloud ...

2019-06-25 20:47:05 423

转载 BATJ都爱问的多线程面试题,答案详解

一 面试中关于 synchronized 关键字的 5 连击1.1 说一说自己对于 synchronized 关键字的了解synchronized关键字解决的是多个线程之间访问资源的同步性,synchronized关键字可以保证被它修饰的方法或者代码块在任意时刻只能有一个线程执行。另外,在 Java 早期版本中,synchronized属于重量级锁,效率低下,因为监视器锁(monito...

2019-06-23 11:40:35 191

转载 Redis的三种集群方式+穿透与雪崩的预防和解决

Redis的三种集群方式概述1、主从复制原理从服务器连接主服务器,发送SYNC(同步)命令; 主服务器接收到SYNC命名后,开始执行BGSAVE命令生成RDB文件并使用缓冲区记录此后执行的所有写命令; 主服务器BGSAVE执行完后,向所有从服务器发送快照文件,并在发送期间继续记录被执行的写命令; 从服务器收到快照文件后丢弃所有旧数据,载入收到的快照; 主服务器快照发送完毕后开始...

2019-06-10 22:55:31 381

转载 搞定JVM垃圾回收就是这么简单

如何判断对象是否死亡(两种方法)。 简单的介绍一下强引用、软引用、弱引用、虚引用(虚引用与软引用和弱引用的区别、使用软引用能带来的好处)。 如何判断一个常量是废弃常量 如何判断一个类是无用的类 垃圾收集有哪些算法,各自的特点? HotSpot为什么要分为新生代和老年代? 常见的垃圾回收器有那些? 介绍一下CMS,G1收集器。 Minor Gc和Full GC 有什么不同呢?本文导...

2019-06-10 22:44:45 184

转载 Netty解决粘包和拆包问题的四种方案

在RPC框架中,粘包和拆包问题是必须解决一个问题,因为RPC框架中,各个微服务相互之间都是维系了一个TCP长连接,比如dubbo就是一个全双工的长连接。由于微服务往对方发送信息的时候,所有的请求都是使用的同一个连接,这样就会产生粘包和拆包的问题。本文首先会对粘包和拆包问题进行描述,然后介绍其常用的解决方案,最后会对Netty提供的几种解决方案进行讲解。这里说明一下,由于oschina将“jie m...

2019-06-09 23:44:32 1587

转载 JDK Unsafe 源码完全注释

发作为 Java 中非常重要的一部分,其内部大量使用了 Unsafe 类,它为 java.util.concurrent 包中的类提供了底层支持。然而 Unsafe 并不是 JDK 的标准,它是 Sun 的内部实现,存在于 sun.misc 包中,在 Oracle 发行的 JDK 中并不包含其源代码。Unsafe 提供两个功能:绕过 JVM 直接修改内存(对象) 使用硬件 CPU 指令实...

2019-06-08 16:46:54 390

转载 Spring Boot 注解:全家桶快速通

1、Spring Web MVC 与Spring Bean 注解1-1、Spring Web MVC 注解1-1-1、@RequestMapping​@RequestMapping注解的主要用途是将Web请求与请求处理类中的方法进行映射。Spring MVC和Spring WebFlux都通过RquestMappingHandlerMapping和RequestMappingHndl...

2019-06-08 11:53:06 1264

转载 常用集合的原理分析

一、ArrayList 最佳的做法是将ArrayList作为默认的首选,当你需要而外的功能的时候,或者是当程序性能由于经常需要从表中间插入和删除而变差的时候,才会去选择LinkedList 来源于THinking in Java 源码分析 最重要的两个属性分别是: elementData 数组 size的大小 transient Object[] elementData;...

2019-06-07 23:36:25 376

转载 JVM实战-类加载的过程

作者:JavaEdge任何程序都需要加载到内存才能与CPU进行交流同理, 字节码.class文件同样需要加载到内存中,才可以实例化类ClassLoader的使命就是提前加载.class 类文件到内存中在加载类时,使用的是Parents Delegation Model(溯源委派加载模型)Java的类加载器是一个运行时核心基础设施模块,主要是在启动之初进行类的加载、链接、初始化...

2019-06-04 13:38:09 321

转载 理解JVM运行时数据区域,看这一篇文章就够了

一、运行时数据区域相应脑图程序计数器记录正在执行的虚拟机字节码指令的地址(如果正在执行的是本地方法则为空)。Java 虚拟机栈每个 Java 方法在执行的同时会创建一个栈帧用于存储局部变量表、操作数栈、常量池引用等信息。 从方法调用直至执行完成的过程,就对应着一个栈帧在 Java 虚拟机栈中入栈和出栈的过程。 对于执行引擎来说,活动线程中,只有栈顶的栈帧是有效的,称为当...

2019-05-30 14:11:42 170

转载 Mybatis 3.5支持Optional ,再也不用写判空代码了

Mybatis 3.5 发布有段时间了,终于支持了 Optional ,这么实用的特性,竟然还没人安利……于是本文出现了。新特性比较简单,但非常实用,因为能大量简化恶心的判空代码。WARNING由于本文非常简(low)单(比),我相信又会有类似如下的大佬出现(最近莫名其妙地被若干大佬喷,也不知道得罪谁了,必须高能预警一下,免得脏了大佬们的眼睛):•嫌低级喷:”这么简单文章也好意思...

2019-05-24 14:26:12 4197

转载 SpringMVC参数绑定注解的妙用,帮你去掉controller层冗余的代码

介绍SpringMVC参数绑定的注解有很多,如@RequestParam,@RequestBody,@PathVariable,@RequestHeader,@CookieValue等。这些注解的实现方式很类似,都是有一个对应的解析器,解析完返回一个对象,放在方法的参数上。如@RequestParam的解析器为RequestParamMethodArgumentResolver,@Requ...

2019-05-22 15:01:36 1260

转载 图解传说中的HTTP协议

图解传说中的HTTP协议转自头条号猪哥亮额先扒一扒HTTP协议背景?HTTP(HyperText Transfer Protocol) 即超文本传输协议,现在基本上所有web项目都遵从HTTP协议(协议就是一种人为的规范)。目前绝大部分使用的都是HTTP/1.1版本(1.0太老,2.0仍在制订中。。。)。因为HTTP协议是属于TCP/IP协议簇的,所以先

2018-01-26 16:06:05 18172 7

转载 HTTP 响应码 详细说明

HTTP 响应码 详细说明 100 客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。服务器必须在请求完成后向客户端发送一个最终响应。101 服务器已经理解了客户端的请求,并将通过Upgrade 消息头通知客户端采用不同的协议来完成这个请求。在发送完这个响应最后的空行后,

2018-01-26 15:49:21 793

转载 所有程序员都必读的十二篇文章

所有程序员都必读的十二篇文章一、程序员必知之内存篇这是篇非常经典的文章,它将会带领你走入内存的各个方面,有老的,也有新的,有知道的,也有不知道的。尽管内存十分常见,无处不在,但并不是每个程序员都足够了解它。如果你正在编写高性能的应用程序的话,了解现代系统中的内存尤为重要。硬件设计师们带来了更复杂的内存处理及加速的技术,比如说CPU缓存,但如果离开了程序员它们也无法发挥出最大

2018-01-05 13:39:39 1567

转载 带你真正认识Linux 系统结构

带你真正认识Linux 系统结构Linux系统一般有4个主要部分:内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序、管理文件并使用系统。1. linux内核内核是操作系统的核心,具有很多最基本功能,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。Linu

2018-01-03 20:00:30 2571

转载 面试问题总结

面试问题总结(你真的准备好了吗)1.1.1.祝你好运准备换一份工作你的真的准备好了吗,朋友送的一份面试资料,本文搞为初稿大致看过,有时间在持续修正更新1.1.2. 开发流程1.1.3. 并发什么是并发:所谓并发操作是指在同一时间可能有多个用户对同一数据进行读写操作.并发问题的瓶颈在哪儿,读和写。怎么解决并发:所谓并发是指大量用户同

2018-01-03 19:31:58 547

转载 所有程序员都必读的十二篇文章

所有程序员都必读的十二篇文章一、程序员必知之内存篇这是篇非常经典的文章,它将会带领你走入内存的各个方面,有老的,也有新的,有知道的,也有不知道的。尽管内存十分常见,无处不在,但并不是每个程序员都足够了解它。如果你正在编写高性能的应用程序的话,了解现代系统中的内存尤为重要。硬件设计师们带来了更复杂的内存处理及加速的技术,比如说CPU缓存,但如果离开了程序员它们也无法发挥出最大

2018-01-03 19:25:18 517

转载 Dos脚本技巧(补充内容)

Dos脚本技巧(补充内容)内容索引DOS系列已发布文章请看前一篇文章(个人总结脑图汇总), 里有所有文章的索引目录.两个批处理实例实例一: Telnet后门(网络上搜的, 没啥用了, 只作批处理分析)声明: 该脚本是个老掉牙的过时了的脚本, 自己作作实验还是可以, 不适合真刀真枪的玩儿.::---------批处理开始------------

2017-12-31 15:13:37 569

转载 Dos 命令进阶——批处理(下)

Dos 命令进阶——批处理(下)for命令讲解思路图接上篇: Dos 命令进阶(三)---批处理(中)FOR命令的作用主要是用来处理文本内容。可以打开cmd输入"for /?" 来看下它的帮助文档这里罗列出for命令的四个参数 /F,/D,/R,/L . 当然这些参数也是可以不加的(参数不区分大小写)第一部分:下面我们跑几个例子, 先

2017-12-31 15:06:01 1149

转载 Dos 命令进阶---批处理(中)

Dos 命令进阶---批处理(中)变量, set命令, IF命令的讲解思路接上篇: Dos 命令进阶(三)---批处理(上)变量1. 在windows操作系统中,变量可分为两种:一种是系统已经定义好的变量,叫做“系统变量”;一种就是用户自己定义的变量。也叫做“自定义变量”。系统变量如下图:使用 set 命令获取系统中的环境变量

2017-12-31 14:50:34 716

转载 Dos 命令进阶---批处理(上)

Dos 命令进阶---批处理(上)批处理脚本讲解思路一. 批处理介绍1、批处理的概述:批处理,也称为批处理脚本,英文译为BATCH,批处理文件后缀BAT就取的前三个字母。它的构成没有固定格式,只要遵守以下这条就ok了:(1)每一行可视为一个命令,(2)每个命令里可以含多条子命令,(3)从第一行开始执行,直到最后一行结束,它运行的平台是DOS。

2017-12-31 14:43:12 1872

转载 网络配置命令Netsh

网络配置命令Netsh常用Netsh命令Netsh命令简介netsh(Network Shell) 是一个windows系统本身提供的功能强大的网络配置命令行工具。Netsh帮助netsh 命令的帮助示例子命令帮助的获取方式强调: 如果你身处运维, 兼有windows桌面运维, 那么这些个快捷配置IP地址的方式肯定能提

2017-12-31 11:49:30 3309

转载 特殊命令之REG命令

特殊命令之REG命令REG命令不得不说的一堆肺话:注册表, 系统的核心, 如果能吃透这个, 解决常见的系统和软件硬件类的故障, 提高计算机性能都不在话下了, 小编只是小白一枚, 分享自己的学习过程而矣, 因为此平台一而再而三的屏蔽我的的这篇文章, 那么大家只能自己通过CMD窗口获取REG的帮助内容了. 大部分的官方帮助我都去除了, 精简了文章的内容, 如果能发布

2017-12-31 11:48:30 16541

转载 特殊指令之SC命令详解

特殊指令之SC命令详解DOS脚本梳理已发布文章 :DOS基础命令(一)DOS基础命令(二,三,四,五)DOS命令进阶之(Net, Netstat)DOS命令进阶之(FTP详解)DOS命令进阶之批处理(上)DOS命令进阶之批处理(中)DOS命令进阶之批处理(下)SC命令是XP系统中功能强大的DOS命令,SC命令能与“服务控制器”和已

2017-12-30 23:06:15 15087

转载 Dos 命令进阶(二)——FTP命令

Dos 命令进阶(二)——FTP命令FTP命令详解的思路梳理FTP命令行与图形界面的FTP工具的异同:相同: 都可以通过FTP协议完成文件的收发操作不同: 命令行工具系统自带, 随时随地完成任务; 而图形界面则需要安装或携带一个绿色的软件, 好一点漂亮点的软件则需要占用过多的系统资源. 而且你还要准备一个鼠标.总之, 不同的人有不同的需求, 因人而异,

2017-12-30 23:04:52 1106

转载 Dos命令进阶(一)---Net, Netstat

Dos命令进阶(一)---Net, NetstatDos 命令进阶(一)讲解思路1、Net常用命令(1)net share - 查看共享命令net share ipc$ - 设置ipc$共享net share ipc$ /del - 删除ipc$共享 (xp系统无法删除)net share c$=c: - 设置c盘为共享我的实验是在win7_64

2017-12-30 23:03:28 570

转载 DOS基础命令汇总(二,三,四,五)

DOS基础命令汇总(二,三,四,五)DOS基础(二) 切换1、Cd或Chdir(Change Directory)命令命令格式:Cd或Cd (中间有无空格不影响命令的完成,空格将会被忽略) - 切换磁盘的目录返回当前磁盘分区的根目录下Cd.. - 切换到上一级目录返回到上级或父级目录Cd 文件夹 -切换到某个文件夹中切换到指定目录

2017-12-30 23:01:16 724

转载 DOS基础命令汇总(一)

DOS基础命令汇总(一)单击“开始”--“运行”--输入“cmd”回车即可(也可以按 WIN+R组合键打开运行输入框)有些命令因为参数过多,小编也不可能全不都拿出来给大家讲。只能给大家介绍一些比较常用或实用的命令如果有高手路过, 也请帮忙指正一下, 避免误导勤奋的好朋友们. 同时建议有心想一起玩的条友多动手敲敲键盘, 小编数年来的经验证实了, 学IT, 不动手的话, 也

2017-12-30 23:00:01 9199 1

原创 实际中用到的DOS命令

工作中用到的一些命令

2017-12-30 20:29:57 300

转载 29个要点帮你更好的完成java代码优化

29个要点帮你更好的完成java代码优化,赶紧收了吧!

2017-12-30 20:09:49 276

转载 优秀开发者不可不知的网站——StackShare:技术界的领英

优秀开发者不可不知的网站——StackShare:技术界的领英学哪种技术好,哪个更有前途?最优秀的开发工具和开发服务有哪些?神级程序员如何打造顶尖程序和服务?stackshare.io 给迷茫的你一个选择方向!StackShare:开发者工具及服务分享平台是一个致力于开发人员所使用的开发工具和开发服务发现和分享优质资源的网站,帮助开发者使用最方便的开发工

2017-12-30 19:57:09 2289

转载 Wireshark抓包分析TCP协议

Wireshark抓包分析TCP协议版权声明:本文为作者原创文章,可以随意转载,但必须在明确位置表明出处!!!之前有一篇文章介绍了http协议「初识http协议」, http协议协议是基于tcp协议的,所以作者觉得有必要针对tcp协议做一个介绍,希望各位读者能够静下心来认真阅读,也可以自己去看看TCP/IP协议详解这本书,一定要让自己成为那20%的人。TCP

2017-12-30 14:21:55 650

转载 深入理解计算机启动的过程

深入理解计算机启动的过程我们每天使用计算机必须要经过的一个步骤就是启动了,但是,你是否知道计算机到底是怎样启动的呢?如果不知道它是怎样启动的,似乎总感觉有些别扭。先问一个问题,”启动”用英语怎么说?回答是boot。可是,boot原来的意思是靴子,”启动”与靴子有什么关系呢? 原来,这里的boot是bootstrap(鞋带)的缩写,它来自一句谚语:"pull ones

2017-12-30 13:58:03 672

转载 一分钟教你激活IDEA2017.3

一分钟教你激活IDEA2017.3 IDEA 全称IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一今天,小编带大家走进IDEA 听说一入IDEA,图1 IDEA官网欢迎页面1.在网页上输入IDE可看到IDEA的官网,进入后点击下载即可。等待下载完成。激活有好多方法,不过都被和谐了,下面的一

2017-12-29 20:12:15 2791

空空如也

空空如也

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

TA关注的人

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