自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 HttpURLConnection乱码问题

直接讲Parameter参数放在url里面默认使用的是iso8859-1编码,而且connection.setRequestProperty设置的编码不针对url只设置输出流的data,所以此时乱码的解决方案:1、webx端重新编码,String txt = new String(desc.toString().getBytes("iso8859-1"), "utf-8");2、放在d...

2015-02-27 19:01:02 232

原创 从开源社区到云计算

从开源社区到云计算UNIX编程艺术讲到UNIX为何如此成功的第一个原因就是开源。当时的一些计算机大牛们,为了彼此间更好的合作,为了提高团队的效率,选择选择将源代码开放出去。在那个蛮荒的时代,因特网没有诞生,甚至最开始连TCP/IP都没有诞生,人们依赖脆弱的计算机网络进行一些文档的传输和技术上的交流。开源这件事是那些大牛比如Kim Tompthon,Dung Mcllroy的一些协作的习惯。...

2015-02-01 21:46:36 217

原创 项目总结

项目一期做完,总结一下。避重就轻的架构设计核心server轻量化设计,从系统稳定角度来说可以避免核心功能受到不必要的干扰,从系统运维角度来说,方便排查问题,从长远设计角度来说,一开始的简单设计是为了今后的来日方长。快速重构累赘一些在一期或者甚至二期都不会考虑的东西,尽快重构干净。否则就会一直拖着累赘,面向接口编程也会成为一个坑,走了一段时间之后发现还是要做掉。尽快...

2015-01-30 23:19:16 130

原创 mysql中各种高可用方案&开源的数据复制方案

mysql中高中高可用方案(http://www.cnblogs.com/lyhabc/p/3838764.html)MMM高可用mysql方案(http://blog.chinaunix.net/uid-20639775-id-3337488.html)MHA 高可用mysql方案(http://os.51cto.com/art/201307/401702_all.htm) ...

2015-01-22 23:00:53 188

原创 mysql binlog格式分析

一、Binlog类型binlog的格式有三种,这也反应了mysql的复制技术:基于SQL语句的复制(statement-based replication, SBR),基于行的复制(row-based replication, RBR),混合模式复制(mixed-based replication, MBR)。相应地,binlog的格式也有三种:STATEMENTROWMIXE...

2015-01-22 22:39:50 215

原创 ibatis使用

 int,double,float的处理:根据iBATIS官方文档介绍,因为在javaBean中如果属性为int ,double, float 时,不允许设置为NULL,可以采用一个"神奇数字"来代替属性中的NULL,如-9999. 数据存入数据库时,当检测到属性值为-9999时,Ibatis把空值存入数据库中. 数据从数据库中取出时,当数据库中该字段为NULL时,Ibatis给javaB...

2015-01-04 17:04:29 146

原创 java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x98",

数据库同步binlog出现以下错误: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x98",...' for column 'content' at row 1 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055) ...

2014-11-03 11:37:06 482

原创 Java并发编程(六)--Lock与Synchronized的比较

从代码层角度来说:Lock是基于在语言层面实现的锁,Lock锁可以被中断,支持定时锁,虽然我们总是在一个finally块中释放锁,但是其实我们可以很随意的释放锁,如果安全的话。Synchronized是基于JVM实现的,我们称之为对象的内置锁,Java中的每一个对象都可以作为锁。对于同步方法,锁是当前实例对象。对于静态同步方法,锁是当前对象的Class对象。对于同步方法块,锁是Synchon...

2013-03-27 20:13:31 509

原创 Java并发编程(五)--异步计算

表征异步计算的Future:Future接口有一个get方法,这个方法会执行到计算结束才返回,它可以被中断取消。从它的实现类来看FutureTask来看,其内部也有一个Sync的同步控制类,任务提交的时候会执行void innerRun() { if (!compareAndSetState(0, RUNNING)) re...

2013-03-26 16:37:15 170

原创 Java并发编程(四)--死锁

定义:一组进程或线程等待系统资源,而资源又被进程本身或者其他进程占用时就形成了死锁。死锁产生的四个必要条件:1)非抢占;2)持有并等待;3)互斥;4)循环等待; 死锁避免:在分配资源时检测分配该资源是否会造成死锁,如果会造成资源则拒绝分配并采取相应操作。死锁避免算法:如银行家算法。 死锁的消除:最简单的消除死锁的办法是重启系统。更好的办法是终止一个进...

