`
cowgun888
  • 浏览: 6485 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表

多线程并发

熟悉并发的同学一定知道在java中处理并发主要有两种方式: 1,synchronized关键字,这个大家应当都各种面试和笔试中经常遇到。 2,volatile修饰符的使用,相信这个修饰符大家平时在项目中使用的也不是很多。 这里重点说一下volatile: Volatile修饰的成员变量在每次被线程访问时,都强迫从共享内存重新读取该成员的值,而且,当成员变量值发生变化时,强迫将变化的值重新写入共享内存,这样两个不同的线程在访问同一个共享变量的值时,始终看到的是同一个值。 java语言规范指出:为了获取最佳的运行速度,允许线程保留共享变量的副本,当这个线程进入或者离开同步 ...

密码加盐

我们以前的加密方法是否对这种行为失效了呢?其实只要稍微混淆一下就能防范住了,这在加密术语中称为“加盐”。具体来说就是在原有材料(用户自定义密码)中加入其它成分(一般是用户自有且不变的因素),以此来增加系统复杂度。当这种盐和用户密码相结合后,再通过摘要处理,就能得到隐蔽性更强的摘要值。下面请见代码: // 对密码进行加盐后加密,加密后再通过Hibernate往数据库里存        String changedPswd=DigestUtils.md5Hex(name+pswd); 就是这样简单,上面代码中盐就是用户名,可以的话还可以用用户注册时的邮件,注册时间等非空信息(如果是空信息这个加 ...

volatile

用在多线程,同步变量。 线程为了提高效率,将某成员变量(如A)拷贝了一份(如B),线程中对A的访问其实访问的是B。只在某些动作时才进行A和B的同步。因此存在A和B不一致的情况。volatile就是用来避免这种情况的。volatile告诉jvm, 它所修饰的变量不保留拷贝,直接访问主内存中的(也就是上面说的A) =========================分割线1================================= 版权声明 :转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://aleung.blogbus.com/logs/32090434.htm ...

script

总体情况下,setImmediate < readystatechange < onmessage < setTimeout 0 < requestAnimationFrame 因此我们可以简单封装一个快速执行异步function的方法: var setZeroTimeout = (function(){ if(window.setImmediate){ //IE10+版本,使用原生setImmediate return window.setImmediate; } else if("onreadystatechange" in documen ...

freemarker

    博客分类:
  • web
FreeMarker是一款模板引擎:一种基于模板的、用来生成输出文本的通用工具。 Web项目中,有时用其作为视图层技术来生成响应的html,其实下载的freemarker压缩包中已经有很多例子介绍如何在项目中使用。如图,有jsp的、struts中使用的等等,很详细。 下面还是就简单介绍一下如何使用,方便以后回忆: 准备:添加freemarker.jard到项目fmk 一、直接使用Freemarker模板替代jsp、html页面 1.web.xml配置 Xml代码  <!-- Freemarker模板servlect -->  <servlet>    ...
Eclipse默认没有带Freemarker Editor插件,Eclipse默认是以Text Editor的方式打开.ftl文件,所以需要先安装。 1、 到这个网址里下载freemarker-ide:http://sourceforge.net/projects/freemarker-ide/files/。 2、 下载freemarker-ide-0.9.14.zip完成后后解压,由于该IDE里面的freemarker版本较老,需要将现有(自己用的)版本的freemarker.jar(例如:freemarker-2.3.16.jar)替代原来的freemarker-2.3.6.jar,并修改: ...

添加外键

1.添加外键 有2个表 表stu create table stu (id int primary key auto_increment,stuName varchar(20) not null,clazzId int not null); 表clazzId create table clazz(clazzId primary key auto_increment,clazzName varchar(20) not null); 如果stu添加clazzId为外键,约束 constraint alter table stu add constraint fk_stu_clazz foreign ...
六种方式实现hibernate查询,及IDE推荐            这些天过的好乱,也许是因为考完试了,心里有些松懈吧。也许是最近发生的事对我有些触动 吧。感觉自己都已经不懂自己了。面对一些人的教导,我很感激。因为很多话都对我有非常大的帮助和 启发,也让我除了做技术,玩编程外,明白了很多道理,也许这就是一个人成熟的过程吧。我真的很希 望我能够忘掉以前的不懂事,忘掉以前的轻狂,踏踏实实的做技术。            自己的“真理”有时也会错,自己的想法有时也很“天真”。我真的很想静一静。晚饭后看了 一个在百度实习的师兄写的一篇日志,觉得写的很棒,明白了高手的一个定义,或者说是一种境界, ...
version(版本检查) 检查version/timestamp字段 all(全部) 检查全部字段 dirty(脏检查)只检察修改过的字段 none(不检查)不使用乐观锁定 强烈建议你在Hibernate中使用version/timestamp字段来进行乐观锁定。 对性能来说,这是最好的 ...
1.基本配置 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop ...
Global site tag (gtag.js) - Google Analytics