自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

茅坤宝骏氹的博客

Learning and Review。转载文章来源网络,转载链接不一定是原文,如有侵权请联系删除

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

转载 Linux查找含有某字符串的所有文件

转载自  Linux查找含有某字符串的所有文件1、grep查找grep -rl "hello,world!" ** : 表示当前目录所有文件,也可以是某个文件名-r 是递归查找-n 是显示行号-R 查找所有文件包含子目录-i 忽略大小写下面是一些有意思的命令行参数:grep -i pattern files :不区分大小写地搜索。默认情况区分大小写, gr...

2018-11-26 19:56:16 168

转载 Windows 通过 SecureCRT 8.x 上传文件到Linux服务器

转载自  Windows 通过 SecureCRT 8.x 上传文件到Linux服务器1、SecureCRT 连接 Linux 服务器,这一步操作简单:2、连接并登录成功后,直接在连接成功的页签上 右键 ->  Connect SFTP Session 打开SFTP窗口:3、在新的SFTP页签中,切换windows本地和Linux服务器的目录:sftp> ...

2018-11-26 19:49:42 350

转载 最长回文子串(Longest Palindromic Substring)

转载自  最长回文子串(Longest Palindromic Substring)——三种时间复杂度的解法    子串:小于等于原字符串长度由原字符串中任意个连续字符组成的子序列    回文:关于中间字符对称的文法,即“aba”(单核)、“cabbac”(双核)等    最长回文子串:1.寻找回文子串;2.该子串是回文子串中长度最长的。一、O(n^3)时间复杂度方法——暴力求解...

2018-11-24 21:43:51 763

转载 10亿个数中找出最大的10000个数

转载自  海量数据处理 - 10亿个数中找出最大的10000个数(top K问题)       前两天面试3面学长问我的这个问题(想说TEG的3个面试学长都是好和蔼,希望能完成最后一面,各方面原因造成我无比想去鹅场的心已经按捺不住了),这个问题还是建立最小堆比较好一些。        先拿10000个数建堆,然后一次添加剩余元素,如果大于堆顶的数(10000中最小的),将这个数替换堆顶,并...

2018-11-24 21:38:43 717

转载 数据库的最简单实现

转载自  数据库的最简单实现所有应用软件之中,数据库可能是最复杂的。MySQL的手册有3000多页,PostgreSQL的手册有2000多页,Oracle的手册更是比它们相加还要厚。但是,自己写一个最简单的数据库,做起来并不难。Reddit上面有一个帖子,只用了几百个字,就把原理讲清楚了。下面是我根据这个帖子整理的内容。 数据以文本形式保存第一步,就是将所要保存的数据,写入文本...

2018-11-24 21:32:26 174

转载 Unicode与UTF-8的区别

转载自  Unicode与UTF-8的区别要弄清Unicode与UTF-8的关系,我们还得从他们的来源说起,下来我们从刚开始的编码说起,直到Unicode的出现,我们就会感觉到他们之间的关系 ASCII码我们都知道,在计算机的世界里,信息的表示方式只有0和1,但是我们人类信息表示的方式却与之大不相同,很多时候是用语言文字、图像、声音等传递信息的。那么我们怎样将其转化为二进制存储到计...

2018-11-24 21:28:26 394

转载 Redis单线程架构

转载自  Redis单线程架构redis使用了单线程架构和I/O多路复用模型来实现高性能的内存数据库服务。引出单线程模型开启三个redis-cli客户端同时执行命令:1、客户端1设置一个字符串键值对: 2、客户端2对counter自增操作: 3、客户端3对counter自增操作:redis客户端与服务端的模型可以简化成图(如下图所示),每次客户端调用都...

2018-11-24 21:17:13 166

转载 一次频繁Full GC的排查过程,根源居然是它...

转载自  一次频繁Full GC的排查过程,根源居然是它...业务部门的一个同事遇到个奇怪的 Full GC 问题,有个服务迁移到新的应用后,一直频繁 Full GC。新应用机器的配置是 4c 8g,老应用是 4c 4g,老应用 GC 都很正常,并且代码没有变更,所以比较奇怪。现象问题的现象是,从监控图上看一直有大量的 Full GC 排查遇到这个问题,一般都是先看看各...

