grails小节

上传文件插件:jquery.fileupload.js

<a href="javascript:;">当没有href时写成这样可以避免上下滑动产生错误

前端设计时预留错误msgbox div 在提交前一个个进行判断 并且出错return 防止执行下去;

前端向后端传参数时不可以传数组(字符串数组,数字数组等),必须拼成字符串传输同时在后端split得到数组;

Json转换请留意;

obj.save flush:true;

下面说说groovy file操作

1.通过 request.getFile("files")获得后端传来的file类型

2.file.getOriginalFileName()获得文件名

3.在保存文件时,注意要给文件命名唯一的目录,一般采取:目录名称随机字符串的方式

4.根据filePath new一个file类,dstFile = new File(filePath)

5.或得文件路径目录   fileDir = dstFile.parentFile

6.在上传文件之前,如果没有fileDir需要先mkdir,然后将文件上传file.transferTo(dstFile)

7.删除文件记录的时候同时要删掉文件


groovy的synchronized(加锁,多线程的环境下,控制synchronized代码段不被多个线程同时执行)

synchronized(this){

// block

}

Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码;

当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。

当一个线程访问object的一个synchronized(this)同步代码块时,另一个线程仍然可以访问该object中的非synchronized(this)同步代码块。

尤其关键的是,当一个线程访问object的一个synchronized(this)同步代码块时,其他线程对object中所有其它synchronized(this)同步代码块的访问将被阻塞

在判断目录是否存在时,不存在则创建时,在synchronized(this){}块里执行;一把钥匙一把锁时最安全的。

groovy Thread类,在上传文件过程中,比较慢,防止等待。

一个多线程程序包含两个或多个能并发运行的部分。程序的每一部分都称作一个线程,并且每个线程定义了一个独立的执行路径。

多线程是多任务的一种特别的形式,但多线程使用了更小的资源开销。

这里定义和线程相关的另一个术语 - 进程:一个进程包括由操作系统分配的内存空间,包含一个或多个线程。一个线程不能独立的存在,它必须是进程的一部分。一个进程一直运行,直到所有的非守候线程都结束运行后才能结束。

多线程能满足程序员编写高效率的程序来达到充分利用 CPU 的目的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,212评论 19 139
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,532评论 11 349
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,646评论 18 399
  • 今天,你喝茶了吗? 人生苦短,别大难为自已。有条件就好好享受生活。 有个安静的地方,远离城市的喧闹,冲壶好茶,舒服...
    浪淘沙0706阅读 2,812评论 0 0
  • 时维仲夏,暑气熏蒸,骄阳似火; 看大街小巷,白腿芒芒; 小姐大娘,掣襟露肘; 衣不蔽体,酥球半露,更有裙裾比臀高;...
    司马宗主阅读 3,757评论 0 1

友情链接更多精彩内容