- 浏览: 23745 次
- 性别:
- 来自: 深圳
最新评论
文章列表
Docker用起来有多方便,笔者就不瞎说了。反正谁永谁知道。为了配合前面的SpringCloud Bus学习,笔者就顺带安装了Docker。写这篇文章的目的,是为了给 SpringCloud微服务入门(九),统一配置中心Config作补充。
跟着镜头切换,随笔者开启Docker的大门。打开
https://hub.docker.com/search?q=&type=edition&offering=community&sort=updated_at&order=desc
找到符合自己操作系统的版本下载并安装好。至于怎么安装,笔者是双击后就装好了。如 ...
关于JavaFTP上传压缩文件
- 博客分类:
- java
刚写完 Java中使用Apache FTP上传文件 又碰到问题了,这就是人要是一倒霉,喝水都塞牙缝。在上传普通的txt文件是没问题了,但当我上传压缩文件的时候问题就出来了。当你打开压缩文件时,会提示 文件格式未知或者压缩文件数据已经损坏 。为解决这个问题,上传查了很久,终于得到答案,在此与大家分享。
解决这个问题的办法就是:将上传文件的类型改成二进制方式上传就OK了。也就是加上下面这行代码就可以上传压缩文件了。
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
PS:多看API文档,哪怕是洋文的,也要去啃,“夜路走多了,总 ...
ARJ是由DOS下曾红极一时的ARJ压缩而成的文件格式,具备功能强大、压缩率高等优点。尽管如今没有了往日的辉煌,但使用范围依然广泛。我们熟知的*.JAR就是ARJ作者研究的另外一种超强压缩格式,其压缩率比ARJ更高,但两者并不兼容。
由于最近一个项目,需要先将数据库中表数据以txt形式导出,然后再打包成ARJ,上传到FTP服务器中。开始一直苦于如何将txt打包成ARJ文件。曾向一位经验极为丰富的同事请教,她直接发了个网址给我,打开一看,却是一个装在windows上的应用。可我要的是通过Java去实现这一功能。当时郁闷可想而知,沉思中(其实是郁闷中)....
当一个人郁闷到极限的时候,什 ...
Java中使用Apache FTP上传文件
- 博客分类:
- java
在 Java通过Runtime类中的exec方法将文件压缩成ARJ包 中我曾提到,需要将txt打成ARJ包,然再上传到FTP服务器。现在我所要阐述的就是Java如何使用FTP上传文件。 所需要的包: commons-net-2.0.jar jakarta-oro.jar 废话不多时,直接上代码:
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.SocketException;
...
对junit源码的一些分析
- 博客分类:
- junit
首先new TestSuite类,通过TestSuite传入测试类的class,在TestSuite的构造方法中,获得类名,然后通过反射获得测试类的构造
方法。然后测试类的class通过getModifiers方法获得类的修饰符,这时会判断测试时是否是public的,如果不是会调用warning方法,
在其中调用fail断言,将测试设为失败,并结束测试。
如果是public修饰的则会通过isAssignableFrom方法判断,测试类是否是Test的子类,如果是的话,则会通过反射获得类中所有的方
法。然后遍历所有的方法,并调用addTestMethod方法,这是会判断方法名是否存在,如果存在的话 ...
对junit单元测试一些了解
- 博客分类:
- junit
在junit中主要使用了观察者模式、组合模式、命令模式、模板模式这4中模式。
那么在junit中为了要用到观察者模式呢?我们知道,我们使用ant、eclipse等工具进行单元测试,但是他们测试后的结果却是以不同的形式去表示的,也 ...
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
<%out.print("Hello World");%>
#include "stdio.h"
void main()
{
printf("Hello World");
}
<?php echo "Hello World&q ...
1、语言简洁、使用方便、编写灵活;
2、运算符丰富,数值运算、逻辑运算和数据处理都很方便;
3、数据类型丰富,具有多种数据结构;
4、具有结构化的控制语句;
5、语法限制不太多,程序设计可以更好地发挥;
6、允许直接访问物理地址,可以直接操作硬件;
7、生产的目标代码系列高;
8、程序的可移植性好。
1967年,英国剑桥大学的Martin Richards开发了BCPL语言(Basic Combined Programming Language,基本组合语言);
1970年,Ken Thompson在继承BCPL语言许多优点的基础上开发了使用的B语言;
1972年,贝尔实验室的Dennis M.Ritchie在B语言的基础上,进行了进一步的充实和完善,他取乐BCPL的第2个字母作为该语言的名字,这就是C语言。
tdd主要就是通过测试驱动的方式来推动整个开发的进行,也就是说在开发功能之前,先写测试代码。在明确要开发哪个功能后,首先要思考对这个功能如何进行测试。
tdd开发主要有如下原则:
1、测试隔离,也就是说不同的代码模块测试要相互隔离,不能出现互相影响的情况。
2、一顶帽子,专注某一项工作,同一时间只做一件事情,这样就可以集中精力在当前工作中,而无需考虑其他的。
3、测试列表,当测试功能点很多的时候,我们需要将相关信息添加到测试列表中,再继续进行手头上的工作。
4、测试驱动,以测试的方式推动开发的进行,让开发人员明确目标,是为了通过测试。
5、及时重构,早重构 ...
持续集成中需要注意的几点
- 博客分类:
- java
1、经常提交代码
2、不要提交无法构建的代码
3、立即修复无法集成的构建
4、编写自动化的开发者测试
5、必须通过所有的测试和审查
6、执行似有构建
7、避免签出无法构建的代码
8、集中放置软件资产
9、创建一致的目录结构
10、执行快速构建
11、自动化数据库集成
12、使用本地数据库沙盒
13、利用版本控制库共享数据库资产
14、为缺陷编写测试
15、干净的开发环境
16、随时随地发布可工作软件
17、为库中的资产打上标签
18、将测试用例限制为一个断言
19、让组件测试可重复
20、执行所有测试
21、创建构建反馈报告
持续集成用于定时检测、构建项目。
常用的持续集成工具有CruiseControl,简称CC。
那么我们是如何部署项目到持续集成服务器中的呢?
首先我们可以将我们的项目copy到cc根目下的project目录下,然后通过在cc根目录下得config.xml文件中进行项目配置,具体配置主要参照里面的demo就ok。
在进行配置时有几项需要注意的:
静默时间:是用来配置项目组中有人提交代码后cc服务器静默多少时间后再进行下载更新,如果静默时间设置不当,将会导致项目下载不完整的现象。比如当代码提交量比较大的时候,并不是马上就能提交完毕的,这是如果cc服务器立即对项目进行下载更新,就会导致了项目下载不完整 ...
实体类最好有主键,并有对应的getter、setter方法,这是hibernate推荐的,主键尽量可以为null值的类型,例如Integer、String、Long等,而不要使用int、long等
@配置主键
Hibernate中用@Id声明该列为主键列,同时使用@Column声明该列的列明,当列明于属性名相同时,@Column配置可省略。
@GeneratedValue用于指定主键的生成策略。如果不配置@GeneratedValue则必须手动设置id的值。
@Id
@Column(name = "id")
@GeneratedValue(strategy = Gen ...
实体一般有id,普通属性,集合属性等,分别对应数据库中的主键,普通列,外键。@注解配置中,实体类@Entity注解,用@Table指定对应的数据表,@Id配置主键。用@Column配置普通属性,用@OneToMany、@ManyToOne、@OneToOne、@ManyToMany配置实体间的关系等。
//...导入一系列包<省略>
@Entity
@Table(name = “tb_cat”)
public class Cat{
@Id
@GeneratedValue(String = GenerationType.AUTO)
private Integer ...
继承(extends)
继承就是使用已定义的类作为父类,新建一个类作为子类使用extends关键字继承这个类。这样就实现了继承关系,需要注意的是java中是单一继承的,也就是说一个子类只能有一个父类,但一个父类可以有多个子类。
继承的好处:
可以对父类的功能进行适当的扩展,添加新的功能进去。
继承是如何执行的?
从子类往父类寻找相对应的构造方法,然从父类往子类执行。
A.java
public class A
{
public A(){
System.out.println("我是父类");
}
}
B.java
public class B ex ...