2018-11-24 20:55:37 4105 1

转载 漫画:如何实现大整数相加

转载自  漫画:如何实现大整数相加    在程序中列出的 “竖式” 究竟是什么样子呢?我们以 426709752318 + 95481253129 为例,来看看大整数相加的详细步骤:第一步,把整数倒序存储,整数的个位存于数组0下标位置,最高位存于数组长度-1下标位置。之所以倒序存储,更加符合我们从左到右访问数组的习惯。 第二步,创建结果数组,...

2018-11-24 12:18:10 380

转载 一次动态代理的填坑之旅

转载自  一次动态代理的填坑之旅背景想在现有的接口加上熔断降级或者限流的功能,比较好的方式是通过注解的方式,并基于动态代理进行实现,下面代码是Rhino的实现@Rhinopublic class ServiceImpl {   @Degrade(rhinoKey = "syncMethod-0",  fallBackMethod = "fallbackMethod")   p...

2018-11-24 11:59:22 238

转载 Java中如何实现线程的超时中断

转载自  Java中如何实现线程的超时中断背景之前在实现熔断降级组件的时候,需要实现接口请求的超时中断。意思是,业务在使用熔断降级功能时,在平台上设置了一个超时时间,如果请求进入熔断器开始计时,接口在超时时间内没有响应,则需要提早中断该请求并返回。比如正常下游接口的超时时间为800ms,但是因为自身业务的特殊需求,最多只能等200ms,如果指定之内没有数据返回,则返回降级数据。这里处理...

2018-11-24 11:53:53 977

转载 性能优化之抛弃Calendar

转载自  性能优化之抛弃Calendar目前在做限流相关的需求,有这么一个限流策略,和用户相关,当系统发生故障时,允许一个非核心接口按照用户的百分比进行限流,如果完全按照UUID进行hash,那么每次都是限制同一批的用户,如果在UUID的基础上加上当天的日期,那么就可以有效的避免这个问题。所以在这个需求中,每次请求都需要拿到当前的日期,不过精确到天即可。 嗖~的一下,完成了如下代码C...

2018-11-24 11:50:46 481

转载 Java中线程池,你真的会用吗

转载自   Java中线程池,你真的会用吗在《深入源码分析Java线程池的实现原理》这篇文章中,我们介绍过了Java中线程池的常见用法以及基本原理。在文中有这样一段描述:可以通过Executors静态工厂构建线程池,但一般不建议这样使用。关于这个问题,在那篇文章中并没有深入的展开。作者之所以这么说,是因为这种创建线程池的方式有很大的隐患,稍有不慎就有可能导致线上故障。本文我们就...

2018-11-23 19:17:38 154

转载 你必须掌握的 21 个 Java 核心技术

转载自  你必须掌握的 21 个 Java 核心技术写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,希望可以给大家一些经验,能让大家更好学习和使用Java。这次介绍的主要内容是和J2SE相关的部分,另外,会在以后再介绍些J2EE相关的、和Java中各个框架相关的内容。经过这么多年的Java开发,以及结合平时面试Java开发者的一些经验,我觉得对于J2SE方面主要就...

2018-11-23 19:17:00 214

转载 1 分钟教会你用 Spring Boot 发邮件

转载自 1 分钟教会你用 Spring Boot 发邮件Spring Boot 提供了一个发送邮件的简单抽象,使用的是下面这个接口。org.springframework.mail.javamail.JavaMailSenderSpring Boot 提供了一个 starter,并能自动配置,下面来做个小例子,顺便解析它做了什么工作。0、你所需具备的基础什么是 Spring...

2018-11-23 19:16:26 337

转载 Redis 高可用特性之 “持久化” 详解

转载自  Redis 高可用特性之 “持久化” 详解在之前的文章中,介绍了《Redis的内存模型》,从这篇文章开始,将依次介绍 Redis 高可用相关的知识——持久化、复制(及读写分离)、哨兵、以及集群。本文将先说明上述几种技术分别解决了 Redis 高可用的什么问题,然后详细介绍 Redis 的持久化技术,主要是 RDB 和 AOF 两种持久化方案。在介绍 RDB 和 AOF 方案时...

2018-11-20 19:17:53 259

转载 收割百度、阿里、腾讯、头条、网易华为等大厂Offer的面经

转载自   收割百度、阿里、腾讯、头条、网易华为等大厂Offer的面经本文作者是跨专业考研的985硕士一枚,经历研究生两年的学习积累,有幸于2019秋季招聘中拿到几个公司的研发岗offer,包括百度,阿里,腾讯,今日头条,网易,华为等。一路走来也遇到很多困难,也踩了很多坑,同时他自己也探索了很多的学习方法,总结了很多心得体会,并且,对校园招聘也做了一些研究和相应的准备。在今年的秋季招聘...

2018-11-18 11:20:33 853 1

转载 一个简单的例子,学习自定义注解和AOP

转载自   一个简单的例子,学习自定义注解和AOP记得今年年初刚开始面试的时候,被问的最多的就是你知道Spring的两大核心嘛?那你说说什么是AOP,什么是IOC?我相信你可能也被问了很多次了。 1、到底是什么是AOP?所谓AOP也就是面向切面编程,能够让我们在不影响原有业务功能的前提下,横切扩展新的功能。这里面有一个比较显眼的词我们需要注意一下,横切,它是基于横切面对程序进行扩展...

2018-11-18 11:05:20 261

转载 高并发场景下的限流策略

转载自   高并发场景下的限流策略在高并发的场景下,我们的优化和保护系统的方式通常有:多级缓存、资源隔离、熔断降级、限流等等。今天我们来聊聊限流。 为什么需要限流举个比较简单的例子,正常来说,一个员工A他每天能够处理的工作是10个,突然某一天来了100个工作量,这时候,如果员工A还处理100个,只有一种可能,这个员工被压垮。如果我们能预先知道会有100个任务会来,我们通过增...

2018-11-18 11:04:37 323

转载 设计数据库表时,你真的会选数据类型吗

转载自  设计数据库表时,你真的会选数据类型吗关系型数据库,是开发人员最常接触的持久化存储之一了,使用关系型数据库有很多好处,比如支持通过事务处理保持数据的一致性、数据更新的开销很小、可以进行Join等复杂查询等。同时,还有个好处就是关系型数据库有比较完善的数据类型,支持很多不同类型的数据存储。但是这些数据类型的使用和选择也有很多套路在的,本文就来简单介绍一下。1. 整数类型整数类...

2018-11-18 11:03:51 365

转载 彻底理解JVM常考题之分级引用模型

转载自   彻底理解JVM常考题之分级引用模型本文通过探析Java中的引用模型,分析比较强引用、软引用、弱引用、虚引用的概念及使用场景,知其然且知其所以然,希望给大家在实际开发实践、学习开源项目提供参考。Java的引用对于Java中的垃圾回收机制来说,对象是否被应该回收的取决于该对象是否被引用。因此,引用也是JVM进行内存管理的一个重要概念。Java中是JVM负责内存的分配和回收,这是...

2018-11-18 11:03:19 231

转载 浅析DNS域名解析过程

转载自  浅析DNS域名解析过程对于每一个HTTP请求发起过程中,都有很重要的一个步骤——DNS解析,本篇文章将跟着DNS解析过程来分析域名是如何解析的。一、DNS域名解析步骤下图是DNS域名解析的一个示例图,它涵盖了基本解析步骤和原理。 下面DNS解析步骤进行讲解,后面将采用命令行的形式来跟踪DNS解析过程。当用户在地址栏键入www.baidu.com并敲下回车键之后,域名解...

2018-11-18 11:02:11 248

转载 深入源码分析Java线程池的实现原理

转载自   深入源码分析Java线程池的实现原理程序的运行,其本质上,是对系统资源(CPU、内存、磁盘、网络等等)的使用。如何高效的使用这些资源是我们编程优化演进的一个方向。今天说的线程池就是一种对CPU利用的优化手段。网上有不少介绍如何使用线程池的文章,那我想说点什么呢?我希望通过学习线程池原理,明白所有池化技术的基本设计思路。遇到其他相似问题可以解决。 池化技术前面提到一个...

2018-11-18 11:01:58 155

转载 什么是 binlog

转载自  什么是 binlog引言为什么写这篇文章?大家当年在学MySQL的时候,为了能够迅速就业,一般是学习一下MySQL的基本语法,差不多就出山找工作了。水平稍微好一点的童鞋呢还会懂一点存储过程的编写,又或者是懂一点索引的创建和使用。但是呢,基本上大家都忽略了对底层知识的学习。为什么呢?因为工作中很少用到嘛。然后呢,市面上流传的大部分这种底层的知识,又比较偏运维,研发懂这么多意义也...

2018-11-18 11:01:35 880

转载 漫画:删去k个数字后的最小值

转载自  漫画:删去k个数字后的最小值  我们来举一个栗子:给定整数 541270936,要求删去一个数,让剩下的整数尽可能小。此时,无论删除哪一个数字,最后的结果都是从9位整数变成8位整数。既然同样是8位整数,我们显然应该优先把高位的数字降低,这样对新整数的值影响最大。 如何把高位的数字降低呢?很简单,我们把原整数的所有数字从左到右进行比较,如果发现某一位的数...

2018-11-18 11:01:17 505

转载 mybatis3中@SelectProvider的使用技巧

转载自  mybatis3中@SelectProvider的使用技巧mybatis3中增加了使用注解来配置Mapper的新特性,本篇文章主要介绍其中几个@Provider的使用方式,他们是:@SelectProvider、@UpdateProvider、@InsertProvider和@DeleteProvider。MyBatis 3 User Guide中的最后一章描述了注解的简单用法,但是对...

2018-11-17 14:54:01 748

转载 SQL语句构建器类

转载自  SQL语句构建器类问题Java程序员面对的最痛苦的事情之一就是在Java代码中嵌入SQL语句。这么来做通常是由于SQL语句需要动态来生成-否则可以将它们放到外部文件或者存储过程中。正如你已经看到的那样,MyBatis在它的XML映射特性中有一个强大的动态SQL生成方案。但有时在Java代码内部创建SQL语句也是必要的。此时,MyBatis有另外一个特性可以帮到你,在减少典型的加号...

2018-11-17 14:39:43 313

转载 mybatis更新Blob类型字段要用updateByPrimaryKeyWithBLOBs

转载自  mybatis更新Blob类型字段要用updateByPrimaryKeyWithBLOBs 不会报错也不会更新desc  业务desc数据库类型为Blob  查看源码 解决方案:   

2018-11-17 14:22:38 4493 2

转载 mybatis 注解传入 list 集合​​​​​​​

转载自  mybatis 注解传入 list 集合这里写一个查询的sql语句首先看 mapper  @SelectProvider(type = SqlModel.class, method = "listDeviceIndex")    @Results(value = {            @Result(column = "index_id",property = ...

2018-11-17 14:11:03 637

转载 这也许是你不曾留意过的 Mybatis 细节

转载自  这也许是你不曾留意过的 Mybatis 细节Mybatis 可以说是 Java 后端的必备技能,可能你和我一样经常使用到它。但有时 cv 多了,会忘记了一些细节处理,比如为什么要加上这个注解?它的作用是什么等等。这篇文章是我以前写的一些关于 Mybatis 细节,希望对各位有起到查漏补缺的作用。1. 配置文件SqlMapConfig.xml 文件各参数介绍:<...

2018-11-17 14:03:49 181

转载 再有人问你Netty是什么,就把这篇文章发给他

转载自再有人问你Netty是什么,就把这篇文章发给他本文基于Netty4.1展开介绍相关理论模型,使用场景,基本组件、整体架构,知其然且知其所以然,希望给大家在实际开发实践、学习开源项目提供参考。这是一篇万字长文,建议先收藏,转发后再看。Netty简介Netty是 一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。JDK原生NIO程序的问题...

2018-11-17 13:42:27 1095 2

转载 阿里巴巴开源 Spring Cloud Alibaba,加码微服务生态建设

转载自  阿里巴巴开源 Spring Cloud Alibaba,加码微服务生态建设本周,Spring Cloud联合创始人Spencer Gibb在Spring官网的博客页面宣布:阿里巴巴开源 Spring Cloud Alibaba,并发布了首个预览版本。随后,Spring Cloud 官方Twitter也发布了此消息,以下翻译自博客原文。大家好,很高兴地告诉大家,今天 Spring ...

2018-11-17 13:07:53 377

转载 在 Java 中初始化 List 的五种方法

转载自  在 Java 中初始化 List 的五种方法Java 中经常需要使用到 List,下面简单介绍几种常见的初始化方式。1.构造 List 后使用 List.add 初始化List<String> stringList = new LinkedList<>();stringList.add("a");stringList.add("b");stri...

2018-11-17 12:15:45 182

转载 深入理解TCP/IP协议-TCP建立与终止连接

转载自  深入理解TCP/IP协议-TCP建立与终止连接 一、引言  TCP 是一个面向连接的协议。无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。连接创建与终止的状态变化图如下: 二、三次握手建立连接过程如下: 客户端发送一个 SYN 数据包指明客户端打算连接服务器的端口,初始化序号(ISN)为 m。 服务器发回包含服务器的 ISN...

2018-11-17 12:10:33 360

转载 滴滴出行基于RocketMQ构建企业级消息队列服务的实践

转载自  滴滴出行基于RocketMQ构建企业级消息队列服务的实践本文整理自滴滴出行消息队列负责人 江海挺 在Apache RocketMQ开发者沙龙北京站的分享。通过本文,您将了解到滴滴出行:1. 在消息队列技术选型方面的思考;2. 为什么选择 RocketMQ 作为出行业务的消息队列解决方案;3. 如何构建自己的消息队列服务;4. 在 RocketMQ 上的扩展改造实践;...

2018-11-17 12:02:46 167

原创 artTemplate的空白输出坑

一、问题现象<script type="text/html" id="man_template"> {{each list as v i}} <tr> <td>{{v.name}}</td> <td>{{v.height}}</td&g

2018-11-14 13:05:48 1643

原创 eclipse搭建多module项目的坑

一、eclipse坑1、低版本eclipse没有jdk1.82、默认使用jre库作为工作空间jdk,项目build path绑定jre,而Maven项目需要jdk3、Maven项目经常抛错,工作空间和项目缓存了Maven错误信息 二、Maven坑1、仓库没有包,生成xxx.lastUpdated文件影响调用 三、Tomcat坑1、webContent路径配置项目...

2018-11-07 19:35:07 2897

转载 浅析神经网络为什么能够无限逼近任意连续函数

转载自  浅析神经网络为什么能够无限逼近任意连续函数神经网络为什么能够无限逼近任意连续函数? 下面通过一个分类例子一步一步的引出为什么神经网络能够无限逼近任意函数这个观点,并且给出直观感觉!我们首先有这个需求,需要将下面的数据点进行分类,将三角形与正方形正确的分开,如图所示:其实上图就是一个解决一个异或问题。下面我分别从线性模型,感知机以及神经网络逐步围绕这个例子来引出自己...

2018-11-01 23:37:41 2453

转载 为什么梯度反方向是函数下降最快的方向

转载自  为什么梯度反方向是函数下降最快的方向为什么梯度反方向是函数下降最快的方向?刚接触梯度下降这个概念的时候,是在学习机器学习算法的时候,很多训练算法用的就是梯度下降,然后资料和老师们也说朝着梯度的反方向变动,函数值下降最快,但是究其原因的时候,很多人都表达不清楚。所以我整理出自己的理解,从方向导数这个角度把这个结论证明出来,让我们知其然也知其所以然~下面我一开始不提梯度的概念,完...

2018-11-01 23:10:16 1330

转载 ​通俗理解神经网络BP反向传播算法

转载自  ​通俗理解神经网络BP反向传播算法通俗理解神经网络BP反向传播算法在学习深度学习相关知识,无疑都是从神经网络开始入手,在神经网络对参数的学习算法bp算法,接触了很多次,每一次查找资料学习,都有着似懂非懂的感觉,这次趁着思路比较清楚,也为了能够让一些像我一样疲于各种查找资料,却依然懵懵懂懂的孩子们理解,参考了梁斌老师的博客BP算法浅谈(Error Back-propagation)...

2018-11-01 22:53:16 487

空空如也

空空如也

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

TA关注的人

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