-
Java研发技术指南
收藏着重于JavaWeb研发技术,讲求实现,讨论优化与设计!一切从简单出发,始终向高端冲刺!
最近更新文章
Spring 发送邮件 HTML邮件
用到的JAR包:
spring.jar
mail.jar
activation.jar
commons-logging.jar
log4j-1.2.15.jar
MimeMessage由发送器创建,这里还需要用到MimeMessageHelper对象。与简单邮件相比,这里如果不指定编码格式,则邮件里面的中文会乱码。
package test;
import java.u ...
Spring 发送邮件 简单邮件
用到的JAR包
spring.jar
mail.jar
activation.jar
commons-logging.jar
log4j-1.2.15.jar
Spring对邮件发送进行了封装,但是基本用法和我之前写的内容还是类似的且要注意,发送器要进行验证,即有用户名密码才能正常发送这里只是简单示例如何使用。
package test;
import java.uti ...
Java 复杂计算器的实现
已经两次有公司面试上机,做这个题目,下面说一下实现思路。
要求:给予的字符串是标准可以做有效运算的字符串,只包含加减乘除和数字,其中最前和最后是数字
思路:先把字符串以运算符进行分割,把数字和运算符放到集合中。然后先做乘除运算,因为乘除必须先做。然后做加减计算,最后打印结果。
备注:这里只是实现思路,没有SWING实现。下面计算:30*1+4*2*10-10+40/20的结果。
...
用Java信号量 解决死锁
死锁在多线程的情况下,在竞争竞态条件与临界区(http://cuisuqiang.iteye.com/blog/2020152)出现时,会出现数据不同步情况, 而为了避免这种情况,之前也说了:界区实现方法有两种,一种是用synchronized,一种是用Lock显式锁实现。
而如果不恰当的使用了锁,且出现同时要锁多个对象时,会出现死锁情况,如下:
package lockTest;
imp ...
ServerSocket 默认邦定IP
开发中需要开启服务端的时候,本地测试都是直接写端口,实际环境也是需要指定要邦定的IP才可以。
因为对于服务器来说,有时它不止一块网卡,而 ...
SNMP 在Windows上建一个SNMP服务 Win7下注意事项
在XP下搭建测试环境可以参考:http://cuisuqiang.iteye.com/blog/1609701 !
Win7上类似的,但是仅仅按照以上操作步骤进行,默认还是无法读取到响应的值。
如果在Win7上遇到服务启动却无法使用时,请查看如下内容:
默认安全这个选项卡内是没有社区内容的。同时,在客户端,如果你不指定,默认发送时就是public!
我们只要指定local ...
Bug跟踪系统 JTrac 安装与配置说明
jTrac是一个基于Web的issue追踪系统内置工作流.你可自定义字段来追究项目和分配任务等.jTrac采用Spring MVC, Spring AOP和Spring JDBC/DAO框架,JSP/JSTL作为视图功能特点,废话不多说,想看自己查。
通过官方下载最新版本:http://www.jtrac.info/ ,我下载的是jtrac-2.1.0将jtrac-2.1.0.zip解压 ...
FreeMarker 整合Struts2示例
struts2可以非常简单地使用FreeMarker模板作为视图技术,对于传统的jsp页面而言,FreeMarker是一个绝佳的替代方案。除此之外,Struts2默认采用FreeMarker作为其模板文件,而Struts2所有的主题模板文件都是采用FreeMarker编写的Struts2使用FreeMarker作为其黙认的模板技术,因此Strus2对FreeMarker的支持非常良好。因此,为了 ...
UrlRewrite 简介与示例
URL Rewrite的概念URL Rewrite即URL重写,就是把传入Web的请求重定向到其他URL的过程。URL Rewrite最常见的应用是URL伪静态化,是将动态页面显示为静态页面方式的一种技术。比如http://www.123.com/news/index.asp?id=123 使用UrlRewrite转换后可以显示为 http://www.123.com/news/123.html ...
Freemarker 入门示例
初步学习freemarker ,先做一个简单的HelloWord程序!
新建一个WEB工程,下载(我使用的是freemarker-2.3.20)freemarker并导入freemarker.jar,在WEB-INF下新建文件夹templates用于存放模版文件在templates下新建test.ftl,这是示例模版文件。内容就是HTML内容,里面带有一个标记符,用于将来进行变量替换,内 ...
zTree 改变指定节点文本样式
需求:打开页面后已经生成一棵带有节点的树,需要实时更新该树每个节点的状态,根据状态,改变节点的ICON和FONT样式。
说明:找了一下,基本上都是说加载时指定颜色的,加载时指定颜色的用法,在官方示例中就有说明:
示例:显示自定义字体的树
<SCRIPT type="text/javascript">
<!--
var setting = ...
JAVA加密算法实现用例 密钥一致协议
密钥一致协议是由公开密钥密码体制的奠基人 Diffie 和 Hellman 所提出的一种思想。代表:指数密钥一致协议 (Exponential Key Agreement Protocol)
使用流程介绍:甲方构建密钥对,将公钥公布给乙方,将私钥保留;双方约定数据加密算法;乙方通过甲方公钥构建密钥对,将公钥公布给甲方,将私钥保留。甲方使用私钥、乙方公钥、约定数据加密算法构建本地密钥,然后 ...
JAVA加密算法实现用例 数字签名
所谓数字签名就是信息发送者用其私钥对从所传报文中提取出的特征数据(或称数字指纹)进行 RSA 算法操作,以保证发信人无法抵赖曾发过该信息( ...
JAVA加密算法实现用例 消息摘要
一个消息摘要就是一个数据块的数字指纹。即对一个任意长度的一个数据块进行计算,产生一个唯一指印(对于 SHA1 是产生一个 20 字节的二进制数组)。
消息摘要有两个基本属性:两个不同的报文难以生成相同的摘要难以对指定的摘要生成一个报文,而由该报文反推算出该指定的摘要代表:美国国家标准技术研究所的 SHA1 和麻省理工学院 Ronald Rivest 提出的 MD5
package te ...
竞态条件与临界区
当两个线程竞争同一资源时,如果对资源的访问顺序敏感,就称存在竞态条件。导致竞态条件发生的代码区称作临界区。在临界区中使用适当的同步就可以避免竞态条件。界区实现方法有两种,一种是用synchronized,一种是用Lock显式锁实现。
有临界区是为了让更多的其它线程能安全够访问资源。
class Counter {
protected long count = 0;
public vo ...
Java中信号量 Semaphore
Semaphore 通常用于限制可以访问某些资源(物理或逻辑的)的线程数目。自从5.0开始,jdk在java.util.concurrent包里提供了Semaphore 的官方实现,因此大家不需要自己去实现Semaphore。
下面的类使用信号量控制对内容池的访问:
import java.util.concurrent.Semaphore;
class Pool {
private ...
java中HashMap学习
什么是HashMapHashMap基于hashing原理,我们通过put()和get()方法储存和获取对象。当我们将键值对传递给put()方法时,它调用键对象的hashCode()方法来计算hashcode,让后找到bucket位置来储存值对象。当获取对象时,通过键对象的equals()方法找到正确的键值对,然后返回值对象。HashMap使用链表来解决碰撞问题,当发生碰撞了,对象将会储存在链表的 ...
Java四种线程池的使用
Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行。newSing ...