摘要: MySQL 存储过程是从 MySQL 5.0 开始增加的新功能。存储过程的优点有一箩筐。不过最主要的还是执行效率和SQL 代码封装。特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库时(例如 PHP),要组织很多 SQL 语句。特别是业务逻辑复杂的时候,一大堆的 SQL 和条件夹杂... 阅读全文
posted @ 2014-04-16 18:11 _流年 阅读(625) 评论(1) 推荐(0) 编辑
摘要: 栈内存(stack) 函数中定义的基本类型变量和引用变量都存在Stack中。 栈内存的数据大小和生命周期必须是确定的。 优点:存取速度快 在一个代码块中声名一个变量时,java就在栈中为这个变量分配内存空间,当变量超过作用域后,java会自动释放掉为该变量分配的内存空间。堆内存(heap) 堆内存中存放由new创建的对象和数组,数组和对象在没有引用变量指向它的时候,才变成垃圾,不能再被使用,但是仍然占着内存,在随后的一个不确定的时间被垃圾回收器释放掉。这个也是java比较占内存的主要原因。 在程序中使用栈内存中的引用变量来访问堆中的数组或者对象 阅读全文
posted @ 2014-04-01 14:43 _流年 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 在 struts2 中实现ajax,可以使用struts2-json-plugin扩展,但是返回的json字段必须都是Action中的属性,不可以随意的输出文本。返回任意的文本有两种方式,方法一:调用ServletAPIpublic class HelloAction extends ActionSupport { public String execute() throws Exception { HttpServletResponse response = ServletActionContext.getResponse(); response... 阅读全文
posted @ 2014-03-26 15:13 _流年 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 在持久化类中,有些属性在表中没有对应的字段,可以在映射文件中设置派生属性。 比如在一个订单中有多个商品的价格,但没有计算总的价格,可以在持久化类中增添一个统计总价格的属性,在映射文件中配置一些信息。在查询时,读取持久化类的对象,通过getXXX()方法就可获得查询的值。 阅读全文
posted @ 2014-03-21 17:31 _流年 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 当你准备使用 jQuery,我强烈建议你遵循下面这些指南:1. 缓存变量DOM 遍历是昂贵的,所以尽量将会重用的元素缓存。// 糟糕 h = $('#element').height();$('#element').css('height', h-20);// 建议 $element = $('#element');h = $element.height();$element.css('height', h-20);2. 避免全局变量jQuery 与 javascript 一样,一般来说,最好确保你的变量在函数作用 阅读全文
posted @ 2014-02-26 14:41 _流年 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 基于Maven管理的web项目结构:target目录是用来存放项目打包之后生成的文件的目录,此目录中的文件必须调用mvn clean package后才能生成,如果把虚拟目录设置在此目录中,则每次修改项目后都需要调用mvn,很不方便正确方法: 1.设置虚拟目录为:src/main/webapp 2.在pom.xml中更改maven打包的目录位置 maven-war-plugin ${basedir}/src/main/webapp ${b... 阅读全文
posted @ 2014-02-13 17:37 _流年 阅读(1089) 评论(0) 推荐(0) 编辑
摘要: synchronized 同步的机制可以解决多线程并发问题,这种解决方案下,多个线程访问到的都是同一份变量的内容。为了防止在多线程访问的过程中,可能会出现的并发错误。不得不对多个线程的访问进行同步,这样也就意味着,多个线程必须先后对变量的值进行访问或者修改,这是一种以延长访问时间换取线程安全性的策略。ThreadLocal类为每一个线程都维护了自己独有的变量拷贝。每个线程都拥有了自己独立的一个变量,竞争条件被彻底消除了,那就没有任何必要对这些线程进行同步,它们也能最大限度的由CPU调度,并发执行。由于每个线程在访问该变量时,读取和修改的,都是自己独有的那一份变量拷贝,变量被彻底封闭在每个访问的 阅读全文
posted @ 2014-02-10 14:43 _流年 阅读(249) 评论(0) 推荐(0) 编辑
摘要: thread1.join()方法阻塞调用此方法的线程,直到线程thread1完成,此线程再继续。通常用于在main()主线程内,等待其它线程完成再结束main()主线程 @Test /** * output: * 01234 main end. * 如果注释掉【标记1】: * main end.01234 */ public void test06(){ class Task implements Runnable{ public void run... 阅读全文
posted @ 2014-01-24 19:05 _流年 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 基本A 当前行追加J 去除本行和下一行之间的换行符(写CSS利器)~ 光标所在处的字符进行大小写互换* 向前搜索目前光标所在的单词# 向后搜索目前光标所在的单词% 查找与光标所在处相匹配的反括号, 包括 () [] {}0 到行首$ 到行尾u 撤销x 删除当前字符r 替换当前字符f 光标所在行进行查找t 光标所在行查找,定位在结果的前一个字符H 移动光标到屏幕的首行.M 移动光标到屏幕的中间一行.L 移动光标到屏幕的尾行.gg 移动光标到文档首行.G 移动光标到文档尾行.zt 将当前行放置于页面顶部ma... 阅读全文
posted @ 2014-01-24 18:07 _流年 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 1.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}.clearfix{*+height:1%;}2.clearfix{overflow:auto;_height:1%}3.clearfix{overflow:hidden;_zoom:1;} 阅读全文
posted @ 2014-01-19 11:18 _流年 阅读(162) 评论(0) 推荐(0) 编辑