`
cuisuqiang
  • 浏览: 3937733 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
3feb66c0-2fb6-35ff-968a-5f5ec10ada43
Java研发技术指南
浏览量:3651947
社区版块
存档分类
最新评论
文章列表
用到的JAR包 spring.jar mail.jar activation.jar commons-logging.jar log4j-1.2.15.jar   Spring对邮件发送进行了封装,但是基本用法和我之前写的内容还是类似的且要注意,发送器要进行验证,即有用户名密码才能正常发送这里只是简单示例如何使用。 package test; import java.util.Properties; import javax.mail.Session; import org.springframework.mail.SimpleMailMessage; impor ...
已经两次有公司面试上机,做这个题目,下面说一下实现思路。   要求:给予的字符串是标准可以做有效运算的字符串,只包含加减乘除和数字,其中最前和最后是数字 思路:先把字符串以运算符进行分割,把数字和运算符放到集合中。然后先做乘除运算,因为乘除必须先做。然后做加减计算,最后打印结果。 备注:这里只是实现思路,没有SWING实现。下面计算:30*1+4*2*10-10+40/20的结果。   实现代码如下,关键地方带有注释: package test; import java.util.ArrayList; import java.util.List; /** * 复杂计算 ...
死锁在多线程的情况下,在竞争竞态条件与临界区(http://cuisuqiang.iteye.com/blog/2020152)出现时,会出现数据不同步情况, 而为了避免这种情况,之前也说了:界区实现方法有两种,一种是用synchronized,一种是用Lock显式锁实现。 而如果不恰当的使用了锁,且出现同时要锁多个对象时,会出现死锁情况,如下: package lockTest; import java.util.Date; /** * 崔素强 * @author cuisuqiang@163.com */ public class LockTest { publ ...
有一个人揪着问我什么是数据持久化,简单来说:对于概念上来说,就是数据保存到硬盘系统重启可恢复,对于开发人员来说,就是对象保存到数据库。  但是拿这个问题一直问下去的话,显然以上解释不足以应付,一狠心,我从网上把一些理论内容搬下来了。   什么是持久化?持久化是将程序数据在持久状态和瞬时状态间转换的机制。持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。JDBC就是一种持久化机制。文件IO也是一种持久化机制。   如何去理解?在一 ...
开发中需要开启服务端的时候,本地测试都是直接写端口,实际环境也是需要指定要邦定的IP才可以。 因为对于服务器来说,有时它不止一块网卡,而我们系统一定是通过指定的IP和端口进行通信的,所以服务端所使用的IP和端 ...
在XP下搭建测试环境可以参考:http://cuisuqiang.iteye.com/blog/1609701 ! Win7上类似的,但是仅仅按照以上操作步骤进行,默认还是无法读取到响应的值。   如果在Win7上遇到服务启动却无法使用时,请查看如下内容:   默认安全这个选项卡内是没有社区内容的。同时,在客户端,如果你不指定,默认发送时就是public! 我们只要指定localhost使用public可以访问,之前示例中的代码才能获取到数据。   请您到ITEYE网站看 java小强 原创,谢谢!http://cuisuqiang.iteye.com/ ! 自建博客地 ...
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解压,解压后目录如下:   如果你的电脑已经安装并正确配置了JDK,此时你直接运行start.bat批处理,即可运行并访问项目。此时,访问的端口是80,你可以通过路径http://localhos ...
struts2可以非常简单地使用FreeMarker模板作为视图技术,对于传统的jsp页面而言,FreeMarker是一个绝佳的替代方案。除此之外,Struts2默认采用FreeMarker作为其模板文件,而Struts2所有的主题模板文件都是采用FreeMarker编写的Struts2使用FreeMarker作为其黙认的模板技术,因此Strus2对FreeMarker的支持非常良好。因此,为了在Struts2应用中使用FreeMarker模板技术,只需要在Struts.xml文件中进行简单配置即可   在FreeMarker模板中使用Struts2标签,将struts-tags.tld ...
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 URL Rewrite有什么用?1,首先是满足观感的要求。对于追求完美主义的网站设计师,就算是网页的地址也希望看起来尽量简洁明快。形如http://www.123.com/news/index.a ...
初步学习freemarker ,先做一个简单的HelloWord程序!   新建一个WEB工程,下载(我使用的是freemarker-2.3.20)freemarker并导入freemarker.jar,在WEB-INF下新建文件夹templates用于存放模版文件在templates下新建test.ftl,这是示例模版文件。内容就是HTML内容,里面带有一个标记符,用于将来进行变量替换,内容如下: <html> <head> <title>freemarker测试</title> </head&g ...
需求:打开页面后已经生成一棵带有节点的树,需要实时更新该树每个节点的状态,根据状态,改变节点的ICON和FONT样式。 说明:找了一下,基本上都是说加载时指定颜色的,加载时指定颜色的用法,在官方示例中就有说明:   示例:显示自定义字体的树  <SCRIPT type="text/javascript"> <!-- var setting = { view: { fontCss: getFont, nameIsHTML: true } }; var zNodes =[ { name:"粗 ...
密钥一致协议是由公开密钥密码体制的奠基人 Diffie 和 Hellman 所提出的一种思想。代表:指数密钥一致协议 (Exponential Key Agreement Protocol)   使用流程介绍:甲方构建密钥对,将公钥公布给乙方,将私钥保留;双方约定数据加密算法;乙方通过甲方公钥构建密钥对,将公钥公布给甲方,将私钥保留。甲方使用私钥、乙方公钥、约定数据加密算法构建本地密钥,然后通过本地密钥加密数据,发送给乙方加密后的数据;乙方使用私钥、甲方公钥、约定数据加密算法构建本地密钥,然后通过本地密钥对数据解密。乙方使用私钥、甲方公钥、约定数据加密算法构建本地密钥,然后通过本地密钥加 ...
所谓数字签名就是信息发送者用其私钥对从所传报文中提取出的特征数据(或称数字指纹)进行 RSA 算法操作,以保证发信人无法抵赖曾发过该信息(即不可抵赖性),同时也确保信息报文在经签名后末被篡改(即完整性)。当 ...
一个消息摘要就是一个数据块的数字指纹。即对一个任意长度的一个数据块进行计算,产生一个唯一指印(对于 SHA1 是产生一个 20 字节的二进制数组)。 消息摘要有两个基本属性:两个不同的报文难以生成相同的摘要难以对指定的摘要生成一个报文,而由该报文反推算出该指定的摘要代表:美国国家标准技术研究所的 SHA1 和麻省理工学院 Ronald Rivest 提出的 MD5   package test; import java.security.MessageDigest; public class SHA_MD5 { public static void main(String[] ...
当两个线程竞争同一资源时,如果对资源的访问顺序敏感,就称存在竞态条件。导致竞态条件发生的代码区称作临界区。在临界区中使用适当的同步就可以避免竞态条件。界区实现方法有两种,一种是用synchronized,一种是用Lock显式锁实现。 有临界区是为了让更多的其它线程能安全够访问资源。 class Counter { protected long count = 0; public void add(long value) { this.count = this.count + value; } }   观察线程A和B交错执行会发生什么,两个线程分别加了2和3到cou ...
Global site tag (gtag.js) - Google Analytics