自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

TimzzZ的博客

狂奔在雕刻大脑和身体的道路上乐此不疲

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

原创 云和湖89个人建议

整体色系:偏深色系 冷色系如灰色 或 桃木色 或 浅咖啡色等整体风格:现代简约客厅1、餐边柜靠近门的墙一侧,可做一些玻璃门,或小跳色设计。2、电视墙背景:可配立体墙纸/布 或 岩板之类的背景墙电视柜:可配落地成品 或 悬空柜配合电视侧边通顶柜可设计不同方案进行对比参考图:3、过道柜留双开门冰箱位置参考图:主卧衣柜:上面通风口所留空间高度不要太大,所留柜口包边。拉门。靠近床头柜处的衣柜门,做分段门处理。整体包边跳色。飘窗柜:做一面,做床头那边。床:1米8

2020-12-27 21:46:58 188 1

转载 finalize()

注:本文的目的并不是鼓励使用finalize方法,而是大致理清其作用、问题以及GC执行finalize的过程。1. finalize的作用finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作,GC在回收对象之前调用该方法。finalize()与C++中的析构函数不是对应的。C++中的析构函数调用的时机是确定的(对象离开作用域或delete掉),但Java

2017-11-01 22:10:57 8330

转载 Redis之skiplist

Redis 为什么用跳表而不用平衡树?本文是《Redis内部数据结构详解》系列的第六篇。在本文中,我们围绕一个Redis的内部数据结构——skiplist展开讨论。Redis里面使用skiplist是为了实现sorted set这种对外的数据结构。sorted set提供的操作非常丰富,可以满足非常多的应用场景。这也意味着,sorted set相对来说实现比较复杂。同时,skiplist这种数据结构

2017-10-30 14:36:03 2090 1

原创 Redis

1、Redis为什么这么快 答: 1. Redis是纯内存数据库,一般都是简单的存取操作,线程占用的时间很多,时间的花费主要集中在IO上,所以读取速度快。 2. 再说一下IO,Redis使用的是非阻塞IO,IO多路复用,使用了单线程来轮询描述符,将数据库的开、关、读、写都转换成了事件,减少了线程切换时上下文的切换和竞争。 3. Redis采用了单线程的模型,保证了每个操作的原子

2017-10-30 12:42:43 414 1

转载 使用balancer_by_lua_block做应用层负载均衡

首先感谢章义春大神的openresty,解决了web开发的一些痛点并简化了web开发的复杂度。需求:根据url的一个参数,做负载均衡,使得某一个用户总是被分配到固定的业务服务器上处理,方便后续的业务处理,做缓存或单元化架构部署假设这个参数为dvid,一共有两个业务服务器, 8088端口和8089端口,分别返回hello和world[html] view plain copy print?ser

2017-09-27 15:40:03 10251

转载 Lua闭包

词法定界:当一个函数内嵌套另一个函数的时候,内函数可以访问外部函数的局部变量,这种特征叫做词法定界 table.sort(names,functin (n1,n2) return grades[n1]>grades[n2] end) //内部匿名函数可以访问外部函数的n1,n2第一类值:lua当中函数是一个值,他可以存在变量中,可以作为函数参数,可以作为返回值

2017-09-27 15:37:41 292

转载 TCP协议入门

TCP是一种面向连接的、可靠的、基于IP的传输层协议。TCP是一个超级麻烦的协议,而它又是互联网的基础,也是每个程序员必备的基本功。TCP(Transmission Control Protocol 传输控制协议)是一种面向连接(连接导向)的、可靠的、 基于IP的传输层协议。TCP在IP报文的协议号是6。TCP是一个超级麻烦的协议,而它又是互联网的基础,也是每个程序员必备的基本功。首先来看看OSI

2017-09-13 11:47:24 741

转载 Redis集群方案

为什么集群?通常,为了提高网站响应速度,总是把热点数据保存在内存中而不是直接从后端数据库中读取。Redis是一个很好的Cache工具。大型网站应用,热点数据量往往巨大,几十G上百G是很正常的事儿,在这种情况下,如何正确架构Redis呢?首先,无论我们是使用自己的物理主机,还是使用云服务主机,内存资源往往是有限制的,scale up不是一个好办法,我们需要scale out横向可伸缩扩展,这需要由多台

2017-08-30 17:55:29 468

转载 生产者/消费者

生产者/消费者问题的多种Java实现方式 转载自:http://blog.csdn.net/monkey_d_meng/article/details/6251879实质上,很多后台服务程序并发控制的基本原理都可以归纳为生产者/消费者模式,而这是恰恰是在本科操作系统课堂上老师反复讲解,而我们却视而不见不以为然的。在博文《一种面向作业流(工作流)的轻量级可复用的异步流水开发框架的设计与实现》中将介

