自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

宏浩叔叔的博客

此博客只是个人的一些摘抄笔记记录,仅为个人做笔记整理。

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

原创 优化摘抄笔记

迭代过程 正式的优化过程,是一轮接一轮的迭代过程,主要包含如下几个步骤: 基准测试。 压测报告数据分析。 CPU热点分析。 分析CPU、Thread、Memory、和io等指标。 找到当前性能的瓶颈,考虑优化方案。 实施优化方案,进行压测确认。 同步生产环境。 重新开始新的一轮迭代。 详细的报告记录优化方向 1. 依赖服务并行化 2. Thrift异步化、H

2017-02-19 14:15:12 349

原创 CNN卷积神经网络学习笔记

过滤器的作用: 用于将图片作一块一块的扫描。如下图

2017-01-20 21:45:24 344

原创 JS小语法

!function(){}();立即执行方法的理解function a(){alert('iifksp')} //这是一个函数声明现在想要定义一个匿名方法并立即执行,但是如果像下面这样function a(){alert('iifksp')}() // SyntaxError 这种会报错因为上面的代码混淆了函数声明和函数调用,不是一个表达式,无法执行,可以通过!等符号将其转为表

2017-01-13 15:58:02 293

原创 Sevlet相关 摘抄笔记

ServletContextServletContext,是一个全局的储存信息的空间,Servlet上下文提供对应用程序中所有Servlet所共有的各种资源和功能的访问。 对其可以做一些操作: 添加属性:setAttribute(String name,Object ob); 得到值: getAttribute(String)返回Object 删除属性:removeAttribute

2017-01-08 11:47:49 264

原创 分布式一致性算法学习笔记

两阶段提交http://blog.csdn.net/whycold/article/details/47702133paxos

2016-12-27 07:32:36 351

原创 订单系统架构笔记摘抄

美团外卖订单系统优化系统拆分 划分为三个系统,分别为交易系统、查询系统、异步处理系统。独立拆分后,可以避免业务间的相互影响。快速支持业务迭代需求的同时,保障系统稳定性。异步化 有两种方案: 线程或线程池:将异步操作放在单独线程中处理,避免阻塞服务线程。但是重启时,需要通过JVM优雅关闭来保证异步操作进行完成后,JVM再关闭。消息异步:异步操作通过接收消息完成。并行化 并行化将原本串行

2016-12-26 22:39:59 2366

原创 锁机制学习笔记

线程之间ReentrantLockReentrantLock主要利用CAS+CLH队列来实现。它支持公平锁和非公平锁(即抢占锁),两者的实现类似。synchronized每个对象都有一个锁,也就是监视器(monitor)。 - synchronized语句:当源代码被编译成字节码的时候,会在同步块的入口位置和退出位置分别插入monitorenter和monitorexit字节码指令; - syn

2016-12-26 09:56:30 379

原创 消息队列学习笔记

kafka设计目标以时间复杂度为O(1)的方式提供消息持久化能力以及读取能力,即使对TB级以上数据也能保证常数时间复杂度的访问性能。高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条以上消息的传输。支持Kafka Server间的消息分区,及分布式消费,同时保证每个Partition内的消息顺序传输。同时支持离线数据处理和实时数据处理(通过消费组实现)。Scale out:

2016-12-24 13:40:45 563

原创 手机抓取数据学习笔记

常用抓取方案比较 对于最后的方式,一般需要以下步骤 • 工具准备 • App脱壳 • 寻找突破口 • 动态调试 • 编写外挂 • 部署到真机

2016-12-23 07:15:40 374

原创 分布式会话跟踪系统学习笔记

美团MTrace核心理念是调用链:通过一个全局的ID将分布在各个服务节点上的同一次请求串联起来,还原原有的调用关系、追踪系统问题、分析调用数据、统计系统指标。作用能够梳理内部服务之间的关系,感知上下游服务的形态。比如一次请求的流量从哪个服务而来、最终落到了哪个服务中去?服务之间是RPC调用,还是HTTP调用?一次分布式请求中的瓶颈节点是哪一个,等等。 进一步利用这些数据对服务进行优化: - 对

2016-12-22 06:40:07 686

原创 数据访问层中间件学习笔记

业界组件参考http://mp.weixin.qq.com/s?__biz=MjM5NjQ5MTI5OA==&mid=2651745918&idx=1&sn=7e061efafdde7f87eb054fc98a4ca1e9&chksm=bd12b7338a653e254302d2d13e29b2d729adcedb46b1dfc67c2457789614594ad3c29a71d3ea&mpshar

