自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 资源 (1)
  • 收藏
  • 关注

原创 分布式事务:概述

目前业界并没有分布式事务实现的银弹方案。分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。

2023-02-09 10:38:47 430 1

转载 Cef 参数列表(一)

Cef、CefSharp 启动参数列表

2022-04-14 13:37:04 458

原创 Java入门(二):windows环境下Java配置Path classpath等环境变量

Java需要配置path、classpath、JAVA_HOME等多个环境变量,初学者可以按照教程一步一步配置,但是因为不明白这些变量的具体含义,所以过段时间又忘记怎样配置,反复查询资料。计算机的学习需要大家善于发问,并找到问题的答案。下面我们具体看一下这几个变量的原理和配置。  一、path变量     当你用快捷键 windows键 + R ,打开运行界面后,在输入框里cacl ,

2016-09-06 09:29:14 11752

原创 新的征程

做了多年技术,现在进入了在线教育领域。设计、开发的时间少了,写文章的时间多了。以后的blog会有很多精华文章推出。共勉。

2016-09-05 14:54:53 497

转载 基于 Apache Mahout 构建社会化推荐引擎

Web 2.0 的一个核心思想就是“群体智慧”,即基于大众行为,为每个用户提供个性化的推荐。这使得如何让用户能更快速更准确的获得所需要的信息,成为了 Web 应用成败的关键。Apache Mahout 是 ASF(Apache Software Foundation)的一个较新的开源项目,提供机器学习领域的一些经典算法的高效实现。本文主要讲述如何基于 Apache Mahout 来构建社会化推荐引

2013-04-24 10:38:55 956

转载 个性化推荐十大挑战

个性化推荐经常被人误解为细分市场和{敏感词}这两个概念。虽然它们之间有一些联系,但实质上却相差甚远。本文不仅清楚地讲述了个性化推荐技术,更列出了其所面临的十大挑战。很多人都知道个性化推荐,却有不少认识上的误区。有的人认为个性化推荐就是细分市场和{敏感词},但实际上细分市场和{敏感词}往往是把潜在的用户分成 很多群体,这与基于全体的统计相比固然有了长足的进步,但距离“为每一个用户量身定做的信

2013-04-24 10:38:03 1646

原创 2013年中国数据库大会PPT

大数据革命.pdfMPP NewSQL 数据库集群支撑企业超大规模数据仓库案例介绍.pdfBig Data in Action – 企业如何运用微软 Big Data 的技术具体规划并落实运行.pdf小米hadoop/hbase微实践.pdfHBase近期的发展及实践.pdf简单诉求下的大数据解决之道.pdf基于Hadoop的携程集中式日志及其周边生态系统介绍.pdf百度的下一代离线存储计算系统.

2013-04-24 09:23:35 702

转载 Twemproxy – Twitter 开源的 Redis proxy

在去年的QCon London2012 大会上,Twitter 发表了题为 《Timelines @ Twitter》的演讲,里面提到以Redis作为其timeline的主要存储,目前目测全球范围内,Twitter可能是Redis的最大用户了(或者是新浪微博?)。而今天我们要说的这个Twemproxy,是 Twitter 开源出来的 Redis 和 Memcached 代理。功能介绍我

2013-04-23 14:30:27 971

原创 令牌桶和漏桶算法(流量整形算法)

流量整形流量整形(traffic shaping)典型作用是限制流出某一网络的某一连接的流量与突发,使这类报文以比较均匀的速度向外发送。流量整形通常使用缓冲区和令牌桶来完成,当报文的发送速度过快时,首先在缓冲区进行缓存,在令牌桶的控制下再均匀地发送这些被缓冲的文。流量整形的核心算法有以下两种,具体采用的技术为GTS(Generic Traffic Shaping),通用流量整形:

2013-04-15 11:06:19 6733 1

转载 漏桶算法在计算机通信中的应用

一.什么是漏桶算法(Leaky Bucket Algorithm)漏桶算法(Leaky Bucket)是网络世界中流量整形(TrafficShaping)或速率限制(Rate Limiting)时经常使用的一种算法,它的主要目的是控制数据注入到网络的速率,平滑网络上的突发流量。漏桶算法提供了一种机制,通过它,突发流量可 以被整形以便为网络提供一个稳定的流量。漏桶算法的工作示意图如下图所示:

2013-04-15 10:59:56 2015

原创 Base64编码

Base64除了可以做简单的加密之外,通过整个介绍我没能看出有什么其他应用场景。Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般

2013-04-09 11:30:45 1121

原创 sh脚本编码问题