2017-08-13 14:18:24 369

转载 分布式消息队列RocketMQ与Kafka架构上的巨大差异之1 -- 为什么RocketMQ要去除ZK依赖?

我们知道,在早期的RocketMQ版本中,是有依赖ZK的。而现在的版本中,是去掉了对ZK的依赖,转而使用自己开发的NameSrv。并且这个NameSrv是无状态的,你可以随意的部署多台,其代码也非常简单,非常轻量。那不禁要问了:ZooKeeper是业界用来管理集群的一个非常常用的中间件,比如Kafka就是依赖的ZK。那为什么RocketMQ要自己造轮子,自己做集群的管理呢?纯粹就是再做一个Zooke

2017-08-10 20:13:10 917

转载 对分布式事务及两阶段提交、三阶段提交的理解

一、分布式数据一致性在分布式系统中,为了保证数据的高可用,通常会将数据保留多个副本(replica),这些副本会放置在不同的物理的机器上。(1)什么是数据一致性在数据有多份副本的情况下,如果网络、服务器或者软件出现故障,会导致部分副本写入成功,部分副本写入失败。这就造成各个副本之间的数据不一致,数据内容冲突。造成事实上的数据不一致。(2)CAP定理CAP理论认为在分布式的环境下设计和部署

2017-08-10 16:59:10 2027

转载 paxos算法

paxos算法背景  Paxos算法是莱斯利·兰伯特(Leslie Lamport,就是 LaTeX 中的”La”,此人现在在微软研究院)于1990年提出的一种基于消息传递的一致性算法。由于算法难以理解起初并没有引起人们的重视,使Lamport在八年后重新发表到TOCS上[2]。即便如此paxos算法还是没有得到重视,2001年Lamport用可读性比较强的叙述性语言给出算法描述[3]。可见Lamp

2017-08-10 16:57:15 417

转载 RPC原理

你应该知道的RPC原理  在学校期间大家都写过不少程序,比如写个hello world服务类,然后本地调用下,如下所示。这些程序的特点是服务消费方和服务提供方是本地调用关系。  而一旦踏入公司尤其是大型互联网公司就会发现,公司的系统都由成千上万大大小小的服务组成,各服务部署在不同的机器上,由不同的团队负责。这时就会遇到两个问题:1)要搭建一个新服务,免不了需要依赖他人的服务,而现在他人的服务都在

2017-08-10 11:33:01 303

转载 redis主从、哨兵、集群

一、主从通过持久化功能,Redis保证了即使在服务器重启的情况下也不会损失(或少量损失)数据,因为持久化会把内存中数据保存到硬盘上,重启会从硬盘上加载数据。 。但是由于数据是存储在一台服务器上的,如果这台服务器出现硬盘故障等问题,也会导致数据丢失。为了避免单点故障,通常的做法是将数据库复制多个副本以部署在不同的服务器上,这样即使有一台服务器出现故障,其他服务器依然可以继续提供服务。为此, redi

2017-08-01 09:26:35 368

转载 ES知识点总结

1:es介绍         Elasticsearch是一个基于Lucene的实时的分布式搜索和分析引擎。设计用于云计算中,         能够达到实时搜索,稳定,可靠,快速,安装使用方便。基于RESTful接口。         普通请求是…get?a=1         rest请求….get/a/12:全文搜索的工具有哪些         Lucene Solr Elast

2017-07-26 23:56:15 5725

转载 https通信原理

在搜复习视频的时候,有一个视频名字挺吸引我的,说“作为程序猿,你实在没有理由还不懂https”。可是我还真是不懂,所以就来学学吧!了解https之前,先了解http:    HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。    HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS。

2017-07-22 15:44:32 922

转载 List--遍历时的错误用法