2016-12-21 22:05:38 328

原创 唯一主键生成方案学习笔记

常见方案参考http://mp.weixin.qq.com/s?__biz=MjM5NjQ5MTI5OA==&mid=2651745918&idx=1&sn=7e061efafdde7f87eb054fc98a4ca1e9&chksm=bd12b7338a653e254302d2d13e29b2d729adcedb46b1dfc67c2457789614594ad3c29a71d3ea&mpshar

2016-12-21 21:45:21 423

原创 开发模式学习笔记

瀑布模型特点 强调文档,每阶段的输出作为下阶段的输入,文档是各个阶段衔接的唯一信息。难以应对客户需求的变化。要到开发的后期,才可以看到软件的“模样”。敏捷开发敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。

2016-12-18 11:45:43 287

原创 单租户&多租户学习笔记

单租户SaaS架构也被称作多实例架构,指的是为每个客户单独创建各自的软件应用和支撑环境。单租户SaaS被广泛引用在客户需要支持定制化的应用场合。每个客户都有一份分别放在独立的服务器上的数据库和操作系统,或者使用强的安全措施进行隔离的虚拟网络环境中。多租户SaaS架构应用都是运行在同样的一个或者一组服务器上,被称为“单实例”架构(Single Instance)。 多租户比较适合通用类需求的客户,即

2016-12-18 09:34:56 5410

原创 IO模型学习笔记