2013-03-26 15:17:40 95

原创 Java并发编程(三)--并发数据结构

ConcurrentHashMap的设计实现为什么还需要ConcurrentHashMap,不是有了Hashtable吗。如果所有的事情都用Synchronized去解决,那么这个世界会变得很糟糕。ConcurrentHashMap最绝妙的地方是采用了锁分段技术,一种分而治之的策略,一个HashMap被分为了几个Segment,在每个Segment里面实行同步控制。对Concurr...

2013-03-24 20:33:16 144

原创 Java并发编程(二)--j.u.c锁机制

AQSjuc很多操作都是基于AQS(AbstractQueuedSynchronizer)不同于自旋锁,juc使用的是volatile机制的状态变量;内部也有一个阻塞线程的等待队列每个线程都被封装在一个Node结点中static final class Node { // 当前线程被取消 static final int CANCELLE...

2013-03-24 10:34:45 173

原创 Java并发编程(一)--volatile, CAS, Atomic变量

 JVM volatile语义:mark:(1)Java 内存模型不会对valatile指令的操作进行重排序:这个保证对volatile变量的操作时按照指令的出现顺序执行的。(2)volatile变量不会被缓存在寄存器中(只有拥有线程可见)或者其他对CPU不可见的地方,每次总是从主存中读取volatile变量的结果。也就是说对于volatile变量的修改,其它线程总是可见的,并...

2013-03-23 19:28:05 160

原创 Redis学习笔记

很久以前面试的时候跟某位亲说过会把自己对Redis分析的文档发布在博客里的,一直延误了这件事,主要一是自己的分析还没有结束,觉得许多东西还需要在实际运用中对使用下,二是自己最近专注分析Java的并发,现在发现自己比以前懒了很多,代码写的少,文档一篇都没记录。。。惭愧!源码针对Redis2.4版本,从以下几个方面进行了分析:一、Redis的配置及参数说明;二、Redis五大神器(...

2013-03-16 15:35:02 85

原创 win32内存对齐原则

       1、数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员的对齐按照#pragma pack指定的数值和这个数据成员自身长度中,比较小的那个进行。  2、结构(或联合)的整体对齐规则:在数据成员完成各自对齐之后,结构(或联合)本身也要进行对齐,对齐将按照#pragma pack指定的数值和结构(或联...

2013-03-04 22:34:27 253

原创 C专家编程学习笔记

发现自己博客很久没有更新了,贴篇几个月前的读书笔记。C专家编程,一本不错的介绍C语言的书,适合对C有初期了解的人读。 static: 变量在各个调用阶段保持延续性,函数只对该文件可见。extern: 函数全局可见,变量表示该变量在其他地方定义。 gets函数不检查缓冲区的空间,多读取的字符会重写入堆栈,可能导致堆栈错误。 函数中的变量是在堆栈中分配的,当函数调用结束...

2013-01-15 00:45:49 131

原创 风林岳麓

出入岳麓山的感觉真不一样,走出的时候感觉自己刚才像是进入了某个幻境,一时不能从那种魔幻中清醒过来。我以前是个很疏懒的人,懒得岳麓山就在我面前,而一年下来我只会去一两次。爬了十多次的岳麓山我才能写出点东西,才能感受到一点岳麓山的风韵。不知道是我的资质太愚钝,还是岳麓山本身就太厚重,承载了太多的文化与历史!也许我们很多已经被我们周遭的各种压得不能清醒,习惯了太多的课程,习惯了太多...

2012-10-16 23:51:38 147

原创 2012暑假金山快盘实习总结

实习两月有余,一直没什么总结,因为觉得自己没做什么,今天算自己最后一次上班,觉得做一件事必须有个结果,必须有个总结性的东西来标识一个结束,所以还是觉得要写点东西。我一直没有问我的Boss老盘,当初为什么要选我,为什么要给我机会,我觉得从一个程序员的角度来说我几乎没什么编码经验,虽然我在我的简历上也写了一些能体现自己特点的话,但我想那也不足以打动Boss,如果说是因为当初的那份答卷的话,我觉...

2012-09-07 22:14:32 537

原创 Linux 网络文件系统(NFS)简介及环境搭建

       Linux网络文件系统是实现网络文件共享的一项重要的服务,他是实现文件共享的一个重要的手段,他不仅可以实现不同主机之间的文件共享,而且可以实现不同操作系统之间,以及系列文件的文件共享,NFS让来自远程主机中的文件挂载到你的主机中使你可以向访问你自己机器中的文件一样访问远程主机中的文件.而且你可以在你的主机上使用常规的命令对文件进行操作。        在介绍实现NFS之前还需...

2012-08-15 18:40:28 331

原创 Base64加密解密java实现

关于Base64编码规则详情请看这里:http://baike.baidu.com/view/469071.htm 代码实现:/** * 实现Base64的编码以及解码; * @author dell * */public class SelfBase64 { /** * 码表; */ public static char[] enc...

2012-07-04 22:14:29 115

原创 Java实现基数排序

    在众多的排序方法中基数排序比较特殊,它是一种不需要进行关键字之间比较的排序方法,利用多关键字的划分,逐渐将待排序列排好序。举个例子:现在有数组:278,109,63,930,589,184,505,269,8,83第一次根据各位数将数组划分为10个队列(当然其中的某些队列可能不含有元素)0:9301:2:3:63,834:1845:5056:...

2012-03-23 16:19:29 270

原创 求解最大子序列和问题

原题:给定一个数组,其中元素有正,也有负,找出其中一个连续子序列,使和最大;不想说明什么,我们数据结构老师第一节课就给我们讲这个,以前给实现过一个暴力算法版的算法复杂度O(n2),现在实现一个动态规划版的;   /* * * 求解最大子序列和问题O(n)算法; * @param array */ public static void maxSub...

2012-03-17 01:12:40 101

原创 利用BitMap进行排序

    利用BitMap可以对某些数据进行排序,但是限制条件是必须实现知道数据的范围,而且不能重复,类似于桶排序,但是比桶排序更加节省内存。      原理很简单,就是设置数组某一位的数在BitMap中对应位为1,然后遍历数组就可以得到结果。这里以100以内的一个数组排序为例 例如数组:int[] array = { 6, 2, 8, 4, 33, 23, 99, 9 };...

2012-03-16 20:44:10 542

原创 各种常用排序算法分析

各种常用排序算法分析 一、选择排序很简单就是依次从要排序的数据中选择最小(大)的,第二小(大)的.........看代码: /** * 选择排序; * @param array * @param left * @param right */public static void selectSort(int[] array...

2012-03-16 01:51:02 111

原创 hadoop学习笔记(三)——MapTask和ReduceTask

MapTask和ReduceTask 我们知道每一个Task都对应着一个jvm的执行,但是每一个Task都是在Child进程中执行的!我们来看一下Child类的主方法(源代码)public static void main(String[] args) throws Throwable {    LOG.debug("Child starting"); final Jo...

2012-02-17 02:40:34 305

原创 hadoop学习笔记(二)——RPC代理机制解析

RPC/代理机制分析    在hadoop的通信机制中不得不提到rpc通信机制,Client与namenode,namenode与datanode,datanode之间很多通信都是基于rpc机制。提到RPC机制,其实根据我的理解,他就是一种代理,只不过它和我们平常的代理不同的地方是它是一种远程代理!首先介绍一下代理机制! 一、代理机制提到代理机制又不得不提到Java中的一个...

2012-02-13 21:53:34 133

原创 hadoop学习笔记(一)——hadoop运行源代码分析

 Hadoop运行流程分析源代码级    前言:    最近一直在分析hadoop的运行流程,我们查阅了大量的资料,虽然从感性上对这个流程有了一个认识但是我总是感觉对mapreduce的运行还是没有一个全面的认识,所以决定从源代码级别对mapreduce的运行流程做一个分析。    前奏:    首先从任务提交开始,如果我们使用的是job类的话那么提交任务的触发语句是     ...

2012-02-11 01:20:11 110

原创 Hadoop作业提交终极解决

    最近几天一直在纠结hadoop作业提交的问题,对于命令行提交作业以及在集群中提交作业这里不再赘述,不会就去Google吧!    我们在客户机提交作业的时候总是发现出错,eclipse总是报jar file not found 的错误!我们知道客户端提交任务的时候,使用方法job.setWaitForCompletion(true)的时候,这个方法会调用job的submit()方法...

2012-02-10 00:06:58 343

原创 hadoop实现简单的倒排索引

       最近在学习hadoop编程,在大概理解了wordcount之后又接触了一个叫倒排索引的东东,所以就用它来练练手吧!             首先介绍一下什么是倒牌索引!(以下请参考各种百科).       倒排索引,索引对象是文档或者文档集合中的单词等,用来存储这些单词在一个文档或者一组文档中的存储位置,是对文档或者文档集合的一种最常用的索引机制。由于不是根据文档所包含的内容,而...

2012-02-07 22:57:36 392

原创 hadoop集群搭建(二)——集群环境配置

团队力量让我们站在云端! 真的感觉团队的力量太强大了,整个集群配置能够顺利进行,完全是靠大家合作才能完成。我们确实有很多不明白的地方,但是我们的每一个人都敢于探索,敢于去实践,敢于去做各种尝试,最终的结果就是我们克服了各种困难完成了云端的搭建! 好了进入正题,假设每台机器都按照前一篇所属配置好了hadoop环境,那么接下来开始配置集群环境。  集群配置分为以下几个步...

2012-01-31 20:46:38 103

原创 hadoop集群搭建(一)——单机版配置

      这个寒假和团队一起历经千辛万苦,从一开始的迷茫,然后慢慢的摸索终于完成了我们的集群搭建,成功建立起一个小小的云端。 单机版hadoop的配置;   九死一生,完成hadoop的配置     在开始搭建集群之前我先开始配置单机版的hadoop,说起来真是足够的苦逼啊!虽然最后完成了配置但是这个过程中除了Ubuntu没有被卸载掉重装意外其他的从jdk到...

2012-01-21 17:24:59 132

原创 Java实现二叉排序树

   这是一个用Java做的二叉树排序!比较简单。/** * 二叉树排序--将一个整型数组中的元素存进二叉排序树中再查找元素; * @author luliangy * */public class BTsort { public static void main(String[] args) { //自定义一个整型的数组; int[]...

2011-11-19 11:48:37 313

原创 玩玩分形

      在做完画图板之后,就被胡哥忽悠着去做神马分形的东东,不过自己也确实被分形所展示的自然界的图形美所吸引。大家自己百度“分形”之后就会看到许多有趣而又神奇的图片,那些图片都是符合分形美的!分形美是一种异于对称美的自然的另一杰作 !           那么什么是分形呢?说的简单点就是“部分与整体以某种形式相似的形,称为分形。”这个定义虽然在真正的分形几何学的定义中也不是很确切,但是我觉...

2011-11-19 11:17:43 137

原创 二分搜索

二分搜索简单说就是在一个有序的数组中利用二分法的方法搜索我们需要的元素O(logn)。直接看代码! import java.util.Arrays;/*** 用java语言实现二分搜素* @author Administrator**/public class BianarySerch {public static void main(Str...

2011-10-19 23:13:17 65

原创 Java环境变量配置注意问题

首先jdk1.4之后只需要更改系统变量就可以了,双击系统变量path在变量值后面在输入框的最后面添加";盘符:\路径名\jdk版本\bin",然后一切就O了。不信你可以做一个简单的hello world试一试。而传统的jdk环境变量的配置方法为设置java_home,设置path,设置classpath1.新建系统变量java_home,然后输入jdk的路径;2.在系统变量path...

2011-09-27 22:58:42 129

空空如也

空空如也

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

TA关注的人

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