自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Coffee的博客

我们不生产水,我们只是大自然的搬运工。

  • 博客(41)
  • 资源 (8)
  • 收藏
  • 关注

转载 开源日志系统比较:scribe、chukwa、kafka、flume

1. 背景介绍许多公司的平台每天会产生大量的日志(一般为流式数据,如,搜索引擎的pv,查询等),处理这些日志需要特定的日志系统,一般而言,这些系统需要具有以下特征:(1) 构建应用系统和分析系统的桥梁,并将它们之间的关联解耦;(2) 支持近实时的在线分析系统和类似于Hadoop之类的离线分析系统;(3) 具有高可扩展性。即:当数据量增加时,可以通过增加节点进行水平扩展。本文从设...

2019-10-12 14:18:35 473

转载 顶级域名、一级域名、二级域名与IP

今天同伴跟我说可以把我们的Web小项目对应的数据库放到云服务器上,当时我是一脸懵逼的,因为我知道服务器不便宜,网上搜了下原来还可以在本机上搭建一个服务器(也不知道他是不是自己搭的),其中提到了域名,DNS解析,IP地址等等彼此相关的联系,发现自己不是很懂,所以学习一下。域名:可分三级,一级域名,二级域名,三级域名。是由一串字符+域名后缀组成,我们通常说的网址就包含域名。(图中的域名其实是域...

2019-09-11 11:20:43 6357

转载 Java NIO 系列教程

Java NIO(New IO)是一个可以替代标准Java IO API的IO API(从Java 1.4开始),Java NIO提供了与标准IO不同的IO工作方式。Java NIO: Channels and Buffers(通道和缓冲区)标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲...

2019-01-14 14:13:10 225

转载 动画:什么是散列表?

散列表散列表( Hash table,也叫哈希表),是根据键( Key )而直接访问在内存存储位置的数据结构。也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做散列函数,存放记录的数组称做散列表。散列函数散列函数,顾名思义,它是一个函数。如果把它定义成 hash(key) ,其中 key 表示元素的键值,则 hash...

2019-01-14 10:57:12 304

转载 双写一致性

首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。目前没有一篇全面的博客,对这几种方案进行解析。于是博主战战兢兢,顶着被大家喷的风险,写了这篇文章。 文章结构本文由以下三个部分组成...

2019-01-11 12:49:16 12919 3

转载 斩获BAT技术专家Offer,他到底经历了什么?

本文我们通过一篇真实的一线面经,带大家去体验一下 BAT 等互联网公司的面试现场氛围!面试者是笔者以前的下属,多年的好朋友。这是他去年早些时候出去面试,拿到 BAT 等多家一线互联网公司技术专家 Offer 的面试经历。先介绍一下这位朋友的个人经历:本科毕业,接近 10 年工作经验。跳槽之前,在国内某大型互联网公司里带一个 8 人左右的技术团队。 由于公司业务发展较为平缓,所以职业上...

2019-01-11 11:48:11 495

转载 分库分表的基本思想

一、分库分表的概念Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。不太严格的讲,对于海量数据的数据库,如果是因为表多而数据多,这时候适合使用垂直切分,即把关系紧密(比如同一模块)的表切分出来放在一个server上。如果表并不多,但每张表的数据非常多,这时候适合水平切分,即把表的数据按某种规则(比如按ID散列)切分到多个数...

2019-01-09 16:22:37 142

转载 爬虫与反爬虫的攻防博弈

遥想当年,我的第一份实习工作,还就是做的爬虫呢。不知不觉 7 年过去了,如今首例利用爬虫技术非法盗抓数据案都已经被判违法了。我记得我第一份实习工作,就是做的爬虫,利用爬虫技术,去爬取各种论坛和网站,然后要做到记录到每个论坛帖子的发帖时间,在论坛的板块,页数,发帖时间,发帖 ID ,然后存储起来,可以做到搜索关键字快速定位到哪个论坛的那一页,哪个帖子。而且这个爬虫技术基本上要做到可以适配几乎所有...

2019-01-08 11:14:47 975

转载 如何快速尝出毒酒?

问题国王有一百桶酒,比自己的生命还重要。结果有一天其中一桶被投了慢性毒药,喝了以后半个小时以后就会死掉。国王大怒,命令玩忽职守的侍卫去试毒。酒不能被混合,一个侍卫可以喝多桶酒,一桶酒也可以由多个侍卫喝,怎么样才能用最少的侍卫、在最短的时间知道哪桶是毒酒。方案一最简单的方案,是让每个人试一桶酒,用时30分钟,就可以判断出哪一桶酒有毒。这样的解法,答案是:99个人。方案二从二维...

2019-01-07 14:20:40 556

转载 BitMap位图与海量数据的理解

1. Bit Map算法简介        来自于《编程珠玑》。所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。 2、 Bit Map的基本思想        我们先来看一个具体的例子,假设我们要对0-7内的5个元素(4,7,2,5,3)排序(这里假设这些元素没有重复)。...

2019-01-03 12:38:50 216

转载 最全阿里技术P系列解读:P5-P8的技能要求和薪资结构

2018年持续一整年的架构设计分享,2019年我希望持续分享的同时,能真正意义上帮助到部分读者成为一名架构师。学习的同时请千万别:只见树木,不见森林。所以我会让大家先俯瞰完整的森林,我们再从树木开始,一起去穿越整个森林。最新阿里技术P系列薪资:上图薪资结构*2 01—阿里P5(高级研发工程师) 1.工作要求:能独立完成日常工作,并能够对一些方案提出自己的建议...

2019-01-03 11:03:13 8600

转载 滴滴的大数据计算平台演进之路

滴滴出行作为一家出行领域的互联网公司,其核心业务是一个实时在线服务。因此具有丰富的实时数据和实时计算场景。本文将介绍滴滴实时计算发展之路以及平台架构实践。实时计算演进随着滴滴业务的发展,滴滴的实时计算架构也在快速演变。到目前为止大概经历了三个阶段,第一阶段是业务方自建小集群;第二阶段是集中式大集群、平台化;第三阶段是 SQL 化。图 1 标识了其中重要的里程碑,下面给出详细阐述。图...

2019-01-03 10:37:30 4357

转载 Python 爬虫:8 个常用的爬虫技巧总结!

用python也差不多一年多了,python应用最多的场景还是web快速开发、爬虫、自动化运维:写过简单网站、写过自动发帖脚本、写过收发邮件脚本、写过简单验证码识别脚本。爬虫在开发过程中也有很多复用的过程,这里总结一下,以后也能省些事情。1、基本抓取网页get方法import urllib2url  "http://www.baidu.com"respons = urllib...

2019-01-03 10:07:45 164

转载 大型网站应用之海量数据和高并发解决方案总结一二

一、网站应用背景开发一个网站的应用程序,当用户规模比较小的时候,使用简单的:一台应用服务器+一台数据库服务器+一台文件服务器,这样的话完全可以解决一部分问题,也可以通过堆硬件的方式来提高网站应用的访问性能,当然,也要考虑成本的问题。当问题的规模在经济条件下通过堆硬件的方式解决不了的时候,我们应该通过其他的思路去解决问题,互联网发展至今,已经提供了很多成熟的解决方案,但并不是都具有适用性,你...

2018-12-29 15:20:32 209

转载 用Redis轻松实现秒杀系统

导论曾经被问过好多次怎样实现秒杀系统的问题。昨天又在CSDN架构师微信群被问到了。因此这里把我设想的实现秒杀系统的价格设计分享出来。供大家参考。秒杀系统的架构设计秒杀系统,是典型的短时大量突发访问类问题。对这类问题,有三种优化性能的思路: 写入内存而不是写入硬盘  异步处理而不是同步处理  分布式处理 用上这三招,不论秒杀时负载多大,都能轻松应对。更好的是,Redis能够满足上述...

2018-12-29 15:09:08 348

转载 Nginx开启Gzip压缩大幅提高页面加载速度

刚刚给博客加了一个500px相册插件,lightbox引入了很多js文件和css文件,页面一下子看起来非常臃肿,所以还是把Gzip打开了。环境:Debian 61、Vim打开Nginx配置文件vim /usr/local/nginx/conf/nginx.conf2、找到如下一段,进行修改gzip on;gzip_min_length 1k;gzip_buffers 4 1...

2018-12-29 14:00:32 233 1

转载 Java架构师之旅

Java架构师之旅一:MVC框架的演变Java架构师之旅二:Java企业级高并发Java架构师之旅三:JAVATomcat企业级学习Java架构师之旅四:Java分布式Session项目处理方案Java架构师之旅五:Java高并发场景的数据隔离方案Java架构师之旅六:Java单例设计模式Java架构师之旅七:SpringMVC深入了解Java架构师之旅八:Spring...

2018-12-29 12:00:35 272

原创 雪花算法生成长整型ID工具类SnowflakeUtil

JS语言不支持15位以上的长整型,该工具使用与否要有取舍。public class SnowflakeUtil { /** 开始时间截 (2015-01-01) */ private final static long TWEPOCH = 1420041600000L; /** 工作机器ID(0~31) */ private final static long WORKER_I...

2018-12-29 10:42:52 4782 1

原创 压缩图片工具类ZipImageUtil

四个常量配置参数可以按需求做相应调整。public class ZipImageUtil { private final static int FILE_SIZE_LIMIT = 100 * 1024; private final static int STREAM_SIZE_LIMIT = 100 * 1024; private final static do...

2018-12-29 10:32:41 385

原创 读配置文件取配置参数工具类PropertiesUtil

public class PropertiesUtil { private static Properties properties = new Properties(); static { InputStream in = PropertiesUtil.class.getResourceAsStream("/config.properties"); try { prope...

2018-12-29 10:26:43 457

原创 生成32位字符串ID工具类UUIDUtil

public class UUIDUtils { public static String getUUID() { String s = UUID.randomUUID().toString(); return s.substring(0, 8) + s.substring(9, 13) + s.substring(14, 18) + s.substring(19, 23) + s....

2018-12-29 10:24:31 1529

转载 Java中什么样的对象才能作为gc root,gc roots有哪些

GC管理的主要区域是Java堆,一般情况下只针对堆进行垃圾回收。方法区、栈和本地方法区不被GC所管理,因而选择这些区域内的对象作为GC roots,被GC roots引用的对象不被GC回收。详细:GC Root常说的GC(Garbage Collector) roots,特指的是垃圾收集器(Garbage Collector)的对象,GC会收集那些不是GC roots且没有被GC ro...

2018-12-28 18:48:40 5018 3

转载 Hash算法解决冲突的方法

Hash算法解决冲突的方法一般有以下几种常用的解决方法 1, 开放定址法: 所谓的开放定址法就是一旦发生了冲突,就去寻找下一个空的散列地址,只要散列表足够大,空的散列地址总能找到,并将记录存入 公式为:fi(key) = (f(key)+di) MOD m (di=1,2,3,……,m-1) ※ 用开放定址法解决冲突的做法是:当冲突发生时,使用某种探测技术在散列表中形成一个探测序列。沿此序...

2018-12-28 18:31:25 200

转载 HashMap实现原理及源码分析

  哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出现在各类的面试题中,重要性可见一斑。本文会对java集合框架中的对应实现HashMap的实现原理进行讲解,然后会对JDK7的HashMap源码进行分析。目录  一、什么是哈希表  二、...

2018-12-28 18:29:02 102

转载 快手Java四面:设计模式+红黑树+Java锁+Redis+Kafka等

一面(一个小时十分钟)1.自我介绍2.说说B+树和B树的区别,优缺点等?3聊聊Spring,主要IOC等等4多线程JUC包下的一些常见的类,比如CountDownLatch、Semaphore等5.锁的概念,锁相关的关键字,volatile,synchronized。还比较了ReentrantLock与synchronized。6.你了解哪些收集器?CMS和G1。详细谈谈G...

2018-12-28 18:25:18 385

转载 京东4面(Java研发):事务隔离+乐观锁+HashMap+秒杀设计+微服务

一面(基础面:约五十分钟) 自我介绍,主要讲讲做了什么和擅长什么 springmvc和spring-boot区别 @Autowired的实现原理 Bean的默认作用范围是什么?其他的作用范围? 索引是什么概念有什么作用?MySQL里主要有哪些索引结构?哈希索引和B+树索引比较? Java线程池的原理?线程池有哪些?线程池工厂有哪些线程池类型,...

2018-12-28 18:23:50 120

转载 MySQL数据库复制概论

摘要每当我们讨论一项(新的)领域技术的时候,最好的方式通常是首先抛出一些问题,这些问题大致分为三类:诶?这项技术又是什么玩意(What)?这项技术为什么会存在?我们已经有那么多解决方案(Method)了,我们问什么要用它(Why)?如果这项技术那么好且我们正好有场景可以用到这项技术,且能使我们的系统得到很乐观的优化,那么我们怎么用呢(How)?大概已经有同学觉得这些问题很熟悉了,是的,这就

2017-04-01 11:09:02 359

转载 为什么你有10年经验,但成不了专家?

原文链接:http://mp.weixin.qq.com/s?__biz=MzI0ODEyMTM1OQ==&mid=2649891149&idx=2&sn=c24e51d10bff858acddc03bc7be1f58d&scene=2&srcid=0423kVhJluztFlBBeRA4LOqI&from=timeline&isappinstalled=0#wechat_redirect

2016-04-24 09:16:43 514

转载 只要10000小时 你就是出类拔萃的人

原文链接:http://blog.sina.com.cn/s/blog_73f629620100ufdl.html       研究显示顶级运动员、音乐家和象棋高手都是经过了长达10000个小时的不懈实践才达到顶峰,挥洒了无数的汗水才取得了最终的成果。研究人员表示,固然天资和运气也很重要,但是艰苦付出和实践量的积累使结果产生质的飞跃,不仅仅是良好而且会创出更辉煌的业绩。   

2016-04-24 08:54:17 375

转载 如何准备阿里社招面试,顺谈Java程序员学习中各阶段的建议

原文链接:http://blog.jobbole.com/99911/一、阿里面试都问什么?这个是让LZ最头疼的一个问题,也是群里的猿友们问的最多的一个问题。说实话,LZ只能隐约想起并发、JVM、分布式、TCP/IP协议这些个关键字,具体的问题真的是几乎都没记住。而且就算LZ记住了,也告诉你了,你也背会了,但LZ觉得,在面试中,你被问到一模一样问题的可能性依然很

2016-04-23 20:25:35 1058

转载 设计模式六大原则详解

 原文链接:http://www.cnblogs.com/lhws/archive/2012/03/10/2389189.html  一、单一职责原则(Single Responsibility Principle) 定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变...

2016-04-18 02:37:11 2004

转载 Spring实践:面向切面编程(AOP)

原文链接:http://blog.csdn.net/zjf280441589/article/details/50816802 AOP引介 AOP(Aspect Oriented Programing)面向切面编程采用横向抽取机制,以取代传统的纵向继承体系的重复性代码(如性能监控/事务管理/安全检查/缓存实现等).横向抽取代码复用: 基于代理技术,在不修改原来代码的前提下,对原...

2016-04-15 20:37:56 348 1

转载 SQL优化经验总结34条

原文链接:http://www.jb51.net/article/19024.htm        我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习、摘录、并汇总部分资料与大家分享!1.选择最有效率的表名顺序(只在基于规则的优化器中有效):        ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写

2016-04-15 12:23:18 603

转载 详解设计模式(四)

原文链接:http://blog.csdn.net/zhangerqing/article/details/8245537 其实每个设计模式都是很重要的一种思想,看上去很熟,其实是因为我们在学到的东西中都有涉及,尽管有时我们并不知道,其实在Java本身的设计之中处处都有体现,像AWT、JDBC、集合类、IO管道或者是Web框架,里面设计模式无处不在。首先还是上一下上篇开头的那个图:...

2016-04-15 11:18:58 273

转载 详解设计模式(三)

原文链接:http://blog.csdn.net/zhangerqing/article/details/8243942         今天会讲到第三类设计模式——行为型模式,共11种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。这11种模式关系又分成以下四类:第一类:通过父类与子类的关系进行实现。...

2016-04-15 11:07:47 314

转载 详解设计模式(二)

原文链接:http://blog.csdn.net/zhangerqing/article/details/8239539 我们接着讨论设计模式,上篇文章我讲完了5种创建型模式,这章开始,我将讲下7种结构型模式:适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式。其中对象的适配器模式是各种模式的起源,我们看下面的图: 6、适配器模式(Adapter)适配...

2016-04-15 10:58:43 253

转载 详解设计模式(一)

原文链接:http://blog.csdn.net/zhangerqing/article/details/8194653/ 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是...

2016-04-15 10:42:30 404

转载 事务隔离级别详解

原文链接:http://xm-king.iteye.com/blog/770721       SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。Read Uncommitted(读取未提交内容)       在该隔离级别,所有事务都可以看到其他未提交事务

2016-04-15 10:20:24 310

转载 JVM参数配置大全

原文链接:http://www.cnblogs.com/edwardlauxh/archive/2010/04/25/1918603.html 前阵子遇到几个面试题都是关于对Java内存控制的,因此从网上找到这篇文章,希望自己对Java的内存分配有重新的认识/usr/local/jdk/bin/java -Dresin.home=/usr/local/resin -server -Xm...

2016-04-15 10:14:12 264

转载 JVM原理和优化

 原文链接:http://blog.csdn.net/ning109314/article/details/10411495        JVM工作原理和特点主要是指操作系统装入JVM是通过jdk中Java.exe来完成,通过下面4步来完成JVM环境.       1.创建JVM装载环境和配置       2.装载JVM.dll       3.初始化JVM.dll并挂界...

2016-04-15 10:06:43 392

程序员的数学系列1+2+3

程序员的数学1.pdf 程序员的数学2概率统计.pdf 程序员的数学3线性代数.pdf

2019-01-23

全国省市区地址编码表mysql

全国各省市区的地址表,包含数据,有名称、全称、地址编码、邮编等信息。

2018-11-01

oracle官方SQL手册——SQL参考

oracle官方sql手册,教你如何学习oracle数据库sql。

2010-09-17

oracle官方手册——PLSQL用户指南和参考

oracle官方手册,PLSQL用户指南和参考(PLSQL User's Guide and Reference)。

2010-09-17

oracle官方DBA手册——两天成为DBA

oracle官方dba手册,如何成为一个oracle数据库DBA,2天!

2010-09-17

Java加密与解密的艺术-电子书-迷你版

本书是Java安全领域的百科全书,密码学领域的权威经典,4大社区一致鼎力推荐。 全书包含3个部分,基础篇对Java企业级应用的安全知识、密码学核心知识、与Java加密相关的API和通过权限文件加强系统安全方面的知识进行了全面的介绍;实践篇不仅对电子邮件传输算法、消息摘要算法、对称加密算法、非对称加密算法、数字签名算法等现今流行的加密算法的原理进行了全面而深入的剖析,而且还结合翔实的范例说明了各种算法的具体应用场景;综合应用篇既细致地讲解了加密技术对数字证书和SSL/TLS协议的应用,又以示例的方式讲解了加密与解密技术在网络中的实际应用,极具实践指导性。 Java开发者将通过本书掌握密码学和Java加密与解密技术的所有细节;系统架构师将通过本书领悟构建安全企业级应用的要义;其他领域的安全工作者也能通过本书一窥加密与解密技术的精髓。

2010-09-14

设计模式可复用面向对象软件的基础

本书设计实例从面向对象的设计中精选出23个设计模式,总结了面向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来。本书分类描述了一组设计良好,表达清楚的软件设计模式,这些模式在实用环境下有特别有用。

2010-09-10

Java程序员职场全攻略——从小工到专家

  懵懂菜鸟如何成长为一名成功的开发人员?   如何在“血雨腥风”的求职大战中脱颖而出?   职场中只要技术过硬就可以吃遍天下吗?   是学招式重要,还是练内功重要?   掌握了哪些技能,才算是真正的高手?   …… 资深技术专家,娓娓道来。

2010-09-10

空空如也

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

TA关注的人

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