自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (2)
  • 收藏
  • 关注

原创 [沧海拾遗]nginx反向代理和负载均衡

今天收到一个需求,集群A上的一个页面中要调用B集群的一个ajax接口,然后这个ajax接口需要从cookie中取到session id去取session信息,但是这个cookie在调用集群B的登录时会写到集群B的域名下,因此集群A上的页面无法取到。而A、B两个集群都是nginx+tomcat的架构。想了一下,觉得可以通过nginx的反向代理和负载均衡来解决这个问题。如果A集群页面url中的

2013-11-28 20:08:37 1058

原创 [举重若轻]html5 history api实现单页面结构

为了提高wap页面的响应速度,以及减少用户的流量,无线端越来越多地开始采用"单页面结构"。所谓的单页面结构就是指多个页面间切换时,不刷新当前整个页面,而是更新页面中的某些需要更新的dom节点;并且在通过点击跳加载另一个页面内容时,要相应地改变地址栏中的url。要做到页面内容的无刷更新并不困难,使用ajax或者jsonp等技术就可以实现。而本文主要介绍如何在点击后页面无刷地来改变地址格栏的url。

2013-11-26 16:42:02 7326 3

原创 [沧海拾遗]applet在web容器中的部署

将一个applet部署到web应用中,首先在html端很简单,只要在html嵌入如下的applet代码即可:但是这个时候要把TestApplet.jar部署到哪呢?假设上面的html页面的访问url为如下:http://XXXXX/path/test.html而applet在执行时需要去下载对应的jar包,而这个jar的下载地址由两个来决定,当前的url路径和codebas

2013-07-12 17:30:33 1540 1

原创 [沧海拾遗]applet本地web开发例子

最近想做一个应用,需要用到本地的tcp服务,因此就想通过applet来实现。骤然发现,虽然用java开发web这么多年,用applet估计还是在上学期间。记录下一个简单的开发例子:写一个applet类 import java.applet.Applet; import java.awt.Button; import java.awt.event.ActionEvent

2013-06-27 18:28:23 835

原创 [抢海拾遗]java并发之线程中断

java线程启动比较容易,但是要停止却比较麻烦。JAVA在线程设计之初设计了大量的方法来控制线程的状态,如start、suspend、resume、stop、destroy等操作。后来由于在多线程开发环境中各种并发问题而被deprecated了。本文主要介绍一些线程的stop方法以及正确的中断线程方法。Thread.stop在一开始使用java时,要停止一个线程,有可能会误用线程的

2013-06-27 17:03:20 1208

原创 [举重若轻]Debian下android真机调试

Linux下android连真机设备经常显示设置名为”??????”,并且查看设备时也出现”????????? no permission”,并且导致连上不真机,无法调试。google了一下,解决方法如下: 1. 进入root用户(在debian下好像必须是在root用户下才行,使用sudo也不行)2. 关闭服务./adb kill-server3. 重启服务./adb sta

2013-06-18 18:33:38 900

原创 [沧海拾遗]java并发之Executor

java自1.5以来加入了处理一批线程的方法,也就是java并发包里的Executor。本文主要介绍ExecutorService的用法,Runable和Callable的用法以及ExecutorCompletionService的用法。 使用Executor来执行多个线程的好处是用来避免线程的创建和销毁的开销,以提升效率。因此如果某些场景需要反复创建线程去处理同类事务的话,可以考虑使用线程池

2013-06-06 11:27:58 3865

原创 [沧海拾遗]java并发之CountDownLatch、Semaphore和CyclicBarrier

JAVA并发包中有三个类用于同步一批线程的行为,分别是CountDownLatch、Semaphore和CyclicBarrier。CountDownLatchCountDownLatch是一个计数器闭锁,主要的功能就是通过await()方法来阻塞住当前线程,然后等待计数器减少到0了,再唤起这些线程继续执行。 这个类里主要有两个方法,一个是向下减计数器的方法:countdown()

2013-06-03 19:30:36 9839

原创 [沧海拾遗]读<Linux/Unix设计思想>个人所思

<Linux/Unix设计思想>一书主要介绍了unix系统设计中的一些原则,其中包含了九个主原则和十个原则。九大主原则SMALL即“小即是美”。小则灵活,并易于改变去适应变化。而大则牵一发而动全身,一旦改变就会伤筋动骨。说到这个原则,就想起我们it界那个长久以来口口相传的笑话,说工程师老是被pd说改需求改需求,从而狂燥甚至发狂。笑一笑后,是不是该想一想,之所以出现这么难以改变的

2013-05-23 09:31:48 1046

原创 [举重若轻]gnome3远程桌面nx安装