IO模式对于一次IO访问(以read举例),数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝到应用程序的地址空间。 所以说,当一个read操作发生时,它会经历两个阶段: 1. 等待数据准备 (Waiting for the data to be ready) 2. 将数据从内核拷贝到进程中 (Copying the data from the kernel to th

2016-12-11 20:36:53 322

原创 nginx学习笔记

一.安装mac os X 10.11.5环境:brew install nginx 即可。 默认安装目录/usr/local/etc/nginx。 可以修改目录下nginx.conf文件的配置,将8080改为8081,则通过http://localhost:8081访问就可以看到nginx的欢迎界面了。

2016-12-10 17:51:22 303

原创 性能调优笔记

调优策略分类代码这应该是性能调优第一步,检查相关代码。定位性能瓶颈,再去考虑具体的优化策略。 数据库sql语句调优每一个技术人员都应该掌握基本的SQL调优手段(包括方法、工具、辅助系统等),比如自带的慢查询日志或者开源的慢查询系统定位到具体的出问题的SQL,然后使用explain、profile等工具来逐步调优。数据库架构一般包括读写分离,多从库负载均衡,水平和垂直分库分表等。连接池调优为了实现数据

2016-12-03 07:27:41 306

原创 消息队列笔记

常见消息队列:ActiveMQ、RabbitMQ、Kafka,阿里巴巴自主开发的Notify、MetaQ、RocketMQ等。常用于解决:业务解耦/最终一致性/广播/错峰流控如果下游有很多业务方关系你的系统发出的通知的时候 ,果断的使用消息队列吧业界的一些为最终一致性而生的消息队列如notify(阿里)、QMQ(去哪儿),设计初衷是为了交易系统中的高可靠通知。一种实现方案是通过补偿机制, 比如

2016-11-27 12:05:28 1067

原创 阅读笔记:微信后台相关

一 从0到1:微信后台系统的演进之路http://36kr.com/p/5042290.html异步消息机制 群聊是耗时操作,消息发到群后,可以通过异步队列来异步完成消息的扩散写等等。 图4是异步队列在群聊中的应用。微信的群聊是写扩散的,也就是说发到群里的一条消息会给群里的每个人都存一份(消息索引)。为什么不是读扩散呢?有两个原因: 1、群的人数不多,群人数上限是10(后来逐步加到20、

2016-11-24 22:55:26 365

原创 hash算法 todo

hash算法hashMurmurHash: 高运算性能,低碰撞率,现已应用到Hadoop、libstdc++、nginx、libmemcached等开源系统。http://blog.csdn.net/yfkiss/article/details/7337382- http://blog.csdn.net/wisage/article/details/7104866- 局部敏感性hash

2016-10-31 22:58:52 250

原创 Java Apache CollectionUtils 源码阅读笔记,注意3.2版本bug

union并集以下是部分方法,并非是所有方法。//通过set将a、b集合合并,如果某个对象在两个集合中出现,则新集合中该对象的数量取两个集合中该对象出现次数的较大数。 public static Collection union(final Collection a, final Collection b) { ArrayList list = new ArrayList();

2016-10-30 11:45:18 1653

原创 终极大杀器

http://geek.csdn.net/news/detail/110921

2016-10-30 11:21:29 262

原创 java String 源码阅读笔记以及Unicode的学习

感悟可以看到String中的方法,均是比较简短的方法,且每一行的长度都在idea代码显示框的一半长左右。非常便于阅读。小细节regionMatches 比较两个字符串区域是否相等public boolean regionMatches(boolean ignoreCase, int toffset, //...... while (len-- > 0) {

2016-10-29 10:14:30 235

原创 个人总体目标

2016-10-28 09:42:54 585

原创 爬虫难题

登录问题(登录时一般有验证码限制)封禁问题js解析

2016-09-21 15:25:32 390

原创 面试高频问题

常问问题数据库引擎有了解么 如何分表Tcp与udp的区别jvm内存结构和各个内存块的作用,知道gc的大致过程concurentHashMap 的内部实现ssh了解以及抓取项目中遇到的比较有挑战性的问题如何发现慢查询?如何解决 (不要因为公司内部有了相应的自动化工具就不去了解如何去做!!!!!)具体考察非对齐的二维整数数组数据拷贝 coding实现两个有序数组的合并背包算法具

2016-08-16 09:33:38 418

原创 mysql小知识点摘抄

行级锁:对于mysql,InnoDB预设的是Row-level Lock,但是,需要明确的指定主键,才会执行行级锁,否则执行的为表锁。 如select * from job_info where id = 1 for update; 若不出现主键为表锁。

2016-08-15 08:24:02 173

原创 排序算法

快排 package org.gebilaowang.crawller;import java.util.Scanner;/** * Created by xiehonghao on 16-8-10. */public class HduTest { private static int[] numArr = new int[200]; //升序 private s

2016-08-10 23:41:42 203

原创 防爬虫

一些爬虫的弱智小问题本应该是ios/android的请求,却携带windows、linux系统的useragent仅仅访问某个页面且频繁的用户可能是爬虫访问有频率

2016-08-09 07:52:58 368

原创 验证码识别

灰度化http://www.codeceo.com/article/java-image-gray.htmlpackage org.gebilaowang.utils;import javax.imageio.ImageIO;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.awt.image.BufferedI

2016-08-06 00:00:31 435

原创 java虚拟机性能监控与故障处理工具

jpsjstatjinfojmapjhatjstackHSDISJConsoleVisualVM

2016-08-03 09:53:26 194

原创 线程池的大小应该设为多少

线程池的大小应该为多少结论:线程等待时间所占比例越高,需要越多线程。线程CPU时间所占比例越高,需要越少线程(防止过多的上下文切换)。 最佳线程数目 = (线程等待时间与线程CPU时间之比 + 1)* CPU数目 http://my.oschina.net/u/175660/blog/389346是否使用线程池就一定比使用单线程高效呢?答案是否定的,比如Redis就是单线程的,但它却非常高效,基

2016-07-31 23:14:16 1030

原创 RPC thrift学习笔记

RPC远程过程调用,需要它的理由 - 架构分层、分割 - 分布式集群 - 基础服务复用 RPC典型框架 - thrift(facebook) - gRPC(google) - Dubbo(alibaba) - json rpcthrift介绍一款RPC通信框架,采用C/S架构,且拥有高效的序列化机制。特点支持多种主流的语言,客户端、服务端可以采用不同语言类型。 使用 t

2016-07-31 21:46:31 384

原创 todo 数据结构算法

todo 数据结构算法

2016-07-31 21:14:03 490

原创 todo 中间件原理

1 kafka 2 redis 3 tair 4 thrift

2016-07-31 20:06:03 308

原创 todo java8 hashmap

http://tech.meituan.com/java-hashmap.html

2016-07-31 19:45:56 206

原创 todo 啃掉这些社招文章

http://www.cnblogs.com/binyue/p/4015884.html

2016-07-31 19:43:56 218

原创 todo 基本设计模式

todo 基本设计模式

2016-07-31 19:41:03 361

原创 todo ssh框架

todo

2016-07-31 19:39:08 237

原创 todo ConcurrentHashMap

http://ifeve.com/concurrenthashmap/

2016-07-31 19:20:32 219

空空如也

空空如也

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

TA关注的人

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