MySQL InnoDB配置优化

一、编译安装mysql(往后可以做)

二、增大内存(往后可以做,把192.168.8.150的16G内存换过来)

三、开启innodb的配置参数(现在必须做)

innodb_additional_mem_pool_size = 20M

innodb_buffer_pool_size = 2G

innodb_data_file_path = ibdata1:1024M:autoextend (这个暂时不设置,以后可以调整)

innodb_autoextend_increment = 256M

innodb_flush_log_at_trx_commit = 2

innodb_log_buffer_size = 16M

innodb_log_file_size = 256M

innodb_log_files_in_group = 3

Hibernate annotation 常用注解

1. @Id 声明属性为主键

2. @GeneratedValue表示主键是自动生成策略,一般该注释和 @Id 一起使用

3. @Entity 任何 hibernte 映射对象都要有次注释

4. @Table(name = “tablename”) 类声明此对象映射到哪个表

5. @Column(name = “Name”,nullable=false,length=32) 声明数据 库字段和类属性对应关系

6. @Lob 声明字段为 Clob 或 Blob 类型

7. @OneToMany(mappedBy=”order”,cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@OrderBy(value = “id ASC”)
一对多声明,和 ORM 产品声明类似,一看就明白了。
@ManyToOne(cascade=CascadeType.REFRESH,optional=false)
@JoinColumn(name = “order_id”)
声明为双向关联

8. @Temporal(value=TemporalType.DATE) 做日期类型转换。

9. @OneToOne(optional= true,cascade = CascadeType.ALL, mappedBy = “person”)
一对一关联声明
@OneToOne(optional = false, cascade = CascadeType.REFRESH)
@JoinColumn(name = “Person_ID”, referencedColumnName = “personid”,unique = true)
声明为双向关联

10. @ManyToMany(mappedBy= “students”)
多对多关联声明。
@ManyToMany(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
@JoinTable(name = “Teacher_Student”,
joinColumns = {@JoinColumn(name = “Teacher_ID”, referencedColumnName = “teacherid”)},
inverseJoinColumns = {@JoinColumn(name = “Student_ID”, referencedColumnName =
“studentid”)})
多对多关联一般都有个关联表,是这样声明的!

11. @Transiten表示此属性与表没有映射关系,是一个暂时的属性

12. @Cache(usage= CacheConcurrencyStrategy.READ_WRITE)表示此对象应用缓存

PHP的$_REQUEST

一开始以为$_REQUEST是可以获取$_POST和$_GET中的数据,因为对PHP研究也不深,所以也没有关注他的先后顺序什么的。

今天在使用的时候发现$_REQUEST还包含了$_COOKIES中的内容,而且优先级更高。

$_REQUEST包含$_COOKIES、$_POST和$_GET,获取顺序也是cookies-post-get,所以为了更快的运行程序应该尽量避免使用$_REQUEST

PHP过滤HTML标签

PHP有这么个函数,可以过滤HTML标签,

string strip_tags( string $str [, string $allowable_tags] )

第一个参数是要过滤的HTML,第二个参数是要保留的html,如”<p><a>”就会保留p标签和a标签

Java调用外部程序

import java.io.*;
public class RuntimeTest {
    public static void main(String[] args) throws IOException, InterruptedException {
        long begin = System.currentTimeMillis();
        //调用外部程序
        Process exec = Runtime.getRuntime().exec("ping 127.0.0.1");
        InputStream inputStream = exec.getInputStream();
        BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream,"GBK"));
        String line = null;
        //读取外部程序的输出结果
        System.out.println("开始输出外部程序的返回数据");
        while(null!=(line=reader.readLine())){
            System.out.println(line);
        }
        System.out.println("耗时:"+(System.currentTimeMillis()-begin)+"ms");
    }
}

 

利用POI将PPT转成图片

  1. 下载POI:http://poi.apache.org/download.html
  2. 导入poi.jar与poi-scratchpad.jar(后边的这个必须导,不然没有HSLF这个包)
SlideShow slideShow = new SlideShow(hslfSlideShow);
if(slideShow.getSlides()!=null&&slideShow.getSlides().length>0){
	Slide slide = slideShow.getSlides()[0];//读取第一页
	TextRun[] textRuns = slide.getTextRuns();
	for (TextRun textRun : textRuns) {
		for (RichTextRun richTextRun  : textRun.getRichTextRuns()) {
			richTextRun.setFontName("宋体");//防止中文乱码
		}
	}
	BufferedImage img = new BufferedImage(
		slideShow.getPageSize().width,
		slideShow.getPageSize().height,
		BufferedImage.TYPE_INT_RGB);   
	Graphics2D graphics = img.createGraphics();
	slide.draw(graphics);
	FileOutputStream fos = new FileOutputStream("d:/p1.png");
	ImageIO.write(img, "png", fos);
	fos.close();
}