摘要: Xtrabackup简介 Percona XtraBackup是一个开源、免费的MySQL热备份软件,能够为InnoDB和XtraDB数据库执行非阻塞备份,特点如下: 1、快速、可靠的完成备份 2、备份期间不间断事务处理 3、节省磁盘空间和网络带宽 4、自动对备份文件进行验证 5、恢复快,保障在线运 阅读全文
posted @ 2017-02-14 18:00 星空str 阅读(5330) 评论(0) 推荐(0)
摘要: 本文是对《大型网站架构设计》(李智慧 著)一书的梳理, 文末附有相关技术图谱。 大型网站演化进程 初始阶段的网站架构 :一台服务器,上面同时拥有应用程序,数据库,文件,等所有资源。例如 LAMP 架构 应用和数据服务分离 :三台服务器(硬件资源各不相同),分别是应用服务器,文件服务器和数据库服务器 阅读全文
posted @ 2017-02-14 18:00 星空str 阅读(256) 评论(0) 推荐(0)
摘要: 最近整理了下MySQL备份与恢复的知识点,部分知识点还附有链接。 内容持续更新中,访问地址: https://www.processon.com/view/link/58805970e4b098bf4cddc5cd 阅读全文
posted @ 2017-02-14 17:59 星空str 阅读(190) 评论(0) 推荐(0)
摘要: 前言 在发生故障切换后,经常遇到的问题就是同步报错,下面是最近收集的报错信息。 记录删除失败 在master上删除一条记录,而slave上找不到 解决方法:master要删除一条记录,而slave上找不到报错,这种情况主都已经删除了,那么从机可以直接跳过。 如果这种情况很多,需要针对这种错误专门写相 阅读全文
posted @ 2017-02-14 17:58 星空str 阅读(7981) 评论(0) 推荐(0)
摘要: 本节以 zabbix 为例,介绍如何使用监控系统完成 Elasticsearch 的监控报警。 github 上有好几个版本的 ESZabbix 仓库,都源自 Elastic 公司员工 untergeek 最早的贡献。但是当时 Elasticsearch 还没有官方 python 客户端,所以监控程 阅读全文
posted @ 2017-02-14 17:57 星空str 阅读(6509) 评论(6) 推荐(0)
摘要: 步骤相关 1、停掉MySQL服务 service mysql stop 2、把旧的数据目录/var/lib/mysql备份到新的数据目录/data/mysql cp /var/lib/mysql /data R 3、给mysql组的mysql用户赋予新的数据目录的权限 chown R mysql:m 阅读全文
posted @ 2017-02-14 17:57 星空str 阅读(290) 评论(0) 推荐(0)
摘要: 最近爬取了百万数据,以下是学习爬虫时汇总的相关知识点 什么是爬虫和反爬虫 爬虫 —— 使用任何技术手段批量获取网站信息的一种方式,关键在批量。 反爬虫 —— 使用任何技术手段,阻止别人批量获取自己网站信息的一种方式。关键也在于批量。 误伤 —— 在反爬虫的过程中,错误的将普通用户识别为爬虫。误伤率高 阅读全文
posted @ 2017-02-14 17:56 星空str 阅读(10244) 评论(0) 推荐(0)
摘要: 最近弄爬虫,遇到的一个问题就是如何使用post方法模拟登陆爬取网页。下面是极简版的代码: 原文地址: http://wangxin123.com/2016/12/19/%E4%BD%BF%E7%94%A8Post%E6%96%B9%E6%B3%95%E6%A8%A1%E6%8B%9F%E7%99%B 阅读全文
posted @ 2017-02-14 17:55 星空str 阅读(807) 评论(0) 推荐(0)
摘要: 最近进行了微信公众号的预研,目前支持的功能如下 支持关键字回复,目前能回复图文信息。 支持自定义菜单创建及菜单事件响应。 支持各消息类型的识别。目前可以识别用户发送的文本、图片、声音、地址和链接信息等。 支持拍照答题。微信公众号内带拍照功能,用户发送图片后,后端可调用接口进行图片识别,并回复图文信息 阅读全文
posted @ 2017-02-14 17:54 星空str 阅读(244) 评论(0) 推荐(0)
摘要: 分布式算法 在做服务器负载均衡时候可供选择的负载均衡的算法有很多,包括: 轮循算法(Round Robin)、哈希算法(HASH)、最少连接算法(Least Connection)、响应速度算法(Response Time)、加权法(Weighted )等。其中哈希算法是最为常用的算法. 典型的应用 阅读全文
posted @ 2017-02-14 17:53 星空str 阅读(235) 评论(0) 推荐(0)
摘要: 分布式一致性问题 在分布式系统中,为了保证数据的高可用,通常,我们会将数据保留多个副本(replica),这些副本会放置在不同的物理的机器上。为了对用户提供正确的增、删、改、查等语义,我们需要保证这些放置在不同物理机器上的副本是一致的。 为了解决这种分布式一致性问题,在性能和数据一致性的反反复复权衡 阅读全文
posted @ 2017-02-14 17:52 星空str 阅读(901) 评论(0) 推荐(0)
摘要: 持续更新中 ~~ 地址:https://github.com/Wasim37/deployment scripts/ 阅读全文
posted @ 2017-02-14 17:52 星空str 阅读(229) 评论(0) 推荐(0)
摘要: 问题 由于某些原因,现在需要这样的一个文件上传接口,这个接口type(String)是必传参数,photoFile(MultipartFile)是非必传参数,即一般情况下需要接受两个参数,分别为photoFile和type,但是偶尔只接受type参数,不需要起到上传作用。 按常规写法,photoFi 阅读全文
posted @ 2017-02-14 17:51 星空str 阅读(24665) 评论(0) 推荐(0)
摘要: 示警媒介 一般情况下,zabbix监控主机都配置了触发器,触发器被触发发送消息给运维,需要中间介质来接收并传递消息。 zabbix默认的【示警媒介类型】有三种,Email、Jabber、SMS。 (1)Email:使用sendmail发送邮件,从这边出去的邮件基本是垃圾邮件。 (2)SMS:需要短信 阅读全文
posted @ 2017-02-14 17:49 星空str 阅读(937) 评论(0) 推荐(0)
摘要: Paxos算法是莱斯利·兰伯特(英语:Leslie Lamport,LaTeX中的“La”)于1990年提出的一种基于消息传递且具有高度容错特性的一致性算法。 问题和假设 分布式系统中的节点通信存在两种模型:共享内存(Shared memory)和消息传递(Messages passing) 。基于 阅读全文
posted @ 2017-02-14 17:49 星空str 阅读(156) 评论(0) 推荐(0)
摘要: TCP简介 首先来看看OSI的七层模型: 我们需要知道TCP工作在网络OSI的七层模型中的第四层——Transport层,IP在第三层——Network层,ARP在第二层——Data Link层;在第二层上的数据,我们把它叫Frame,在第三层上的数据叫Packet,第四层的数据叫Segment。 阅读全文
posted @ 2017-02-14 17:48 星空str 阅读(274) 评论(0) 推荐(0)
摘要: ELK介绍 日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。 通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,还使用依次登录 阅读全文
posted @ 2017-02-14 17:47 星空str 阅读(482) 评论(0) 推荐(0)
摘要: 前几天,公司两台linux服务器,一台访问速度很慢,cpu跑满,一台免密码登录失效,公钥文件被改写成redis的key。用htop命令查询发现了minerd木马进程,初步猜测是redis没有配访问权限造成的。网上查询minerd木马,发现这是一个很常见的挖矿程序,相关猜测也得到了验证。 下文是网上搜 阅读全文
posted @ 2017-02-14 17:47 星空str 阅读(1873) 评论(0) 推荐(0)
摘要: CAP原理 在理论计算机科学中,CAP定理(CAP theorem),又被称作布鲁尔定理(Brewer's theorem),它指出对于一个分布式计算系统来说,不可能同时满足以下三点: 一致性(Consistence) 分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最 阅读全文
posted @ 2017-02-14 17:45 星空str 阅读(2252) 评论(0) 推荐(0)
摘要: 配置相关 jdbc 配置 单数据源时的Spring配置文件 多数据源时Spring配置文件 MultipleDataSource实现 手动数据源切换调用 MyBatis接口Mapper定义,直接使用注解方式实现 使用SpringAOP方式实现自动切换 配置详解 这里就上面的实现做个简单解释,在我们配 阅读全文
posted @ 2017-02-14 17:44 星空str 阅读(3551) 评论(0) 推荐(0)
摘要: 简介 Atlas是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的MySQL Proxy 0.8.2版本的基础上,修改了大量bug,添加了很多功能特性。而且安装方便。配置的注释写的蛮详细的,都是中文。 主要功能 读写分离 从 阅读全文
posted @ 2017-02-14 17:43 星空str 阅读(7420) 评论(0) 推荐(1)
摘要: 生产环境中,架构很多为一主多从。比如一个主数据库M,两个从数据库S1,S2同时指向主数据库M。 当主服务器M因为意外情况宕机,需要将其中的一个从数据库服务器(假设选择S1)切换成主数据库服务器,同时修改另一个从数据库(S2)的配置,使其指向新的主数据库(S1)。 此外还需要通知应用修改主数据库的IP 阅读全文
posted @ 2017-02-14 17:42 星空str 阅读(526) 评论(0) 推荐(0)
摘要: 当项目数据量不大时,备份可以采用逻辑备份。 数据库可以搭建一主一从,从库每天凌晨三点全量逻辑备份。 然后同时记录二进制文件,用来进行基于时间点的数据恢复。 其他备份方案详见我的思维导图: "MySQL备份与恢复" cron定时任务 数据库每天凌晨三点的备份使用的是cron工具。 cron是一个lin 阅读全文
posted @ 2017-02-14 17:42 星空str 阅读(270) 评论(0) 推荐(0)
摘要: 主服务器配置 1、编辑配置文件 2、重启mysqld服务 3、为从MySQL创建用户 4、若orders中已有数据,还需要锁定主服务器数据库,然后将数据导入到从数据库 从服务器配置 1、配置服务ID 2、重启MySQL服务 3、配置复制 参数详解: master_host:主服务器的IP。 mast 阅读全文
posted @ 2017-02-14 17:41 星空str 阅读(439) 评论(0) 推荐(0)
摘要: zabbix监控nginx,首先需要配置ngx_status 启用nginx status配置 在默认主机里面加上location或者你希望能访问到的主机里面。 重启nginx 打开status页面 nginx status详解 active connections – 活跃的连接数量 server 阅读全文
posted @ 2017-02-14 17:38 星空str 阅读(620) 评论(0) 推荐(0)
摘要: 导入监控模板 点击【configuration】—— 【templates】—— 【import】,导入xml监控模板。 配置客户端key 在被监控的主机上,新建/etc/zabbix/zabbix_agentd.d/userparameter_redis.conf配置文件,在最后一行加入: 重启服 阅读全文
posted @ 2017-02-14 16:23 星空str 阅读(834) 评论(0) 推荐(0)
摘要: zabbix自带mysql监控模板,可监控mysql的增删改查、请求流量带宽和响应流量带宽等。 监控步骤 1、服务器上安装zabbix agent客户端,并修改zabbix_agentd.conf文件 2、编写check_mysql.sh脚本, 存放路径:/etc/zabbix/scripts。 并 阅读全文
posted @ 2017-02-14 16:22 星空str 阅读(630) 评论(0) 推荐(0)
摘要: zabbix服务器显示一些监控项不起效,提示错误【Not supported by Zabbix Agent】, 最后定位为zabbix客户端版本过低。 Not supported by Zabbix Agent 两台被监控的服务器,配置文件设置都一样,但是其中一台某些监控项失效,初步怀疑是版本不一 阅读全文
posted @ 2017-02-14 16:19 星空str 阅读(2634) 评论(0) 推荐(0)
摘要: 安装 此安装为手动安装,非yum安装。 官网下载地址:http://downloads.mysql.com/archives/community/ 卸载 手动删除 yum删除 自动化部署脚本 https://github.com/Wasim37/deployment scripts/tree/mas 阅读全文
posted @ 2017-02-14 16:19 星空str 阅读(1410) 评论(0) 推荐(0)
摘要: 安装 Installing repository configuration package Zabbix 2.2 for RHEL5, Oracle Linux 5, CentOS 5: Zabbix 2.2 for RHEL6, Oracle Linux 6, CentOS 6: Zabbix 阅读全文
posted @ 2017-02-14 16:18 星空str 阅读(1790) 评论(0) 推荐(0)
摘要: Mysql 安装成功后,输入 mysql version 显示版本如下 用默认密码登录报如下错误: 解决方法: 注意:mysql5.7版本mysql数据库user表的密码字段为authentication_string, 其他版本大部分为password,update语句相应为: 用重置的密码终于登 阅读全文
posted @ 2017-02-14 15:52 星空str 阅读(231) 评论(0) 推荐(0)
摘要: 简介 zabbix(音同 zæbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 zabbix由2部分构成,zabbix server与可 阅读全文
posted @ 2017-02-14 15:52 星空str 阅读(2167) 评论(0) 推荐(0)
摘要: shiro权限框架,用户登录方法的subject.login(token)会进入自定义的UserNamePasswordRealm类的doGetAuthenticationInfo身份验证方法 通常情况,doGetAuthenticationInfo写法如下: login登录方法: 可是最近一次项目 阅读全文
posted @ 2017-02-14 15:50 星空str 阅读(6341) 评论(0) 推荐(1)
摘要: 主从搭建前提是服务器上已经安装好了redis, redis安装可搜索本站另一篇博客:redis安装。 redis单主机多实例 一、我们首先拷贝两份文件: 二、修改redis6381配置文件 相关命令 三、同理我们配置6382配置文件, 成功启动服务后,查看进程: redis配置主从 修改6381、6 阅读全文
posted @ 2017-02-14 15:49 星空str 阅读(4019) 评论(0) 推荐(0)
摘要: redis简介 redis是一个性能非常优秀的内存数据库,通过key value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set 有序集合)和hashs(哈希类型)。这些数据类型都支持 阅读全文
posted @ 2017-02-14 15:48 星空str 阅读(675) 评论(0) 推荐(0)
摘要: 在目前团队,除了日常开发,我还负责提供数据库和系统监控相关服务。 既然工作和运维有关,那有必要对运维有个基本的认识。 可能现在内容很不完善,但会持续更新,访问地址: https://www.processon.com/view/link/58832d28e4b087b1163149ab 阅读全文
posted @ 2017-02-14 15:48 星空str 阅读(521) 评论(0) 推荐(0)
摘要: 系统开发到一定的阶段,线上的机器越来越多,就需要一些监控了,除了服务器的监控,业务方面也需要一些监控服务。Metrics作为一款监控指标的度量类库,提供了许多工具帮助开发者来完成自定义的监控工作。 举个例子,一个图片压缩服务: 每秒钟的请求数是多少(TPS)? 平均每个请求处理的时间? 请求处理的最 阅读全文
posted @ 2017-02-14 15:47 星空str 阅读(1317) 评论(0) 推荐(0)
摘要: 背景 在互联网教育行业,做内容相关的项目经常碰到的一个问题就是如何解析word文档。 因为系统如果无法智能的解析word,那么就只能通过其他方式手动录入word内容,效率低下,而且人工成本和录入出错率都较高。 疑难点 word解析可以预见的困难主要有以下几个方面: word 结构问题 —— word 阅读全文
posted @ 2017-02-14 15:35 星空str 阅读(17395) 评论(4) 推荐(1)
摘要: 1、编译机制 分析和输入到符号表: 词法分析:将代码转化为token序列 语法分析:由token序列生成抽象语法树 输入到符号表:将类中出现的符号输入到类的符号表 注解处理: 处理用户自定义注解,之后继续第一步 根据符号表进行语义分析并生成class文件,并进行相关优化 虚拟机数据类型、字节码文件格 阅读全文
posted @ 2017-02-14 15:35 星空str 阅读(1656) 评论(0) 推荐(2)
摘要: 最近安装了API文档工具swagger,因为Github上已有详细安装教程,且安装过程中没有碰到大的阻碍,所以此文仅对这次安装做一份大致记录 相关网站 Swagger 官方地址: http://swagger.wordnik.com Github安装详解【springmvc集成swagger】: h 阅读全文
posted @ 2017-02-14 15:34 星空str 阅读(567) 评论(0) 推荐(0)
摘要: init进程 init进程是非内核进程中第一个被启动运行的,因此它的进程编号PID的值总是1。init读它的配置文件/etc/inittab,决定需要启动的运行级别(Runlevel)。从根本上说,运行级别规定了整个系统的行为,每个级别(分别由0到6的整数表示)满足特定的目的。如果定义了initde 阅读全文
posted @ 2017-02-14 15:33 星空str 阅读(1275) 评论(0) 推荐(0)
摘要: 常见排序之间的关系: 1、直接插入排序 (1)基本思想:在要排序的一组数中,假设前面(n 1)[n =2] 个数已经是排 好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数 也是排好顺序的。如此反复循环,直到全部排好顺序。 (2)实例 (3)用java实现 7、归并排序 (1)基本排序:归并 阅读全文
posted @ 2017-02-14 15:31 星空str 阅读(282) 评论(0) 推荐(0)
摘要: 前言 通常,对于一个给定的算法,我们要做两项分析。第一是从数学上证明算法的正确性,这一步主要用到形式化证明的方法及相关推理模式,如循环不变式、数学归纳法等。而在证明算法是正确的基础上,第二就是分析算法的时间复杂度。算法的时间复杂度反映了程序执行时间随输入规模增长而增长的量级,在很大程度上能很好反映出 阅读全文
posted @ 2017-02-14 15:29 星空str 阅读(541) 评论(0) 推荐(0)
摘要: 通常情况下,MyBatis 的增删改查操作需要自己在相应xml中写相关语句, 但是运用相关工具,其实可以很方便的自动生成单表的所有增删改查(通用的多表联合查询还是需要自己写)。 也可以根据具体环境,设计相关模板,自动生成符合要求的controller和service。 使用教程 : "http:// 阅读全文
posted @ 2017-02-14 15:26 星空str 阅读(791) 评论(0) 推荐(0)
摘要: 公司之前有个用Lucene实现的伪分布式项目,实时性很差,后期数据量逐渐增大的时候,数据同步一次需要十几小时。当时项目重构考虑到的是Solr和ES,我参与的是Solr技术的预研。因为项目实时性要求很高,最终选择的是ES。 Elasticsearch 简介 Elasticsearch是一个实时的分布式 阅读全文
posted @ 2017-02-14 15:26 星空str 阅读(241) 评论(0) 推荐(0)
摘要: 环境搭建 1、到apache下载solr,地址:http://mirrors.hust.edu.cn/apache/lucene/solr/ 2、解压到某个目录 3、cd into D:\Solr\solr 4.10.3\example 4、Execute the server by “java j 阅读全文
posted @ 2017-02-14 15:25 星空str 阅读(759) 评论(0) 推荐(0)
摘要: 为什么要用线程池 减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务。 可以根据系统的承受能力,调整线程池中工作线线程的数目,防止因为消耗过多的内存,而把服务器累趴下(每个线程需要大约1MB内存,线程开的越多,消耗的内存也就越大,最后死机)。 Java里面线程池的顶级接口是Ex 阅读全文
posted @ 2017-02-14 15:23 星空str 阅读(428) 评论(0) 推荐(0)
摘要: 遇到过这样一个严重问题: 发布的项目不知从什么时候开始,每月会出现一两次串号问题。串号现象指的是,用户用账号A登录系统,然后某个时间,登录账号自动变成了B。 串号出现的时间不定,测试平台难以重现,且后台检测不到错误,难以定位。当时各种排查,最后发现问题果然是出在缓存redis上,JedisPool使 阅读全文
posted @ 2017-02-14 15:21 星空str 阅读(11733) 评论(1) 推荐(0)
摘要: 错误 在Linux中执行.sh脚本,出现如下异常 原因 在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。 解决 在windows下转换: 利用一些编辑器如UltraEdit或EditPlus等工具先将脚本编码转换,再放到Linux中执行。 转换方式 阅读全文
posted @ 2017-02-14 15:20 星空str 阅读(430) 评论(0) 推荐(0)
摘要: Java的集合分为了四类:List Set Queue Map ,每类都有不同的实现,有基于数组实现的,有基于链表实现的,有基于xx树实现的,不同的实现虽在功能上可以相互替代但都有各自的应用场景,如基于数组的实现擅长快速遍历,基于链表的实现擅长随机写,基于树的实现可排序等等。 JDK1.5及以后还添 阅读全文
posted @ 2017-02-14 15:19 星空str 阅读(938) 评论(0) 推荐(0)
摘要: 前言 Kurt Bittner曾说过,如果敏捷仅仅只是开始,那持续交付就是头条! “If Agile Was the Opening Act, Continuous Delivery is the Headliner!”——Kurt Bittner 五月上旬我的一个主要工作就是搭建持续交付平台。 打 阅读全文
posted @ 2017-02-14 15:17 星空str 阅读(2270) 评论(0) 推荐(0)
摘要: 最近被初始化快和静态初始化快整懵了,现整理如下: ps: 大学时的ppt课件都被我翻出来了 (^∇^ )       不看前面内容,我写在本文最后的那道测试题绝对让大部分人懵逼 测试代码 1、static初始化块 static初始化块是在构 阅读全文
posted @ 2017-02-14 15:15 星空str 阅读(2747) 评论(0) 推荐(0)
摘要: SonarQube SonarQube是用来检测代码质量的,但类似工具的推广常常遇到阻碍。 成型项目或僵尸项目可以理解,项目优化需要投入的人力成本和时间成本太大,而且最主要的是无法保证改动过程中不引入新的bug。那么大家会想,在项目立项初期配合使用,这应该没什么问题了吧?奈何理由这东西,只要想找,总 阅读全文
posted @ 2017-02-14 15:14 星空str 阅读(924) 评论(0) 推荐(0)
摘要: 前言 记得从大二开始,就一直想搭个专属网站,当时使劲抠页面【前端页面是从QQ空间抠的,现在想抠估计没这么容易了】,写代码,忙活半天才把程序弄好。 可惜最终项目还是没上线,因为当时有两问题绕不开 需要购买服务器【服务器太贵,现在便宜的阿里云服务器每月都需100左右】。 需要运维管理【麻烦且危险,服务器 阅读全文
posted @ 2017-02-14 15:12 星空str 阅读(860) 评论(0) 推荐(0)
摘要: JDK安装 http://www.oracle.com/technetwork/java/javase/downloads/jdk8 downloads 2133151.html 下载对应jdk版本,比如 jdk 7u80 linux x64.tar.gz。 执行java version命令,测试一 阅读全文
posted @ 2017-02-14 15:11 星空str 阅读(4245) 评论(2) 推荐(0)
摘要: 1、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描, 可以在 num 上设置默认值 0,确保表中 num 列没有 null 值,然后这 阅读全文
posted @ 2017-02-14 15:10 星空str 阅读(739) 评论(0) 推荐(0)
摘要: Zookeeper的核心是原子广播,这个机制保证了各个Server之间的同步。实现这个机制的协议叫做Zab协议。Zab协议有两种模式,它们分别是恢复模式(选主)和广播模式(同步)。当服务启动或者在领导者崩溃后,Zab就进入了恢复模式,当领导者被选举出来,且大多数Server完成了和leader的状态 阅读全文
posted @ 2017-02-14 15:06 星空str 阅读(481) 评论(0) 推荐(0)
摘要: 什么是Zookeeper? ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基 阅读全文
posted @ 2017-02-14 15:04 星空str 阅读(477) 评论(0) 推荐(0)
摘要: 二维码不一定是单调的黑白格子,也可以很丰富。 最近用到的二维码在线生成网站: 二维工坊: "http://visual.2weima.com/" 云来图形二维码: "http://qrcode.yunlai.cn/" 我给"星空博客"网站生成的二维码: 生成的动图二维码如果较大,需要进行相关压缩,不 阅读全文
posted @ 2017-02-14 15:00 星空str 阅读(1787) 评论(0) 推荐(0)
摘要: TWaver 2D for HTML5试用下载: "http://download.servasoft.com/dl/twaver/sssyuwyeriUR/k/twaver html5 5.4.7.zip" TWaver GIS for HTML5试用下载: "http://download.se 阅读全文
posted @ 2017-02-14 14:58 星空str 阅读(3237) 评论(0) 推荐(0)
摘要: 本人有点懒,不太喜欢用脑子刻意去记一些东西。 但是东西多了易忘,怕忘,所以工作中逐渐养成了记录的习惯。 我用的是有道云,那里按类别记录了我最近几年的工作所得。 可是随着内容增多,慢慢发现了一个问题:有些知识记下了,仍然不是你的。 我知道记录能给我带来巨大好处,白底黑字会不断的通过视觉刺激来提醒我它的 阅读全文
posted @ 2017-02-14 14:56 星空str 阅读(418) 评论(0) 推荐(0)
摘要: 最近因项目存在内存泄漏,故进行大规模的JVM性能调优,现把相关知识进行归纳总结 一、JVM内存模型及垃圾收集算法 1.内存模型 根据Java虚拟机规范,JVM将内存划分为: 年轻代(New):年轻代用来存放JVM刚分配的Java对象 年老代(Tenured):年轻代中经过垃圾回收没有回收掉的对象将被 阅读全文
posted @ 2017-02-14 13:11 星空str 阅读(372) 评论(0) 推荐(0)
摘要: 假设现有如下的使用场景: a) 关闭空闲连接。服务器中,有很多客户端的连接,空闲一段时间之后需要关闭之。 b) 缓存。缓存中的对象,超过了空闲时间,需要从缓存中移出。 c) 任务超时处理。在网络协议滑动窗口请求应答式交互时,处理超时未响应的请求。 笨办法是,使用一个后台线程,遍历所有对象,挨个检查。 阅读全文
posted @ 2017-02-14 13:10 星空str 阅读(922) 评论(0) 推荐(0)
摘要: 《 Effecit In Java 》说过,从java 1.5发现版本开始, 就不建议使用wait和notify,它们使用比较困难,可以使用更高级并发工具来替代。 图一所说的同步器是指那些能使线程等待另一个线程的对象,常用的有cyclicBarrier和倒计数锁存器CountDownLatch和se 阅读全文
posted @ 2017-02-14 13:08 星空str 阅读(451) 评论(0) 推荐(0)
摘要: JDK API 1.7相关介绍 可以用原子方式更新的 int 值。有关原子变量属性的描述,请参阅 java.util.concurrent.atomic 包规范。AtomicInteger 可用在应用程序中(如以原子方式增加的计数器),并且不能用于替换 Integer。但是,此类确实扩展了 Numb 阅读全文
posted @ 2017-02-14 13:07 星空str 阅读(1764) 评论(0) 推荐(0)