在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。解决:1)在windows下转换: 利用一些编辑器如UltraEdit或EditPlus等工具先将脚本编码转换,再放到Linux中执行。转换方式如下(UltraEdit):File-->Conversions-->DOS->UNIX即可。或者按Ctrl+H,将文本内容转换为十六进

2013-04-09 09:58:57 6658

原创 找不到Java进程问题

Tomcat的进程利用jps 、jstat的找不到,hadoop mapreduce启动的子进程在 jps中不会列出来。原来是因为启动的时候设置了java.io.tmpdir.java.io.tmpdir的默认值是 /tmpjava的每个进程都会在/tmp下的一个名为 hsperfdata_{用户名}的目录中由一个以进程id为名字的文件对应。幸运的是jinfo不

2013-03-21 15:19:23 1932

转载 Netty源码阅读之一:综述

Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序[官方定义],整体来看其包含了以下内容:1.提供了丰富的协议编解码支持,2.实现自有的buffer系统,减少复制所带来的消耗,3.整套channel的实现,4.基于事件的过程流转以及完整的网络事件响应与扩展,5.丰富的example。本文并不对Netty实际使用中可能出现的问题做分析,只是从

2013-03-19 10:47:43 994

转载 IntelliJ Idea 常用快捷键列表

Alt+回车 导入包,自动修正Ctrl+N   查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L  格式化代码Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码(如get,set方法,构造函数等)Ctrl+E或者Alt+Shift+C  最近更改的代码Ctrl+R 替换文本Ctrl+F 查找文本Ctrl+Shift+Space 自动

2013-03-07 10:25:57 540

原创 Protobuf数据编码规则

ProtoBuf编码基础:——Varints, varints是一种将一个整数序列化为一个或者多个Bytes的方法,越小的整数,使用的Bytes越少。Varints的基本规则是: 每个Byte的最高位(msb)是标志位,如果该位为1,表示该Byte后面还有其它Byte,如果该位为0,表示该Byte是最后一个Byte。每个Byte的低7位是用来存数值的位Varints方法用Litte-E

2012-12-18 16:47:58 5037

原创 Java Garbage Collection (GC) Tuning

Here is some important parameters that needs to be configured to get good performance on garbage collection. These are what we use in our applications and I will try to explain them one by one:

2012-12-18 10:05:01 628

原创 《软件架构设计》读书笔记

一、什么是架构?从书中可以看到两个观点:1. 架构=组件 +  交互2.架构= 重要决策集我更倾向于第一个观点,而用第二个观点提醒自己系统概要设计、详细设计等架构落地时候是否设计原则遵守了架构原则。二、子系统、框架和架构在解释这三个概念的时候,我想还要再加上要给概念:平台。好吧,分裂吧,程序员们。子系统:这个概念最为简单,就是一个系统的细分,它具有系统的完整特性,要应用

2012-12-12 15:00:47 1380

转载 Bitmap算法原理

【什么是Bit-map】所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。如果说了这么多还没明白什么是Bit-map,那么我们来看一个具体的例子,假设我们要对0-7内的5个元素(4,7,2,5,3)排序(这里假设这些元素没有重复)。那么我们就可以采用Bit-map的方法来达

2012-12-04 14:27:18 975

转载 javacc简介

JavaCC 简介许多基于 Web的项目都包含即席(ad-hoc)查询系统以允许终端用户搜索信息。因此,终端用户会需要某种语言来表达他们所希望搜索的内容。以前,用户查询语言的定义极其简单。如果终端用户满足于使用与最典型的 Google 搜索一般简单的语言,那么 Java 的 StringTokenizer对于解析任务就绰绰有余了。然而,如果用户希望有一种更健壮的语言,比如要添加括号和"AND"

2012-12-04 10:55:27 2423

转载 linux sort

linux sortsort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始!1 sort的工作原理sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。[rocrocket@rocrocket programming]$ cat seq.txtbananaapple

2012-11-30 11:45:34 1354

原创 SpringMVC与Struts2的对比

下面这些东西基本都是我从网上粘贴过来的,没有那么多耐心和时间一个字一个字的敲了,但是基本能表明我选择SpringMVC的思路和原因。把这张图放在这里,我是想说SpringMVC和Struts2真的是不一样的,虽然在都有着核心分发器等相同的功能组件(这些由MVC模式本身决定的)。 为什么SpringMVC会赢得最后的胜利呢?谈几点我自己的看法: 第一、MVC框架的出现是为

2012-11-29 14:42:42 214429 40

转载 Linux free -m 详细说明

linux内存中buffer与cache的区别  free 命令相对于top 提供了更简洁的查看系统内存使用情况:$ freetotal       used        free    shared buffers cachedMem:    255268      238332      16936       0   85540   126384-/+ buffer

