自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(138)
  • 问答 (1)
  • 收藏
  • 关注

转载 LeetCode03:寻找给定字符串最长子串(不含重复字符)

转载地址:https://www.cnblogs.com/ariel-dreamland/p/8668286.html题目描述:给定一个字符串,找出不含有重复字符的最长子串的长度。示例:给定"abcabcbb",没有重复字符的最长子串是"abc",那么长度就是3。给定"bbbbb",最长的子串就是"b",长度是1。给定"pwwkew",最长子串是"...

2019-03-25 12:24:50 2395

转载 手写代码实现迷你版Tomcat

转载地址:https://www.jianshu.com/p/dce1ee01fb90Tomcat,这只3脚猫,大学的时候就认识了,直到现在工作中,也常会和它打交道。这是一只神奇的猫,今天让我来抽象你,实现你!Write MyTomcatTomcat是非常流行的Web Server,它还是一个满足Servlet规范的容器。那么想一想,Tomcat和我们的Web应用是什么关系?从...

2019-03-19 14:53:58 178

转载 Java8——流式数据处理

转载地址:https://www.cnblogs.com/shenlanzhizun/p/6027042.html一. 流式处理简介在我接触到java8流式处理的时候,我的第一感觉是流式处理让集合操作变得简洁了许多,通常我们需要多行代码才能完成的操作,借助于流式处理可以在一行中实现。比如我们希望对一个包含整数的集合中筛选出所有的偶数,并将其封装成为一个新的List返回,那么在java8之前...

2019-03-18 15:38:30 213

转载 一份非常完整的 MySQL 规范

转载地址:https://mp.weixin.qq.com/s/IG_4XQwCzR0nJoqpZ7N25Q一、数据库命令规范·所有数据库对象名称必须使用小写字母并用下划线分割·所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)·数据库对象的命名要能做到见名识意,并且最后不要超过32个字符·临时库表必须以tmp_为前缀并...

2019-03-11 16:54:35 98

转载 Class.forName()和ClassLoader区别

转载地址:https://www.cnblogs.com/jimoer/p/9185662.html前言最近在面试过程中有被问到,在Java反射中Class.forName()加载类和使用ClassLoader加载类的区别。当时没有想出来后来自己研究了一下就写下来记录一下。解释在java中Class.forName()和ClassLoader都可以对类进行加载。ClassLoade...

2019-03-07 18:00:51 177

转载 spring 事务详解

转载地址:https://www.2cto.com/kf/201611/562582.html前言spring目前已是java开发的一个事实标准,这得益于它的便利、功能齐全、容易上手等特性。在开发过程当中,操作DB是非常常见的操作,而涉及到db,就会涉及到事务。事务在平时的开发过程当中,就算没有注意到,程序正常执行不会有副作用,但如果出现了异常,而又没有处理好事务的话,可能就会出现意想不到...

2019-03-07 17:20:47 187

转载 极客时间——数据结构与算法(37):贪心算法:如何用贪心算法实现Huffman压缩编码?

转载地址:https://time.geekbang.org/column/article/73188基础的数据结构和算法我们基本上学完了,接下来几节,我会讲几种更加基本的算法。它们分别是贪心算法、分治算法、回溯算法、动态规划。更加确切地说,它们应该是算法思想,并不是具体的算法,常用来指导我们设计具体的算法和编码等。贪心、分治、回溯、动态规划这 4 个算法思想,原理解释起来都很简单,但是要...

2019-03-05 16:40:02 663

转载 极客时间——数据结构与算法(36):AC自动机:如何用多模式串匹配实现敏感词过滤功能?

转载地址:https://time.geekbang.org/column/article/72810很多支持用户发表文本内容的网站,比如 BBS,大都会有敏感词过滤功能,用来过滤掉用户输入的一些淫秽、反动、谩骂等内容。你有没有想过,这个功能是怎么实现的呢?实际上,这些功能最基本的原理就是字符串匹配算法,也就是通过维护一个敏感词的字典,当用户输入一段文字内容之后,通过字符串匹配算法,来查找...