debian 7 开始默认安装gnome 3,这给很多使用nomachine来远程Linux的人带来了很大的不便.目前nomachine的所有版本对gnome3的支持都不是很好。 后来无意间发现了一款nomachine的客户端开源软件,安装好后居然能够显示gnome 3,真是神奇的事情。这个软件的名字叫opennx。大家可以google一 下找到软件,然后安装,但是安装好后发现始终无法将服务器端的

2013-05-22 13:45:07 3957

原创 [举重若轻]android开发环境

adt安装在http://developer.android.com/sdk/index.html下载包。由于本人机器上安装的是64位的debian系统,因此下载好解压开来执行时会有问题,会报如下错误:Unexpected exception ‘Cannot run program “/home/android/sdk/platform-tools/adb”: java.io.IO

2013-05-22 13:43:57 1764

原创 [举重若轻]debian安装无线网络设置

debain的网络设置不像ubuntu一样,会由系统来自动设置,需要我们手工配置配置文件,来进行连接。debian中的网络配置方法如下(以无线网络为例,无线网络id为wlan0):编辑/etc/network/interface,加入如下内容:auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wi

2013-05-22 13:42:20 18121 3

原创 [举重若轻]python+django+mysql web开发入门学习之orm

django中有一套类似于hibernate的orm框架,方便来处理与数据库相关的事务。要使用这个orm框架,首先需要设置好mysql的连接参数,在settings.py中有一个DATABASES的配置项,详情如下:DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # Add 'postgr

2013-01-30 15:17:51 4529

原创 [举重若轻]python+django+mysql web开发入门学习之动态模板

很多时候,我们要将后台处理的数据回显到页面上,显然用纯静态的html不可能实现,需要与一种模板语言结合,来实现动态回显,在django中内置有这样的动态模板,比如我们之前的hello world,我们可以如下改造:from django.http import HttpResponsefrom django.template import Context, Templatedef h

2013-01-30 14:30:37 4033

原创 [举重若轻]python+django+mysql web开发入门学习之hello world

创建项目部署好环境之后,要开发一个web程序,首先我们要建立一个项目:django-admin.py startproject mysite如果系统找不到django-admin.py命令,可以到python的bin目录下查找。这个命令会创建一个项目目录mysite,它下面的目录详情如下:├── manage.py└── mysite ├── __init__.py

2013-01-30 11:33:55 2442 1

原创 [举重若轻]python+django+mysql web开发入门学习之环境搭建

安装python:sudo apt-get install python安装django:下载地址:https://www.djangoproject.com/download/ ,或者直接使用wget:wget https://www.djangoproject.com/download/1.4.3/tarball -O Django-1.4.3.tar.gz

2013-01-30 10:55:57 4182

原创 [举重若轻]ajax打开新窗口实现

最近开发中碰到一个问题,有一场景需要在ajax验证通过后在新窗口打开一个url。一开始通过在异步回调函数中使用window.open()来实现,但是发现这种实现方式会被浏览器拦截,需要用户进行浏览器设置才能打开,但是这显然不适合在互联网应用中对用户做这个限制。因此就想有没有什么办法来解决?        首先的一个想法是js打开一个新窗口不行,有可能是浏览器对于js直接打开新窗口有安全限制,那

2013-01-10 14:47:43 15952

原创 [N天一练]java exception

java exception是java有别于其他语言的一个重要特性,在平时的工作中相信大家经常会用到,目前大家对于exception的使用也存在各种各样的争议,最近有时间整理了一下。我们知道exception在java中的体系结构:               无论是error还是exception都继承自Throwable类。        Error往往是一些合理程序不能截获的严重

2012-11-01 19:16:47 803

原创 [N天一练]打造自己的chrome

chrome有两种方式可供我们使用来扩展chrome的功能,一种是扩展程序,一种是js脚本。这两种扩展方式能使我们开发出一系列的便利的工具。        首先讲一讲chrome扩展程序开发。前些日子搞了一个https服务器,但是发现swithysharp下的手动配置中,配置了https代理不可用,于是就想了解一下chrome的扩展程序到底是如何实现的。        要开发一个chrom

2012-09-05 23:07:18 3859

原创 [N天一练]node.js搭建https代理服务器

前段时间看到一篇文章:http://www.sunchangming.com/blog/?p=4325 。文章里讲到如果通过node.js来搭建https代理服务器,看了之后自己动手试了试,发现文档写得不是太详细,导致很多地方都需要自己费力去查资料,在此将自己的搭建过程记录一下。        google的chrome以及firefox(11以上)浏览器内置了对基于ssl加密的代理支持,我们

2012-08-30 18:28:25 12258

原创 [N天一练]java io package