2012-11-20 17:17:26 949

转载 用checkstyle实现svn的代码规范性检查

“代码的规范性与软件缺陷是有紧密联系的,质量高的代码将直接提高软件的质量”。相信每一个软件企业的研发部门都有类似于《XX语言开发规范》的文档,但究竟有多少人会去认真阅读、吃透其中的每一条款,并把其做为代码书写的“圣经”来对待(稍有违反规范的代码将及时重写)?我们需要“用技术手段去解决技术问题”。让我们在最关键的环节—代码仓库SVN—“做手脚”。试想,如果我们能在svn上增加一项功能,在程序员提交代

2012-11-19 09:26:39 2624 1

转载 HTTP响应头拆分/CRLF注入详解

一:前言“HTTP响应头拆分漏洞”是一种新型的web攻击方案,它重新产生了很多安全漏洞包括:web缓存感染、用户信息涂改、窃取敏感用户页面、跨站脚本漏洞。这项攻击方案,包括其衍生的一系列技术产生,是由于web应用程序没有对用户的提交进行严格过滤,导致非法用户可以提交一些恶意字符,更具体来说,是对用户输入的CR 和LF字符没有进行严格的过滤。“HTTP响应头拆分漏洞”及其相关的攻击手段可以在

2012-11-14 16:59:37 24476 1

转载 详解CRLF注入攻击的原理和其防范措施

CRLF注入攻击并没有像其它类型的攻击那样著名。但是,当对有安全漏洞的应用程序实施CRLF注入攻击时,这种攻击对于攻击者同样有效,并且对用户造成极大的破坏。让我们看看这些应用程序攻击是如何实施的和你能够采取什么措施保护你的机构。CRLF的含义是“carriage return/line feed”,意思就是回车。这是两个ASCII字符,分别排在第十三和第十位。CR和LF是在计算机终端还是电传打

2012-11-14 16:58:36 6274

转载 “小专精”社交网络,前景如何?(知识性网络,我比较喜欢这个称呼)

(文/帕拉齐•帕特)理查德•萨瓦(Richard Savoie)是名热爱滑雪的电子工程师,他受够了滑雪电缆车座椅以及在线论坛。他每次乘电缆车都必须侧身坐着,并且还要解开滑雪靴后面的锁,整个滑雪板就只靠前脚掌撑着,让脚很酸很累。萨瓦一直想着要弄出一套用磁性连接的系统,好让摇晃的滑板可以吸在鞋后面。他自己有的一些稀土磁体磁力不够大,做不出这样一套系统来。而他在网上寻求帮助时却发现,网上许多的工程论坛都

2012-11-08 15:42:04 800

原创 书籍记录

1. 白帽子讲Web安全第一篇 世界观安全 第1章 我的安全世界观   1.1 web安全简史   1.1.1 中国黑客简史   1.1.2 黑客技术的发展历程   1.1.3 web安全的兴起   1.2 黑帽子,白帽子   1.3 返璞归真,揭秘安全的本质   1.4 破除迷信,没有银弹   1.5 安全三要素   1.6 如何实施安全评估

2012-10-30 10:12:00 1135

转载 DCL 和 乱序

