随笔分类 - java
1
摘要:1. zookeeper: 高可用性的分布式协调服务 分布式困难在于部分失败:消息传递过程中,到底接收方收到与否,无法确定下来,才有了tcp协议的3次握手这样比较复杂的协议2. zk的实例 可以讲zk看成是一个文件系统,这个文件系统文友目录跟文件,只有 节点的概念,znode这个节点既可以看做是一个service,包括db实例,thrift service,也可以看做是一个保存其他service的容器,所有的这些znode 构成了一个tree型的结构,而基本的zk操作就是在这些节点上面进行的,包括 create 组,删除组,加入组,列出组的成员等 关于znode:有2中不同的类型,短暂的和永.
阅读全文
摘要:1.Ubuntu下更换JDK 由于Ubuntu11.04默认安装的是open-JDK,但有的东西只支持sun-jdk.所以这里需要更换.大概如下命令: Java代码 //更换数据源sudoadd-apt-repository"debhttp://archive.canonical.com/lucidpartner"//更新数据源sudoapt-getupdate//安装sun-jdksudoapt-getinstallsun-java6-jdksun-java6-plugin//更改系统默认的JDKsudoupdate-java-alternatives-sjava-6-s
阅读全文
摘要:1、<script language="javascript" type="text/javascript">window.location.href="a.jsp?b="+window.location.href;</script>2、<script language="javascript">window.history.back(-1);</script>3、<script language="javascript">window
阅读全文
摘要:PHP伪造来源HTTP_REFERER的方法讨论可以用于 防止恶意的顶贴,限制同一时间内重复发贴如今网络上十分流行论坛自动发帖机,自动顶贴机等,给众多论坛网站带来了大量的垃圾信息,许多网站只是简单地采用了判断HTTP_REFERER的值来进行过滤机器发帖,可是网页的HTTP_REFERER来路信息是可以被伪造的。任何事物都是双面刃,只要你善于利用就有其存在价值。很早以前,下载软件如Flashget,迅雷等都可以伪造来路信息了,而这些软件的伪造HTTP_REFERER大多是基于底层的sock来构造虚假的http头信息来达到目的。本文就纯粹从技术角度讨论一下,php语言下的伪造HTTP_REFER
阅读全文
摘要:JSP根据IP段跳转不同页面的问题String remoteHost = request.getRemoteHost(); 得到ip地址,并对ip访问进行限制:public String getIpAddr(HttpServletRequest request) { String ip = request.getHeader("x-forwarded-for"); if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader(..
阅读全文
摘要:http://api.t.sina.com.cn/statuses/followers/『uid』.json?source=1610801709&&cursor=1&&count=10Response response = weibo.getFollowers2(); // System.out.println(response); String str = response.asString(); // System.out.println(str); JSONObject...
阅读全文
摘要:项目中有一个 alert乱码问题,按照网上的方法改了很久不没反应,结果最终突然灵机一动想到了服务器的编码,结果ok了 ,花了好长时间阿,囧虽然项目全部采用了UTF-8编码,所有的源文件*.java,*.jsc,*.html,*.ftl都采用了UTF-8编码。可是还是出现了乱码问题。很是不爽,后来找到了tomcat,和resin的配置。Tomcat的配置。(conf/server.xml)<!--</span><span style="COLOR: rgb(0,128,0)">Defineanon-SSLHTTP/1.1Connectoronpo
阅读全文
摘要:Form中的get和post方法,在数据传输过程中分别对应了HTTP协议中的GET和POST方法。二者主要区别如下:1、Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据。2、 Get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用 “&”连接;Post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL。3、 Get是不安全的,因为在传输过程,数据被放在请求的URL中,而如今现有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志
阅读全文
摘要:ubuntu 11.10 安装 java环境声明:一下内容主要来自网络,本来在此基础上根据自己的成功经验做了一些浅陋的(但有价值的)备注说明和修改。(本人也是ubuntu 11.10版本,但是是64位的,因此安装的java也是64位版本。)升级到ubuntu 11.10之后,由于库里没有sun-java6-jdk,需要自行安装。因此,到Oracle网站下载了Java 6u27(为什么不下java7呢?因为目前支持的软件不多,另外如果真要的话,也可以很方便的切换到Java7),然后就可以开始手动安装了。java jdk与jre的地址分别是:http://www.oracle.com/techne
阅读全文
摘要:若要生成一个名为cal.jar的可执行jar文件:(文件名可以是任意合法名字)(这是我认为简单实用的一种方法,还有很多别的方法在此就不介绍了)第一把程序生成的所有字节码文件(即.class文件)放在同一个目录下(如:D:/chat/).第二在该目录下新建一个manifest.mf文件,文件内容格式如下(划线中内容):manifest.mf文件中的格式:--------------------------------Main-Class:calDemo--------------------------------注意:calDemo代表主类名(即要运行的类名,只能有一个,不要文件扩展名)Mai
阅读全文
摘要:js函数集·字符串(String) 1.声明 var myString = new String("Every good boy does fine."); var myString = "Every good boy does fine."; 2.字符串连接 var myString = "Every " + "good boy " + "does fine."; var myString = "Every "; myString += "good bo
阅读全文
摘要:一、假设你的表格有A、B、C三列数据,希望导入到你的数据库中表格table,对应的字段分别是col1、col2、col3二、在你的表格中增加一列,利用excel的公式自动生成sql语句,具体方法如下:1、增加一列(假设是D列)2、在第一行的D列,就是D1中输入公式: =CONCATENATE("insert into table (col1,col2,col3) values ('",A1,"','",B1,"','",C1,"');")3、此时D1已经生成了如下的s
阅读全文
摘要:Java代码 publicbooleanvd(Stringstr){char[]chars=str.toCharArray();booleanisGB2312=false;for(inti=0;i<chars.length;i++){byte[]bytes=(""+chars[i]).getBytes();if(bytes.length==2){int[]ints=newint[2];ints[0]=bytes[0]&0xff;ints[1]=bytes[1]&0xff;if(ints[0]>=0x81&&ints[0]<=
阅读全文
摘要:背景:在做Java开发的时候,常常会出现一些乱码,或者无法正确识别或读取的文件,比如常见的validator验证用的消息资源(properties)文件就需要进行Unicode重新编码。原因是java默认的编码方式为Unicode,而我们的计算机系统编码常常是GBK等编码。需要将系统的编码转换为java正确识别的编码问题就解决了。1、native2ascii简介:native2ascii是sun javasdk提供的一个工具。用来将别的文本类文件(比如*.txt,*.ini,*.properties,*.java等等)编码转为Unicode编码。为什么要进行转码,原因在于程序的国际化。Unic
阅读全文
摘要:1. 适配器适配器有3种,一种对象适配器,类适配器,缺省适配器其中缺省适配器 以一个 abstract 的class 实现接口的所有方法,是一个空class ,而所需要的类只需要实现他们自己需要的方法package adapter;//这是所谓的缺省适配器模式,是使用一个抽象类实现了所有的接口方法public interface IFood{ public void getApple(); public void getBanana(); public void getBread();} package adapter;public class FoodImpl imple...
阅读全文
摘要:1. Java实现interface NetWork{ public abstract void browser();}class Real implements NetWork{ @Override public void browser() { // TODO Auto-generated method stub System.out.println("浏览信息"); }}public class designpattern_proxy implements NetWork{ private NetWork newwork; ...
阅读全文
摘要:0 转自 http://www.cnblogs.com/rollenholt/archive/2011/08/28/2156357.html(1)Java中每个程序至少启动2个线程,一个main线程,一个垃圾回收线程,(2)判断线程是否启动的方法: isAlive()(3) 线程的强制执行: join()(4) 线程的休眠: sleep()Thread.sleep(2000);(5)demo.interrupt();//2s后中断线程(6)demo.setDaemon(true); //后台运行线程(7)h1.setPriority(8);//线程的优先级,优先级的高低与谁 先执行 还不是必然
阅读全文
摘要:0 整理自网络1. Java版(转) 要比较的对象必须实现Comparable接口,重写compareTo 方法,Java在红自带有优先级队列的实现PriorityQueueQueue<ToDoItem> q = new PriorityQueue<ToDoItem>();import java.util.Collections;import java.util.PriorityQueue;import java.util.Queue;public class ToDoItem implements Comparable<ToDoItem>{ private
阅读全文
摘要:属于转贴一、 Bloom-Filter算法简介。 Bloom-Filter,即布隆过滤器,1970年由Bloom中提出。它可以用于检索一个元素是否在一个集合中,其优点是空间效率和查询时间都远远超过其他算法,其不足在于Bloom- Filter存在着误判。二、 Bloom-Filter的基本思想。 Bloom-Filter算法的核心思想就是利用多个不同的Hash函数来解决“冲突”。 计算某元素x是否在一个集合中,首先能想到的方法就是将所有的已知元素保存起来构成一个集合R,然后用元素x跟这些R中的元素一一比较来判断是否存在于集合R中;我们可以采用链表等数据结构来实现。但是,随着集合R中元素的增加,
阅读全文
摘要:转自:http://www.iteye.com/topic/692103原理:将Cache的所有位置都用双连表连接起来,当一个位置被命中之后,就将通过调整链表的指向,将该位置调整到链表头的位置,新加入的Cache直接加到链表头中。这样,在多次进行Cache操作后,最近被命中的,就会被向链表头方向移动,而没有命中的,而想链表后面移动,链表尾则表示最近最少使用的Cache。当需要替换内容时候,链表的最后位置就是最少被命中的位置,我们只需要淘汰链表最后的部分即可。 帅!import java.util.Hashtable;/* * 来源于: http://www.iteye.com/topic/69
阅读全文
1