2019-03-05 13:34:45 410

转载 极客时间——数据结构与算法(35):Trie树:如何实现搜索引擎的搜索关键词提示功能?

转载地址:https://time.geekbang.org/column/article/72414搜索引擎的搜索关键词提示功能,我想你应该不陌生吧?为了方便快速输入,当你在搜索引擎的搜索框中,输入要搜索的文字的某一部分的时候,搜索引擎就会自动弹出下拉框,里面是各种关键词提示。你可以直接从下拉框中选择你要搜索的东西,而不用把所有内容都输入进去,一定程度上节省了我们的搜索时间。尽管这个...

2019-03-05 13:28:55 605

转载 极客时间——数据结构与算法(34):字符串匹配基础(下):如何借助BM算法轻松理解KMP算法?

转载地址:https://time.geekbang.org/column/article/71845上一节我们讲了 BM 算法,尽管它很复杂,也不好理解,但却是工程中非常常用的一种高效字符串匹配算法。有统计说,它是最高效、最常用的字符串匹配算法。不过,在所有的字符串匹配算法里,要说最知名的一种的话,那就非 KMP 算法莫属。很多时候,提到字符串匹配,我们首先想到的就是 KMP 算法。尽管...

2019-03-05 13:23:41 248

转载 极客时间——数据结构与算法(33):字符串匹配基础(中):如何实现文本编辑器中的查找功能?

转载地址:https://time.geekbang.org/column/article/71525文本编辑器中的查找替换功能,我想你应该不陌生吧?比如,我们在 Word 中把一个单词统一替换成另一个,用的就是这个功能。你有没有想过,它是怎么实现的呢?当然,你用上一节讲的 BF 算法和 RK 算法,也可以实现这个功能,但是在某些极端情况下,BF 算法性能会退化的比较严重,而 RK 算法需...

2019-03-04 20:46:24 363

转载 Java核心技术36讲(16)—— synchronized底层如何实现?什么是锁的升级、降级?

转载地址:https://time.geekbang.org/column/article/9042典型回答在回答这个问题前,先简单复习一下上一讲的知识点。synchronized 代码块是由一对儿 monitorenter/monitorexit 指令实现的,Monitor 对象是同步的基本实现单元。在 Java 6 之前,Monitor 的实现完全是依靠操作系统内部的互斥锁,因为需...

2019-03-03 15:54:29 433

转载 Java核心技术36讲(15)—— synchronized和ReentrantLock有什么区别呢?

转载地址:https://time.geekbang.org/column/article/8799典型回答synchronized 是 Java 内建的同步机制,所以也有人称其为 Intrinsic Locking,它提供了互斥的语义和可见性,当一个线程已经获取当前锁时,其他试图获取的线程只能等待或者阻塞在那里。在 Java 5 以前,synchronized 是仅有的同步手段,在代...

2019-03-03 15:28:03 162

转载 聚集索引简介

本文为转载文章,主要介绍聚集索引的概念,以便于更清楚的理解。转载地址:https://www.cnblogs.com/aspwebchh/p/6652855.html前段时间,公司一个新上线的网站出现页面响应速度缓慢的问题, 一位负责这个项目的但并不是搞技术的妹子找到我,让我想办法提升网站的访问速度 ,因为已经有很多用户来投诉了。我第一反应觉的是数据库上的问题,假装思索了一下,摆着一副深沉...

2019-03-01 17:34:18 19807 12

原创 冒泡排序优化