在很多设计模式的书籍中,我们都可以看到类似下面的单例模式的实现代码,一般称为Double-checked locking(DCL)01public classSingleton {02 03    privatestatic Singleton instance;

2012-10-25 17:43:09 573

转载 JVM参数调优实例解析

JVM参数调优是个很头痛的问题,设置的不好,JVM不断执行Full GC,导致整个系统变得很慢,网站停滞时间能达10秒以上,这种情况如果没隔几分钟就来一次,自己都受不了。这种停滞在测试的时候看不出来,只有网站pv达到数十万/天的时候问题就暴露出来了。  要想配置好JVM参数,需要对年轻代、年老代、救助空间和永久代有一定了解,还要了解jvm内存管理逻辑,最终还要根据自己的应用来做调整。关于JVM

2012-10-24 11:32:34 714

转载 多核平台下的Java优化

现在多核CPU是主流。利用多核技术,可以有效发挥硬件的能力,提升吞吐量,对于Java程序,可以实现并发垃圾收集。但是Java利用多核技术也带来了一些问题,主要是多线程共享内存引起了。目前内存和CPU之间的带宽是一个主要瓶颈,每个核可以独享一部分高速缓存,可以提高性能。JVM是利用操作系统的“轻量级进程”实现线程,所以线程每操作一次共享内存,都无法在高速缓存中命中,是一次开销较大的系统调用。所以区别

2012-10-24 11:32:13 2368

转载 Linux下实用的查看内存和多核CPU状态命令

查看多核CPU命令 mpstat -P ALL  和  sar -P ALL 说明:sar -P ALL > aaa.txt   重定向输出内容到文件 aaa.txt top命令经常用来监控linux的系统状况,比如cpu、内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控视图中内存数值的含义就有不少的曲解。本文通过一个运行中的W

2012-10-24 11:31:33 479

原创 认识Netty

Netty的特性:Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序,整体来看其包含了以下内容:实现了自有的、丰富的Buffer数据结构,彻底解决java NIO ByteBuffer的问题,满足开发者的日常需求。统一的阻塞和非阻塞的IO协议API基于灵活、可扩展的事件驱动模型为快速开发提供了丰富的组件和协议支持

2012-10-12 13:47:14 597

转载 传统媒体公司,将大举进军教育市场

有线电视公司探索(Discovery)去年开发了一套名为 Techbook 的数字课本。图为美国北卡罗来纳州的中学生在使用 Techbook。(图片:Chris Keane for The New York Times)(文/BROOKS BARNES & AMY CHOZICK)随着新学年的开始,全国大约 50 万名孩童将发现他们正在从一系列新的数字课本上学习初中历史或者高中生物等课程。

2012-10-10 18:11:41 1660

原创 git-svn 版本控制

Git是分布式版本控制系统,与SVN相比拥有比较明显的优势。git-svn是一种桥接工具,在server利用svn的情况下,可以让大家在客户端享受git提供的便利。   下面简单的介绍下git的功能和特点。   一、GIT的特点  分布式和集中式的最大区别在于开发者可以本地提交。每个开发者机器上都有一个服务器的数据库。  从一般开发者的角度来看git有以下功能:1:从服务器上克

2012-10-10 15:38:04 1218

转载 百度SEO推广秘笈-长尾关键词优化

百度SEO推广秘笈-长尾关键词优化!1、核心关键词、长尾关键词什么是核心关键词?是通常放在首页标题里的关键词。一般具有如下特征:(1)描述网站展示的主要产品或服务、基本特色等(2)具有行业共同性,即同行网站也会设置,常常具有较大竞争性(3)一般网站的核心关键词不超过3个(4)每个核心关键词的百度日搜索总量通常不低于100人次什么是长尾关键词?是通常放在网站不同内

2012-10-09 11:51:39 1250

原创 Feed格式

SNS平台通常有各种格式的feed,如果考虑到feed需要在平台自身、扩展应用及第三方应用或客户端展示的话,通常需要一个统一的规范,而不是发布者本身随意输出最终展示的文字。而且也需要考虑图片、视频等在feed中的统一定义。在facebook它是这样实现的feed是自描述的,即它不是由生产者决定最终格式,也不是前端决定。而是通过template机制来进行。template在平台中可以由开发者

2012-10-09 11:01:06 1790

转载 SoundCloud研发团队Sean Treadway谈SoundCloud架构演变

SoundCloud是一个新兴的社会化音乐创建和分享平台,前不久,他们研发团队的Sean Treadway在SoundCloud的博客上谈到了SoundCloud的架构演变。Sean开门见山指出:扩展是一个奢侈的问题,它与组织架构的关系远超与具体技术实现的关系。在每个变化阶段,我们都会预测用户的下一个数量级,从数千开始,我们的设计现在支持数亿用户。我们识别出瓶颈,解决它

2012-10-08 11:06:52 842

转载 SVN与Git比较

SVN与Git比较摘要Svn是目前得到大多数人认可,使用得最多的版本控制管理工具,而Git的优势在于易于本地增加分支和分布式的特性,可离线提交,解决了异地团队协同开发等svn不能解决的问题。本文就这两种版本控制工具的异同点作详细介绍。目录摘要: 1一、 集中式 vs 分布式 21. Subversion属于集中式的版本控制系统 22. Git属于分布式的版本控制系统 4

2012-09-28 10:48:08 2178

原创 Mysql 读写分离实现方案一:Mysql Proxy

Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过。但在实际的生产环境中,由单台Mysql作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面。因此,一般来说都是通过 主从复制(Master-Slave)的方式来同步数据,再通过读写分离(MySQL-Proxy)来提升数据库的并发负载能力 这样的方案来进行部署与实施的。

2012-09-27 10:22:05 1715

自动对账系统架构设计.pptx

自动化对账系统顶层架构设计,描述了对账业务背景、基本业务知识,由此阐述了自动化对账系统的设计目标,以及粗粒度的设计

2020-09-08

空空如也

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

TA关注的人

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