- 浏览: 146229 次
- 性别:
- 来自: 杭州
最新评论
-
lzmrex:
同感,加油。我现在也在做分布式事务中间件。搞得头大,刚好看到你 ...
工作难!!! -
haithink:
加油。。。
工作难!!! -
jacking124:
学习了,可以写个例子讲一下的!!
hibernate注解的CascadeType属性 -
godwinx:
能把spring mvc 的例子贴出来吗?
ajax文件上传三种方式(支持批量)--struts2,jspServlet,springMVC -
anmy123:
看了一下,还不错,可以学习一下
ajax文件上传三种方式(支持批量)--struts2,jspServlet,springMVC
文章列表
类型 方法 注释
CompilationUnit getHeader/setHeader
getNa me/setName
Field getInitializer/setInitializer 不包含 "="
getName/setName 变量名
getName/setName 类名
Import getName/setName 要么是一个完全限定的 类型名,要么是一个随需应变的包
Initializer getName/setName
getBody/setBody
Member getComment/setComment
getFlags/setFlags ...
方法1:
.git目录下config文件
增加:永久记住
[credential]
helper = store
方法2:
修改本地缓存文件
系统盘用户目录下,.gitconfig文件增加
[credential]
helper = store
.git-credentials文件增加:
https://账号:密码@git.oschina.net
图书字符需要转码,比如@转码为%40
mvn dependency:copy-dependencies -DoutputDirectory=lib
附件中列举了几种当前比较流行的模板引擎方案,比如velocity,freeMarker,Smarty4j,httl,整理的资料来自网上收集的。
大致说下这个功能的思路:
1:用字符串构建java文件
2:在内存中构建ijavaelement对象,并对这个对象进行重组(用到了jdt的OrganizeImportsOperation)
3:IFile写入文件
String path = "";//文件绝对路径
IJavaProject project = null;
IPath genSourceFolderPath = new Path(filePath);
for (IProject p : ResourcesPlugin.getWorkspace().getRoot().getProjects()) {
...
public class Helloworld
{
/**
* 给图片添加水印
*
* @param filePath 需要添加水印的图片的路径
* @param markContent 水印的文字
* @param markContentColor 水印文字的颜色
* @param qualNum 图片质量
* @return
*/
public void mark(String srcImgPath, String outImgPath, String ...
一般情况下对java源文件的编译均是在代码完成后使用javac编译的,不管是使用IDE还是直接使用命令行。这里要说的情况是比较特别的,就是在代码内动态的编译一些代码。比如你想通过在某个目录下通过放置一些源代码的方式来实现对程序功能的动态扩展,那么你的程序就需要具有一种对源代码的编译、加载、运行的能力,可能就需要本文介绍的3种方法。
方法1:通过调用本机的javac命令来编译。
在java程序中调用javac命令可以通过调用Runtime类的exec或是ProcessBuilder类的start方法来完成,这两个类的功能基本相同,用法也比较相似,这里的例子我们就用ProcessBuilder ...
工作中用到的加密算法。
/**
* 加密网卡MAC地址
*
* @param mac 网卡MAC地址
* @return 加密后的网卡MAC地址
*/
public static String encryptMac(String mac) {
StringBuffer buffer = new StringBuffer();
String[] segments = mac.split("-");
Random random = new Random();
for (String segment : segments) {
bu ...
JAVA常用的正则表达式
===================================================
因此,典型的调用顺序是
Pattern p = Pattern.compile("a*b");
Matcher m = p.matcher("aaaaab");
boolean b = m.matches();在仅使用一次正则表达式时,可以方便地通过此类定义 matches 方法。此方法编译表达式并在单个调用中将输入序列与其匹配。语句
boolean b = Pattern.matches("a*b& ...
原先我做个一个系统,里面有设计到工资的计算方式。
大致结构类似于附件中的demo。
策略模式的核心还是那个策略上下文,他是接受策略借口的对象的。但是对象哪来呢?
哈哈 是不是想到工厂模式了。
所以很多时候,策略模式都是和简单工厂模式一起用的,工厂用来生成对象,对象被注入到策略上下文,然后这个经典的模式就诞生了。
两个模式的demo都有,所以又兴趣的,可以写个策略和工厂的整合模式,在开发过程中,非常给力。
门面模式,其实在我刚刚进入这个行业,啥都不懂的时候,已经在用了,我相信你看了demo就全明白了。
原理就是提供一个包装好的方法,给外部调用,省去了一些调用方不需要关心的逻辑操作,
比如说demo的小例子:
我去shopping吧,我为什么要关心你上不上班,我为什么要关心你发没发钱,我只关心我的shopping,哈哈,明白了吧。
这是个java简单工厂模式的小例子,在我们开发过程中,应该是比较实用的。
原理嘛,就是用了java的反射。。一看就明白的例子。
还有想说的是,细心的人,可能看了demo后会发现,稍微改动下,就可以体现出策略模式的优势。哈哈
现在工作不忙,有空来整理下一直以来比较感兴趣的设计模式。
本章讲的是java设计模式的简单模板模式。
附件中是个简单的demo,麻雀虽小五脏俱全。