话不多说,直接上代码,最基本的冒泡: public static void bubbleSort1(int[] arr){ for (int i = 0; i < arr.length - 1; i++) {//外层循环控制排序趟数 for (int j = 0; j < arr.length - 1 - i; j++) {//内层循环控制...

2019-02-11 17:58:52 180 2

原创 使用JAXB相关注意问题

最近在调快递接口的时候,因为大多数请求及返回值都是以xml格式进行的,所以需要用到工具来对xml和bean两者进行相互转化,这里用到了JAXB技术。这里有对应的utils可以使用,点击查看。我在调用的时候并没有用这个工具类,因为之前代码里有别人写好的工具类,用的也是JAXB,但是封装形式不一样,而且打在了jar包里,和其他类还有依赖,就不贴代码了,同事用了上面的代码也是可以实现的。这里...

2019-01-24 11:02:30 407

转载 JAXB工具类实现xml和bean相互转化

转载的,同事已经测试过,可以实现。转载地址:https://blog.csdn.net/5iasp/article/details/38492825测试类:package com.yanek.test; import java.util.ArrayList;import java.util.List; import com.yanek.test.JaxbUtil.C...

2019-01-24 10:59:29 523

转载 Zero-Copy在kafka中的应用

转载地址:https://blog.csdn.net/allwefantasy/article/details/50663533前言Kafka 我个人感觉是性能优化的典范。而且使用Scala开发,代码写的也很漂亮的。重点我觉得有四个    NIO     Zero Copy     磁盘顺序读写     Queue数据结构的极致使用Zero-Copy 实际的原理,大家还是去Go...

2019-01-19 17:16:03 278

转载 Zero-copy原理理解(英文--据说讲的很清楚)

转载地址:https://www.linuxjournal.com/article/6345?page=0,2                                                                   Zero Copy I: User-Mode PerspectiveSysAdminby Dragan Stancevicon Januar...

2019-01-19 14:54:13 555

转载 Zero-Copy原理解析

转载地址:https://blog.csdn.net/u013256816/article/details/52589524首先需要知道应用场景:适用于静态资源从磁盘到网络的发送(中间不对资源进行改变),这在web server提供的功能中很常见,一个例子是:保存在磁盘上的一张图片应某个网络请求被从磁盘中取出并通过socket发送至请求方。考虑这样一种常用的情形:你需要将静态内容(类似图...

2019-01-19 14:47:40 496

转载 JDBC 驱动程序类型

转载地址:https://www.jianshu.com/p/fce9ac03a250什么是 JDBC 驱动说白了 JDBC 驱动就是一组实现了 JDBC API 接口的 Java 类的集合,该接口用于与数据库服务器进行交互。例如,使用 JDBC 驱动程序可以让你打开数据库连接,并通过发送 SQL 或数据库命令,然后通过 Java 接收结果。JDK 中的 java.sql 包中定义了各...

2019-01-18 17:18:16 722

转载 Understanding JDBC Internals & Timeout Configuration

Understanding JDBC Internals & Timeout ConfigurationWRITTEN BY Woon Duk Kang ON 06/07/2017An application with a proper JDBC timeout can cut down the failure time. In this article we would like...

2019-01-18 17:13:20 359

转载 深入理解 JDBC 的超时

转载地址:https://www.jianshu.com/p/2deaf51bf715深入理解 JDBC 的超时这是最近读到的讲关于 JDBC 的超时问题最透彻的文章,原文是http://www.cubrid.org/blog/understanding-jdbc-internals-and-timeout-configuration ,网址需要翻墙才能打开,已转载到另外一篇文章。网上现有...

2019-01-18 17:05:31 960

转载 JS对象数组去重(单个数组 新方法)

转载地址:https://www.cnblogs.com/le220/p/9130656.html  亲测可用方法一:采用对象访问属性的方法,判断属性值是否存在,如果不存在就添加。方法二:采用数组中的reduce方法,遍历数组,也是通过对象访问属性的方法var arr = [{ key: '01', value: '乐乐' }, { ...

2019-01-18 11:03:17 662

转载 JS几种数组遍历方式以及性能分析对比

转载地址:https://dailc.github.io/2016/11/25/baseKnowlenge_javascript_jsarrayGoThroughJS数组遍历的几种方式JS数组遍历,基本就是for,forin,foreach,forof,map等等一些方法,以下介绍几种本文分析用到的数组遍历方式以及进行性能分析对比第一种:普通for循环代码如下:for(j =...

2019-01-16 19:40:29 391 1

转载 MiniUI grid改变行背景颜色

在使用miniUI开发中,时常会遇到需要改变gird的符合条件的某一行的颜色,下面就说两种方法:一:使用renderer=”theRenderer” 渲染的方式,也是最简单的一种方式在gird的某一列上加上这个renderer="theRenderer"然后在你的js中写上theRenderer()方法function changeColor(e){ if(e.row.con...

2019-01-16 17:55:44 4128 1

转载 极客时间——数据结构与算法(12):排序(下):如何用快排思想在O(n)内查找第K大元素?

转载地址:https://time.geekbang.org/column/article/41913 归并排序和快速排序都用到了分治思想,非常巧妙。我们可以借鉴这个思想,来解决非排序的问题,比如:如何在 O(n) 的时间复杂度内查找一个无序数组中的第 K 大元素?归并排序的原理我们先来看归并排序(Merge Sort)。归并排序的核心思想还是蛮简单的。如果要排序一个数组,...

2019-01-12 13:29:21 261

转载 Java并发系列[11]----ReentrantLock源码分析

原文出处:http://cmsblogs.com/ 『chenssy』我们知道线程Thread可以调用setPriority(int newPriority)来设置优先级的,线程优先级高的线程先执行,优先级低的后执行。而前面介绍的ArrayBlockingQueue、LinkedBlockingQueue都是采用FIFO原则来确定线程执行的先后顺序,那么有没有一个队列可以支持优先级呢? Pri...

2019-01-12 12:15:36 111

转载 Java核心技术36讲(9)—— 对比Hashtable、HashMap、TreeMap有什么不同?

转载地址:https://time.geekbang.org/column/article/8053典型回答Hashtable、HashMap、TreeMap 都是最常见的一些 Map 实现,是以键值对的形式存储和操作数据的容器类型。Hashtable 是早期 Java 类库提供的一个哈希表实现,本身是同步的,不支持 null 键和值,由于同步导致的性能开销,所以已经很少被推荐使用。...

2019-01-12 11:25:45 141

转载 Java核心技术36讲(8)—— 对比Vector、ArrayList、LinkedList有何区别?

转载地址:https://time.geekbang.org/column/article/7810典型回答这三者都是实现集合框架中的 List,也就是所谓的有序集合,因此具体功能也比较近似,比如都提供按照位置进行定位、添加或者删除的操作,都提供迭代器以遍历其内容等。但因为具体的设计区别,在行为、性能、线程安全等方面,表现又有很大不同。Vector 是 Java 早期提供的线程安全的动...

2019-01-12 10:52:49 151

转载 Java核心技术36讲(7)—— int和Integer有什么区别?

转载地址:https://time.geekbang.org/column/article/7514Java 虽然号称是面向对象的语言,但是原始数据类型仍然是重要的组成元素,所以在面试中,经常考察原始数据类型和包装类等 Java 语言特性。典型回答:int 是我们常说的整形数字,是 Java 的 8 个原始数据类型(Primitive Types,boolean、byte 、short...

2019-01-12 10:40:26 350

转载 Java核心技术36讲(6)—— 动态代理是基于什么原理?

转载地址:https://time.geekbang.org/column/article/7489编程语言通常有各种不同的分类角度,动态类型和静态类型就是其中一种分类角度,简单区分就是语言类型信息是在运行时检查,还是编译期检查。与其近似的还有一个对比,就是所谓强类型和弱类型,就是不同类型变量赋值时,是否需要显式地(强制)进行类型转换。那么,如何分类 Java 语言呢?通常认为,Jav...

2019-01-12 10:30:30 194

转载 Java核心技术36讲(5)—— String、StringBuffer、StringBuilder有什么区别?

转载地址:https://time.geekbang.org/column/article/7349典型回答String 是 Java 语言非常基础和重要的类,提供了构造和管理字符串的各种基本逻辑。它是典型的 Immutable 类,被声明成为 final class,所有属性也都是 final 的。也由于它的不可变性,类似拼接、裁剪字符串等动作,都会产生新的 String 对象。由于字符...

2019-01-11 17:18:10 137

转载 Java核心技术36讲(2)—— Exception和Error有什么区别?

转载地址:https://time.geekbang.org/column/article/6849Java 语言在设计之初就提供了相对完善的异常处理机制,这也是 Java 得以大行其道的原因之一,因为这种机制大大降低了编写和维护可靠程序的门槛。如今,异常处理机制已经成为现代编程语言的标配。问题,请对比 Exception 和 Error,另外,运行时异常与一般异常有什么区别?典型回答...

2019-01-11 16:14:18 217

原创 两边横线 中间汉字 js效果实现

话不多说,直接上css 样式代码:CSS text-decoration 属性 文本修饰:可以控制一条线从不同的位置以不同的状态、姿势来通过一段文字。<html><head><style type="text/css">h1 {text-decoration: overline}h2 {text-decoration: line-throu...

2019-01-11 15:49:52 805

原创 Java 快递平台接口调用问题 base64 加密(jdk与Apache)

近来调EMS的下单接口,总是不成功,还有调韵达的接口,总是报签名错误,弄了两天也没找出来啥原因,后来老司机不造咋地就找到了原因,原来是在对参数进行base64加密的时候使用了jdk自带的base64进行编码(sun.misc.BASE64Encoder),编码结果会在最后面多加换行,导致参数不正确,换成Apache包下的base64就可以了(1.8中的java.util.Base64也可以)。...

2019-01-10 13:16:02 901 2

转载 极客时间——数据结构与算法(11):排序(上):为什么插入排序比冒泡排序更受欢迎?

 转载地址:https://time.geekbang.org/column/article/41802排序对于任何一个程序员来说,可能都不会陌生。你学的第一个算法,可能就是排序。大部分编程语言中,也都提供了排序函数。在平常的项目中,我们也经常会用到排序。排序非常重要,所以我会花多一点时间来详细讲一讲经典的排序算法。排序算法太多了,有很多可能你连名字都没听说过,比如猴子排序、睡眠排序、...

2019-01-07 13:34:16 207

转载 极客时间——数据结构与算法(10):递归:如何用三行代码找到“最终推荐人”?

转载地址:https://time.geekbang.org/column/article/41440  推荐注册返佣金的这个功能我想你应该不陌生吧?现在很多 App 都有这个功能。这个功能中,用户 A 推荐用户 B 来注册,用户 B 又推荐了用户 C 来注册。我们可以说,用户 C 的“最终推荐人”为用户 A,用户 B 的“最终推荐人”也为用户 A,而用户 A 没有“最终推荐人”。  ...

2019-01-06 21:53:18 284

转载 极客时间——数据结构与算法(9):队列:队列在线程池等有限资源池中的应用

转载地址:https://time.geekbang.org/column/article/41330  我们知道,CPU 资源是有限的,任务的处理速度与线程个数并不是线性正相关。相反,过多的线程反而会导致 CPU 频繁切换,处理性能下降。所以,线程池的大小一般都是综合考虑要处理任务的特点和硬件环境,来事先设置的。 当我们向固定大小的线程池中请求一个线程时,如果线程池中没有空闲资源了,...

2019-01-06 21:14:44 291

转载 极客时间——数据结构与算法(8):栈:如何实现浏览器的前进和后退功能??

转载地址:https://time.geekbang.org/column/article/41222浏览器的前进、后退功能,我想你肯定很熟悉吧?  当你依次访问完一串页面 a-b-c 之后,点击浏览器的后退按钮,就可以查看之前浏览过的页面 b 和 a。当你后退到页面 a,点击前进按钮,就可以重新查看页面 b 和 c。但是,如果你后退到页面 b 后,点击了新的页面 d,那就无法再通过前...

2019-01-06 20:55:55 355 1

空空如也

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

TA关注的人

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