Java 开发的一个异常处理框架



Java 开发的一个异常处理框架。

这篇文章介绍的异常处理思路不错,本文试图给出一种具体实现,当然可能和作者的思路有所不同。
框架地址:https://github.com/happyframework/HappyFramework。
框架介绍

关于异常的一些想法:

异常不能跨越“边界类”。
在边界类之下,异步不能被“吞掉”。
系统在不同场景或分层中,需要的不同的处理“策略”。
每种策略都是一个可扩展的“管道”。
可以和 AOP 进行集成。
异常可以用来给业务用户提供“提醒”。
异常可以给运维用户提供“日志”。
我希望异常处理框架以某种机制支持上面的各种想法[......]

Read more

tomcat cpu 100%异常处理



tomcat cpu 100%异常处理.

最近困扰的服务器不稳定问题终于解决了!!哈哈~~

1,问题描述:

 

Web项目中一直使用smartupload的上传、下载功能

 

以前使用其下载的类进行设计,均发现有问题。近期开发使用到其上传的类,测试过程中服务器极不稳定。经多方考证,smartupload上传类有极严重的BUG,会导致内存泄漏与cpu占用100%直到挂机。

 

问题解决:改用org.apache.commons.fileupload.*类。

 

附test1.jsp程序:

&[......]

Read more

使用java操作wavecom短信猫来发短信的方法|实例源码介绍

使用java操作wavecom短信猫来发短信的方法|实例源码介绍。由于业务的需要,用java实现了用wavecom短信猫发短信的功能,本来这个应该用随猫购买的二次开发接口实现的,但由于这几台猫买的时候,经销商没有提供二次开发接口,所以我不得不在网上找了资料,自己写了个接口实现了发短信的功能。

实现这个功能,需要两个jar包,可以到http://code.google.com/p/smslib下载smslib-v3.3.0-B2-bin.zip和javacomm20-win32.zip。

 

首先,把smslib-v3.3.0-B2-bin.zip解开,在smslib[......]

Read more

MyEclipse 8.6配置VSS教程

MyEclipse 8.6配置VSS教程。

1.到http://sourceforge.net/projects/vssplugin网站中下载免费的插件到本机目录;   最新版本为1.62,将org.vssplugin_1.6.2.zip解压缩; 2. 将解完压缩后得到的org.vssplugin_1.6.2文件夹复制到ECLIPSE_PATH\plugins下(ECLIPSE_PATH是eclipse的安装路径); 3·写配置文件打开configuration\org.eclipse.equinox.simpleconfigurator\bundles.info文件[......]

Read more

如何在同一操作系统中启动多个TOMCAT

怎样在同一操作系统中启动多个TOMCAT 。原因:民爆枪支等其他系统部署在同一个TOMCAT中,如果某一个系统崩溃可能会同时使用其他系统了不能正常工作,因为它们运行在同一个JVM上的。这就需要在同一服务器中安装多个TOMCAT来运行不同的WEB系统。网上搜索了很多文章,但讲得不是很全面,经过自己反复在WINDOWS和LINUX下试验,再加上网上搜索的相关文档,总结如下:(JDK的相关环境变量设置在此不多说,本文中都假设你已设置好了JDK的环境变量)

一、  在WINDOWS中启动多个TOMCAT(以三个为例)。

方法一

1、 使用压缩版的TOMCAT,把他分别解压到不同的目录[......]

Read more

mht文件的3dus-ascii编码转换

mht文件的3dus-ascii编码转换。在mht文件中,可以看到汉字的编码变了,如“中国”变为“&20013;&22269;”这种其实 是unicode码的10进制表示,我们在java中一般看到的unicode码都是16进制的。主要写个10进制unicode和16进制unicode转换程序,以后可以参考一下,这个对于这次项目中查询数据并根据模板导出到word中,解决了几周来的乱码问题。

public class TestUnicode{
public staticvoid main(String[] args){
//将中文转成16进制的表示     Syste[......]

Read more

MyEclipse同时启动多个项目OutOfMemoryError: PermGen space

在项目开发中有多个项目需要在MyEclipse中启动Tomcat加载调试,加载过程中报java.lang.OutOfMemoryError: PermGen space错误。

经查阅,PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。说说为什么会内存益出:这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,GC(G[......]

Read more

Java 发邮件实例小项目(群发邮件+多附件)

用Java写的一个发邮件的东东(群发+多附件)。没什么好玩的了,最近看到好多地方有发邮件的东东,正好在看Java,就用Java写了,需要下载mail.jar和activation.jar,此外,用到我前次写的操作XML文件的一个类(上篇文章),好了,不多说了,代码贴贴,怎么用就看自己了:

//JavaMail中一些我们需要的类 //1.Properties
// //JavaMail需要Properties来创建一个session对象,其属性值就是发送邮件的主机,如:
// //Properties props = new Properties (); //props.put(“ma[......]

Read more

什么是java序列化,如何实现java序列化?

什么是java序列化,如何实现java序列化?

Java 串行化技术可以使你将一个对象的状态写入一个Byte 流里,并且可以从其它地方把该Byte 流里的数据读出来,重新构造一个相同的对象。这种机制允许你将对象通过网络进行传播,并可以随时把对象持久化到数据库、文件等系统里。Java的串行化机制是RMI、EJB等技术的技术基础。用途:利用对象的串行化实现保存应用程序的当前工作状态,下次再启动的时候将自动地恢复到上次执行的状态。

序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在[......]

Read more

http请求的详细过程

http请求的详细过程。

一个http请求的详细过程

我们来看当我们在浏览器输入http://www.mycompany.com:8080/mydir/index.html,幕后所发生的一切。

首先http是一个应用层的协议,在这个层的协议,只是一种通讯规范,也就是因为双方要进行通讯,大家要事先约定一个规范。

1.连接 当我们输入这样一个请求时,首先要建立一个socket连接,因为socket是通过ip和端口建立的,所以之前还有一个DNS解析过程,把www.mycompany.com变成ip,如果url里不包含端口号,则会使用该协议的默认端口号。

DNS的过程是这[......]

Read more