作为Java大家庭中的集合类框架,List应该是平时开发中最常用的,可能有这种需求,当集合中的某些元素符合一定条件时,想要删除这个元素。如:[java] view plain copy print?public class ListTest {      public static void main(String[] args) {         List<Integer> intList =

2017-07-22 11:28:19 764

转载 flickr 的全局主键生成方案

flickr 的全局主键生成方案类似于京东的数据库设计,我们的用户分库有 Shop_1/2/3/4 … 那么uid怎样生成?现在的做法是在用一张索引表 Shop_share.user_index 取其自增主键,insert_id 便是uid。但缺点是,有单点负载的风险。flickr提供了一个扩展的更好的方案: 他们把 user_index 抽出一个专门用作生成 uid 的表,例如取名叫 uid_se

2017-07-18 17:50:49 1898

转载 数据库分库分表(sharding)系列——全局主键生成策略(3)

转载自:[数据库分库分表(sharding)系列(二) 全局主键生成策略](http://blog.csdn.net/bluishglc/article/details/7710738)本文将主要介绍一些常见的全局主键生成策略,然后重点介绍flickr使用的一种非常优秀的全局主键生成方案。关于分库分表(sharding)的拆分策略和实施细则,请参考该系列的前一篇文章:数据库分库分表(shardin

2017-07-18 17:47:38 1032

转载 数据库分库分表(sharding)系列—— 拆分实施策略和示例演示(2)

转载自:[数据库分库分表(sharding)系列(一) 拆分实施策略和示例演示](http://blog.csdn.net/bluishglc/article/details/7696085)本文原文连接: http://blog.csdn.net/bluishglc/article/details/7696085 ,转载请注明出处!本文着重介绍sharding切分策略,如果你对数据库shardi

2017-07-18 17:44:39 433

转载 数据库Sharding的基本思想和切分策略(1)

转载自:[数据库Sharding的基本思想和切分策略](http://blog.csdn.net/bluishglc/article/details/6161475)本文着重介绍sharding的基本思想和理论上的切分策略,关于更加细致的实施策略和参考事例请参考我的另一篇博文:数据库分库分表(sharding)系列(一) 拆分实施策略和示例演示 一、基本思想      Sharding的基本思想就

2017-07-18 17:41:03 367

转载 Redis集群使用总结2

Redis集群使用总结(二):本篇文章需要结合上一篇《redis集群使用总结(一)》,而这里主要介绍Redis集群的管理的分析和研究总结。 ·     如何管理·     故障转移·     注意事项 一、如何管理Redis集群的管理涉及的主要就是针对集群中的主次节点进行新增、删除以及对节点重新分片操作,而这些操作我们就可以使用redis-trib.rb工具来实现,具体如下:1、新

2017-07-12 10:28:22 427

转载 Redis集群使用总结1

Redis集群使用总结(一):随着企业数据量的增多,redis不论作为数据存储或是缓存,它的数据量也会逐渐增多,虽然Redis的速度非常可观,但随着其中的数据量的庞大,并且仅仅在一个设备或是一个Redis实例中,其存取速度也会大打折扣,所以我们需要在不同的设备或服务器上,搭建多个Redis实例仓库,将原来的Redis的所有的keys分发到各个服务器的Redis上,这就是现在所谓的Redis集群(R

2017-07-12 10:12:42 436

转载 一致性哈希算法

tencent2012 笔试题附加题      问题描述:  例如手机朋友网有n个服务器,为了方便用户的访问会在服务器上缓存数据,因此用户每次访问的时候最好能保持同一台服务器。已有的做法是根据ServerIPIndex[QQNUM%n]得到请求的服务器,这种方法很方便将用户分到不同的服务器上去。但是如果一台服务器死掉了,那么n就变为了n-1,那么ServerIPIndex[QQNUM%n]与Ser

2017-07-11 23:34:36 568

原创 java基础知识--IO篇

一、文件下载  项目文件存入ambry文件服务器,并返回可访问url,利用url下载该文件。public void downloadByURL(@Param("download")String download,@Param("description")String description, HttpServletRequest reque

2017-06-28 21:50:43 295

原创 ES学习笔记(2)--- javaAPI搜索篇

先来几张大神同事分享的ppt多的不说,快快上码public PageInfo<SearchResult> getAllRelatedPage(String keyword, String sortRule ,int pageSize,int pageNum) throws PcompException { try { String[] indexs = {Co

2017-06-26 21:00:35 3642

原创 利用POI导出excel

一、基本功能之输出表格poi输出excel最基本是输出table表格,下面是输出区域、总销售额(万元)、总利润(万元)简单的表格, 创建HSSFWorkbook 对象,用于将excel输出到输出流中HSSFWorkbook wb = new HSSFWorkbook();HSSFSheet sheet = wb.createSheet("table"); //创建table工作薄Object

2017-06-26 20:37:35 10685 1

原创 ES学习笔记(1)---部署篇

ES学习笔记一此处借鉴于我哈希大神的博客:http://blog.csdn.net/zhxdick/article/details/52120394以下为研发环境部署步骤: 一共三台机器域名配置: 10.202.7.184 nosql1 10.202.7.185 nosql2 10.202.7.186 nosql3硬件配置 :CPU 8核 / 内存 16384MB 操作系统 :

2017-06-19 11:23:30 370

原创 定时任务调度

cron4j特点:最大的特点就是小巧,简单,功能说实话没什么可说的,就是模仿unix的crontab,门槛非常低,编程非常简单. 可以执行一些简单的定时调度功能,太复杂的还是用quartz比较好。定时任务:public class CronJob implements Runnable{ public void run() { System.out.println("任务执行

2017-06-02 18:00:26 5005

原创 java实现定时任务的方法

常见的三种方法/** * 普通thread * 这是最常见的,创建一个thread,然后让它在while循环里一直运行着, * 通过sleep方法来达到定时任务的效果。这样可以快速简单的实现,代码如下: * @author GT * */ public class Task1 { public static void main(String[] args) {

2017-06-01 11:16:40 629 1

转载 Kafka之第三课

一、前言一个商业化消息队列的性能好坏,其文件存储机制设计是衡量一个消息队列服务技术水平和最关键指标之一。 下面将从Kafka文件存储机制和物理结构角度,分析Kafka是如何实现高效文件存储,及实际应用效果。分析过程topic中partition存储分布partiton中文件存储方式partiton中segment文件存储结构在partition中如何通过offset查找message二、

2017-05-27 16:21:31 361

转载 Spring加载properties的两种方式

在项目中如果有些参数经常需要修改,或者后期可能需要修改,那我们最好把这些参数放到properties文件中,源代码中读取properties里面的配置,这样后期只需要改动properties文件即可,不需要修改源代码,这样更加方便。在spring中也可以这么做,而且Spring有两种加载properties文件的方式:基于xml方式和基于注解方式。下面分别讨论下这两种方式。1、通过xml方式加载pr

2017-05-25 16:58:47 1111

转载 Kafka之第二课

kafka存储Kafka的存储布局非常简单。话题的每个分区对应一个逻辑日志。物理上,一个日志为相同大小的一组分段文件。每次生产者发布消息到一个分区,代理就将消息追加到最后一个段文件中。当发布的消息数量达到设定值或者经过一定的时间后,段文件真正写入磁盘中。写入完成后,消息公开给消费者。 与传统的消息系统不同,Kafka系统中存储的消息没有明确的消息Id。消息通过日志中的逻辑偏移量来公开。这样就避免了

2017-05-22 16:58:06 435

转载 Kafka之第一课

一、入门1、简介Kafka 是linkedin 公司用于日志处理的分布式消息队列,同时支持离线和在线日志处理。kafka 对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者成为Consumer,此外kafka 集群有多个kafka 实例组成,每个实例(server)称为broker。无论是kafka集群,还是producer和consumer 都依赖于zookeeper

2017-05-22 14:41:31 337

原创 利用POI读取excel

1、poi简介   Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。 2、maven依赖<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId>

2017-05-22 09:54:27 1978

原创 Mybatis 的分页插件PageHelper-4.1.1的使用

1、maven<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.0.0</version> </dependency> 2、基于spring的配置(spring-config-datasource.xml)<b

2017-05-11 12:45:45 995

转载 IDEA使用前的各种基本设置

转载各路高手的设置总结1.IDEA常用设置2.字体、编码等基本设置3.快捷键设置

2017-04-25 22:36:38 12375

原创 浅谈服务埋点(2)——Metrics

还是那个话题:为什么要做服务埋点?  就像我们操作系统里面的资源管理器一样,如果能够实时或者准实时的看到整个系统耗费的CPU,内存等资源,对我们快速对系统做出响应,以及优化很重要。同样,对于对外提供接口或者服务的WebService的监控,比如在哪个地方,哪台机器上,花了多少CPU,多少内存,每一个服务的响应时间,出错的次数频率等,这些信息记录下来之后,我们就可以看到服务在运行时的动态的表现,更加容

2017-01-13 01:20:52 15081 4

原创 浅谈服务埋点(1)——AOP

年会圆满结束了,我们的年会系统整体表现也还算不错,但唯一遗憾的是到最后摇一摇的时候,系统卡住了,不过还好最后挺了过来。   在以往编写应用程序的时候,我们通常会记录日志,以便出了问题之后事后有迹可循,这是一种静态分析。这次UIOC事件的发生,让我意识到系统性能的监控,或者说某一时刻运行的情况,比如当前系统中对外提供了多少次服务,这些服务的响应时间是多少,随时间变化的情况是什么样的,系统出错的频率是

2017-01-12 18:58:11 11129 3

转载 IOC实现原理

本文转载自开源中国的黄勇老师(跨平台这个好伤啊555,求大神教诀窍),文章地址:https://my.oschina.net/huangyong/blog/158992

2017-01-09 16:56:00 5342 2

空空如也

空空如也

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

TA关注的人

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