从学习java以来,一直感觉jdk中的IO包是一个乱七八糟的包,里面堆积着无数的input、output,眼花缭乱。而使用的时候也经常是“圆环套圆环”式的,曾经愤愤地想这坑爹的设计让我们自己去记忆?最近闲来无事突然想了解为什么在打开一个io时一定要在finnally里将其关闭时,才想到应该好好梳理这部分的内容。        细了解之后发现java io包中的类体系其实还是比较好理解,只要明白

2012-08-13 16:58:13 2954

原创 [小技巧]分批取数据库数据

在有些业务场景中需要分批去取数据库表中的全部数据来进行处理,最简单的方法就是使用分页查询语句(偷懒以mysql为例):select * from datatable limit offset,amount        这里就会有一个问题,随着offset值的越来越大,这条sql要扫描的表数据就会越来越多,因为要定位到offset这一行就需要扫描比offset小的所有行。显然在一张

2012-07-30 15:14:45 16474 3

原创 [N天一练]java annotation

一般在平时的编码中,我们很少会用到annotation,而一些java框架渐渐开始使用annotation来使框架的配置、开发更趋简洁和方便。之前总是很奇怪到底在annotation中做了些什么 事情,可以实现这么有趣的功能。一起想了解一下,由于工作中实在很少会用到,因此才搁置到今天,来学习一下annotation的使用,仅写一些自己实践的代码,并没有深入地去详解其中的原理。        新

2012-07-30 14:50:28 2759

原创 memcached缓存失效时的高并发访问问题解决

memcached一般用于在访问一些性能相对低下的数据接口时(如数据库),为了保证这些数据接口的稳定性,加上memcached以减少访问次数,保证这些数据接口的健壮性。一般memcached的数据都是定时失效的,当数据失效时一般会再次去访问取数据接口,然后将其更新至memcached中。这时就会有一个问题,当某个数据失效时,恰好同时有大量的客户端访问该数据,这时这些客户端都会发现该数据失效,然后都

2012-06-01 17:01:21 10970 1

原创 groovy安装及一些特性思考

安装:http://groovy.codehaus.org/Download 下载binary版本解压后设置GROOVY_HOME为你解压的地址,PATH为GROOVY_HOME/bin执行groovysh看能否进行groovy命令行模式,或者groovyConsole进行交互模式eclipse插件安装:http://groovy.codehau

2012-05-18 14:31:18 664

原创 [node.js]环境搭建(windows)

一、node.js安装http://nodejs.org/#download下载操作系统对应的安装包,安装即可。二、node.js测试新建服务器端代码(sample.js):var http = require('http');http.createServer(function (req, res) { res.writeHead(2

2012-05-14 11:01:18 1691

原创 [android之旅]环境搭建中的一些问题

Android的安装可以参考文章:http://developer.android.com/sdk/index.html   ,linux、windows下均可。问题1:只有linux32位的sdk包,linux64位如何安装?首先安装安装ia32位库:sudo apt-get install ia32-libs ,然后再安装sdk即可。问题2:android sd

2012-04-05 15:57:53 708

原创 [debian安装]swap区设置

一、新增swap区1、创建一个 文件作为swap区:dd if=/dev/zero of=/swapfile1 bs=1024 count=524288名字为/swapfile1  大小为bs*count = 1024*524288=512M2、将其转化为swap文件:mkswap /swapfile13、将其改为只有root权限才能修改:# chown root:ro

2012-04-01 13:30:14 6123

原创 [debian安装]wget/curl无法在gnome使用

在terminal中输入命令--wget www.XXX.com,返回错误如下:--2012-03-21 14:43:43-- http://www.XXX.com/Resolving 10 (10)... 0.0.0.10Connecting to 10 (10)|0.0.0.10|:8080... failed: Invalid argument在terminal中输入命

2012-03-21 15:58:24 2500

原创 [debian安装]termial在gnome中无法真透明

1、安装一个类似于windows中注册表的工具--gconf-editor,其对应的配置文件在~/.gconf/下sudo apt-get install gconf-editor2、然后使用命令gconf-editor打开注册表3、找到/apps/metacity/general/compositing_manager4、勾选此项--OK!

2012-03-19 16:55:28 851

原创 java源码笔记之String

String不是一个基本类型,而是一个final class,它的主体是由一个char数组组成,而这个char数组和其它的field都是final的,因此是不允许改变的。这种设计有其使用的好处,比如可以当单例对象来共享数据等;但是同样在一些场景中也会带来不便,比如说当你想在一个字符串后加上一个字符串时。主要是因为当你要往一个字符串后加上一段字符串时,字符串并不是去改变char数组,增大其容量,然后

2012-02-12 21:30:08 481

java NIO清晰版

java NIO清晰版

2012-04-23

空空如也

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

TA关注的人

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