几招让你的Tomcat在生产环境上表现更好
iOS网络编程
使用NSOperation和NSOperationQueue启动iOS多线程
在app store中的很多应用程序非常的笨重,他们有好的界面,但操作性很差,比如说当程序从网上或本地载入数据的时候,界面被冻结了,用户只能等程序完全载入数据之后才能进行操作。
当打开一个应用程序时,iphone会产生一个包含main方法的线程,所用程序中的界面都是运行在这个线程之中的(table views, tab bars, alerts…),有时候我们会用数据填充这些view,现在问 题是如何有效的载入数据,并且用户还能自如的操作程序。方法是启动新的线程,专门用于数据的下载,而主线程不会因为下载数据被阻塞。
不管使用任何编程语言,在实现多线程时都是一件很麻烦的事情。更糟糕的是,一旦出错,这种错误通常相当糟糕。然而,幸运的是apple从os x10.5在这方面做了很多的改进,NSThread的引入,使得开发多线程应用程序容易多了。除此之外,它们还引入了两个全新的类,NSOperation和NSOperationQueue。
接下来我们通过一个实例来剖析如何使用这两个类实现多线程。这里指示展示这两个类的基本用法,当然这不是使用他们的唯一办法。
Java Socket编程中加入代理
有些时候我们的网络不能直接连接到外网, 需要使用http或是https或是socket代理来连接到外网, 这里是java使用代理连接到外网的一些方法,:方法一使用系统属性来完成代理设置, 这种方法比较简单, 但是不能对单独的连接来设置代理:
ObjectiveC中的单例设计模式
注意class method中什么时候用self,什么时候用super!
1 | #import "PostOfficeProxy.h" |
编码导致序列化sql对象时出现StreamCurruptedException异常
最近在序列化某JAVA类时,碰到怪事,原来是sql 连接字符串与数据库的character set不同,字符被转义所致。
环境:Mysql 5.0.51a-community-nt Java 1.6.0_20-b02
解决办法是先测试数据库与mysql的字符集,然后使connection string与其一致。
show create table t1;
show variables like ‘char%’;
Flex及BlazeDS的功能原理及配置实例
BlazeDS Test Drive里面示例了主要的功能:
- HTTPService
- Web Services
- Remote-Object
- Messaging
其实现是基于一个叫flex.messaging.MessageBroker的Servlet Dispatcher。各种消息通道的配置都存在于WEB-INF/flex/services-config.xml及其包含的3个XML文件中。下面简单介绍这四种不同的功能。