- 博客(115)
- 资源 (5)
- 问答 (1)
- 收藏
- 关注
转载 Java并发编程:Callable、Future和FutureTask
Java并发编程:Callable、Future和FutureTask 在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。 而自从Jav
2015-04-24 14:02:57 728
转载 SynchronousQueue/BlockingQueue/ArrayBlockingQueue区别
听说JDK6对SynchronousQueue做了性能优化,避免对竞争资源加锁,所以想试试到底平时是选择SynchronousQueue还是其他BlockingQueue。对于容器类在并发环境下的比较,一是是否线程安全,二是并发性能如何。BlockingQueue的实现都是线程安全的,所以只能比比它们的并发性能了。在不同的应用场景中,对容器的使用情况不同,有的读取操作多修改
2015-04-24 10:51:03 3095
转载 MYSQL管理之主从同步管理
MYSQL管理之主从同步管理MYSQL主从同步架构是目前使用最多的数据库架构之一,尤其是负载比较大的网站,因此对于主从同步的管理也就显得非常重要,新手往往在出现主从同步错误的时候不知道如何入手,这篇文章就是根据自己的经验来详细叙述mysql主从的管理。MYSQL主从同步的作用(1) 数据分布(2) 负载平衡(load balancing)(3) 备份(4) 高可用性(hig
2015-04-22 15:52:12 516
原创 单项加密算法
BASE64编码算法不算是真正的加密算法。 MD5、SHA、HMAC这三种加密算法,可谓是非可逆加密,就是不可解密的加密方法,我们称之为单向加密算法。我们通常只把他们作为加密的基础。单纯的以上三种的加密并不可靠。 BASE64 按照RFC2045的定义,Base64被定义为:Base64内容传送编码被设计用来把任意序列的8位字节描述为一种不易被人直接识别的形式。(The B
2015-03-31 15:46:55 890
转载 JVM实用参数(七)CMS收集器
HotSpot JVM的并发标记清理收集器(CMS收集器)的主要目标就是:低应用停顿时间。该目标对于大多数交互式应用很重要,比如web应用。在我们看一下有关JVM的参数之前,让我们简要回顾CMS收集器的操作和使用它时可能出现的主要挑战。就像吞吐量收集器(参见本系列的第6部分),CMS收集器处理老年代的对象,然而其操作要复杂得多。吞吐量收集器总是暂停应用程序线程,并且可能是相当长的一段时间,
2015-03-30 11:26:25 616
原创 TCP粘包问题解决
出现粘包的情况如下:比如你一次性接收固定 BUF 大小的数据(比如1024字节) 尤其是在处理 iocp 接收数据的时候,发送端的一个数据包可能没有1024字节大小,比方说发送聊天内容,一个聊天内容即一个数据包,1024字节就可能包含很多个数据包,第二次接收固定BUF大小的数据的时候,就可能会出现了粘包,半包问题! ==》 这种情况就必须要做粘包,半包处理了!!该固定BUF
2015-03-27 17:55:54 1053
原创 JVM堆内存相关的启动参数:年轻代、老年代和永久代的内存分配
如果想观察JVM进程占用的堆内存,可以通过命令工具jmap或者可视化工具jvisualvm.exe。JVM这些启动参数都拥有默认值,如果想了解JVM的内存分配策略,最好手动设置这些启动参数。再通过JDK提供的工具的统计结果,进行对比,就比较容易理解这些内存分配的理论知识。运行环境是win7 32位操作系统,JDK1.7.0_60版本。测试代码和JVM启动参数如下:?
2015-03-27 15:38:48 3251
原创 ParNew收集器
3.4.2 ParNew收集器ParNew收集器其实就是Serial收集器的多线程版本,除了使用多条线程进行垃圾收集之外,其余行为包括Serial收集器可用的所有控制参数(例如:-XX:SurvivorRatio、 -XX:PretenureSizeThreshold、-XX:HandlePromotionFailure等)、收集算法、Stop The World、对象分配规则、回收策略等
2015-03-27 14:57:56 1320
原创 Java GC、新生代、老年代
堆内存 Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象。在 Java 中,堆被划分成两个不同的区域:新生代 ( Young )、老年代 ( Old )。新生代 ( Young ) 又被划分为
2015-03-27 11:49:00 4918
原创 heap和stack有什么区别
heap 堆(dui) stack 栈(zhan) h比s先 d比z先 所以 堆栈的记忆按照他们的首字母的顺序即可。堆栈 heap stack1.heap是堆,stack是栈。2.stack的空间由操作系统自动分配和释放,heap的空间是手动申请和释放的,heap常用new关键字来分配。3.stack空间有限,heap的空间是很大的自由区。在Java中,
2015-03-27 11:36:10 4259
原创 rabbiMQ安装
2. ubuntu下rabbitMQ安装 2.1 添加以下地址到该文件 /etc/apt/sources.list: deb http://www.rabbitmq.com/debian/ testing main 2.2 (optional) To avoid warnings about unsig
2015-03-23 18:07:00 694
原创 Rabimq安装
官网:http://www.rabbitmq.com在一台测试机上安装,系统为CentOS 5.7. 参考:http://www.rabbitmq.com/install-rpm.html必须先安装Erlang。rabbitmq 官网说,对于RHEL及其衍生出来的系统,强烈建议用 packaged version of Erlang。启用EPEL: (根据版本不同的。 centos
2015-03-23 18:04:22 613 4
转载 MySQL分表实现上百万上千万记录分布存储的批量查询设计模式
MySQL分表实现上百万上千万记录分布存储的批量查询设计模式Tim http://hi.baidu.com/jabber/blog/category/Mysql我们知道可以将一个海量记录的 MySQL 大表根据主键、时间字段,条件字段等分成若干个表甚至保存在若干服务器中。唯一的问题就是跨服务器批量查询麻烦,只能通过应用程序来解决。谈谈在Java中的解决思路。其他语言原理类似。
2015-03-18 17:19:40 2493
原创 编写第一个ice程序
interface Printer{ void printString(string s);};我们把这段文本保存在叫作 Printer.ice 的文件中 生成c++文件$ mkdir generated$ slice2java --output-dir generat
2015-03-12 18:34:51 769
原创 消息组件-RabbitMQ
centOS rabbitMQ安装 http://reform.mop.com/wiki/display/Maintain/RabbitMQ 2. ubuntu下rabbitMQ安装 2.1 添加以下地址到该文件 /etc/apt/sources.list: deb http:
2015-03-10 14:23:34 1033
原创 快速上手mlcs-ice分布式工具
前言: 使用ICE不用写slice了,很开心吧!虽然不用写slice文件,但得写客户端的哦 mlcs-ice是ICE的底层消息通讯封装,让java开发人员摆脱ice底层的消息通讯细节,直接支持javabean和原生类型的数据传递 好了,废话不多说,现在看看如何来做这些后续的操作吧!步骤: 1、在maven工程的pom.xml文件
2015-03-10 14:21:07 1687
原创 Linux下安装ICE
一、下载: Ice-3.4.2.tar.gz源码安装包 : wget http://download.zeroc.com/Ice/3.4/Ice-3.4.2.tar.gz 第三方依赖库:wget http://download.zeroc.com/Ice/3.4/ThirdParty-Sources-3.4.2.tar.gz 二、解压:
2015-03-10 14:20:46 6838 6
原创 要学习的技能
10. 基础服务技术1.mysql数据库replication结构2. Ice 平台化开发框架Linux下安装ICE快速上手mlcs-ice分布式工具快速上手mlw-commons-ice工具用户ICE编写Hello world程序
2015-03-10 14:17:18 491
原创 redis 安装
InstallationDownload, extract and compile Redis with:$ wget http://download.redis.io/releases/redis-2.8.19.tar.gz$ tar xzf redis-2.8.19.tar.gz$ cd redis-2.8.19$ makeThe binaries that are
2015-03-02 16:17:54 497
原创 点赞功能程序设计
不太推荐LS用HASH来存储点赞的数据. 因为没办法进行排序(如果需要的话. 我想一定需要)目前 我们是这样处理的.可以使用ZSET有序集合进行存储. 理论上说一个ZSET中, 10W以内的数量并无任何鸭梨. 也就是说一条微博点赞的人数再10W以内(这是不可能的).$redis->ZADD("t:$tid:liked", time(), $uid); //$tid 为你的微博I
2015-02-28 14:51:03 6005 1
原创 kindEditor 乱码解决
修改tomcat的server.xml配置增加红色字体useBodyEncodingForURI="true" URIEncoding="UTF-8"port="8089" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
2015-02-27 17:11:26 3949
转载 LINUX FTP安装与配置
1.安装vsftpd Xml代码 yum install vsftpd 2.启动/重启/关闭vsftpd服务器 Xml代码 [root@localhost ftp]# /sbin/service vsftpd restart Shutting down vsftpd: [ OK ] Starting vsftpd for vsftpd: [
2015-02-11 09:48:00 401
原创 flume
Flume是一个分布式、可靠、和高可用的海量日志聚合的系统,支持在系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
2014-09-18 15:04:43 611
原创 代码整洁之道
今天又看了《代码整洁之道》这本书的第一章,以前一直以为代码整洁就靠方法的命名,对象的抽离设计,这些都是整洁的一些手段。真正的是你在意你的代码,才会有不断的删减冗余,才能达到你心想的整洁。
2013-11-07 10:48:04 543
转载 mysql服务器查询慢原因分析与解决方法
mysql服务器查询慢原因分析与解决方法www.111cn.net 2012-04-16 编辑:xiewen 在开发的朋友特别是和mysql有接触的朋友会碰到有时mysql查询很慢,当然我指的是大数据量百万千万级了,不是几十条了,下面我们来看看解决查询慢的办法。会经常发现开发人员查一下没用索引的语句或者没有limit n的语句,这些没语句会对数据库造成很大的影响,例如一个几千万条记录的大表要
2012-07-25 10:29:28 1548
转载 get,post数据长度的限制
get,post数据长度的限制这个问题在我的开发中也遇到,所以在此贴出来(也是在网上搜出来的,呵呵)这是原贴地址http://blog.csdn.net/somat/archive/2004/10/29/158707.aspx两个长度限制问题的分析(来源于项目) 一、问题起因在某项目释放后Bug统计的附件《释放后问题》里有: 问题 原因 分析 备注
2012-04-23 10:46:48 618
转载 软件测试之一个安全测试的checklist
软件测试之一个安全测试的checklist来源: 作者: 发表时间:2009-04-22 08:47 点击:296次获取本文网址二维码 软件测试checklist软件测试工具电信测试游戏测试安全测试本地化测试手机测试Web测试其它相关软件测试工程师入门软件测试外包测试模板金融测试嵌入式测试云测试软件测试工程师职业发展单元测试功能测试测试用例性能测试自动测试测试管理缺陷管理测试认证敏捷测试 1. 不
2012-03-21 15:37:15 2483 1
转载 如何在junit中判断指定异常的抛出
jUnit4.5 idiomatically to test that come code throws an exception?While I can certainly do something like this:http://blog.sina.com.cn/s/blog_62d0d67b0100twq2.html @Testpublic void testF
2012-03-15 14:07:48 2961
转载 解决struts2get请求乱码问题
package cn.itcast.pub; import java.io.IOException; import java.util.Map; import java.util.Set; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.ser
2012-02-17 14:09:49 4024 2
转载 TCP Socket服务器编程
经过一年时间的沉淀 再次回首 TCP Socket服务器编程------------------前言------------------开发了这么多年,发现最困难的程序开发就是通讯系统。 其他大部分系统,例如CRM/CMS/权限框架/MIS之类的,无论怎么复杂,基本上都能够本地代码本地调试,性能也不太重要。(也许这个就是.net的
2012-01-11 00:18:02 705
原创 oracle表被锁,解锁方法
select a.sid,a.type,a.id1,c.object_name,b.username,a.lmode,B.MACHINE,D.SPIDfrom v$lock a,v$session b,all_objects c,V$PROCESS Dwhere a.sid=b.sid and a.type in ('TM','TX')and c.object_id=a.id1AN
2011-12-21 09:24:15 465
转载 Findbugs是一个静态分析工具
Findbugs是一个在java程序中查找bug的程序,它查找bug模式的实例,也就是可能出错的代码实例,注意Findbugs是检查java字节码,也就是*.class文件。其实准确的说,它是寻找代码缺陷的,很多我们写的不好的地方,可以优化的地方,它都能检查出来。例如:未关闭的数据库连接,缺少必要的null check,多余的 null check,多余的if后置条件,相同的条件分支,重复的代码块
2011-12-07 14:08:13 3320
转载 oracle 序列 增长到 指定值
当用数据库移植工具进行数据转移的时候,需要更新oracle的序列到指定的值才能正常使用,现在我用存储过程实现,以备以后使用。1. 创建存储过程create or replace procedure ChangeSequenceProc isi number(8);s number(8);beginfor i in 1..10000 loop SELECT hibe
2011-12-06 11:10:50 2432
行政区划SQL角本|全国|省市县
2011-08-02
GG主题symbian版 3.0系列 320×240
2008-05-07
GG主题symbian版 3.0系列 176×208
2008-05-07
GG主题Symbian S60 2.0系列 176×208
2008-05-07
GGLIVE-GGLIVE
2008-04-19
对于http中讲的盲中继理解不了。
2014-08-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人