`
文章列表
感谢:多线程基础总结八--ReentrantReadWriteLock  ReentReadWriteLock   // 可重入的读/写锁    - 它和ReentrantLock都是单独的实现,不存在继承,实现的关系!   -  它分读锁 和 写锁两部分!readLock() 和 writeLock()   -   多个线程可以同时对一块资源进行读!但是,这是就不能进行写了!排斥写 ,因为读锁,并不涉及对资源的修改,也就不存在线程安全的问题!   -  然而,写锁间却是互斥的!一个写锁套在某块资源上,别的线程就不能再读或写了!  读-读能共存,读-写不能共存,写-写不能共存   ...
推荐 : ReentrantLock与synchronized 1. 什么是可重入锁?    - “就是可以重新获得锁!”可重入的意思是线程可以重复获得它已经持有的锁。Java的synchronized块是可重入的。   看下面代码 : public class Reentrant{ public synchronized outer ...
1. 什么是泛型中的限定通配符和非限定通配符?     限定通配符对类型进行了限制。有两种限定通配符,一种是<? extends T>,它通过确保类型必须是T的子类来设定类型的上界,另一种是<? super T>它通过确保类型必须是T ...
参考 : 探索 ConcurrentHashMap 高并发性的实现机制   这两个类都是线程安全的,但是 Hashtable 是通过给每一个方法加锁,(synchronized) ,这样每次操作都会锁住整个表!    看源码 :       public synchronized V get(Object key) { ...

阻塞队列

参考 聊聊并发(七)——Java中的阻塞队列 阻塞队列(BlockingQueue) 1. 阻塞队列很高级吗?    - 不要畏惧!,对个线程访问阻塞队列的共享资源的时候,严格按照队列的规矩,先进先出!    - 队列满了,就阻塞,队列空了,也阻塞!这样在,生产者-消费者模型中,可以用一个阻塞队列来    - 存放生产的(共享资源)!    - 好处; 多线程操作共同的队列时不需要额外的同步,另外就是队列会自动平衡负载,即那边(生产与消费两边)处理快了就会被阻塞掉,从而减少两边的处理速度差距。    - 有个问题,阻塞队列是怎么做到,一个线程对共享资源的操作,及时刷新到主内存中, ...

Join方法小结

 Join  方法的意思就是后面的线程要运行 ,只有调用join方法的这个线程is dead 或 超过指定的时间,才能执行; public final void join() //只有当前线程isdead 后面的才能运行 public final synchronized void join(long millis) // 线程isdead or over millis   public class ThreadJoinExample { public static void main(String[] args) { Thread t1 = ...
参考深入理解Java内存模型 《深入理解Java内存模型》读书总结   1.重排序是怎么一回事?    - 编译器排序 和 运行期重排序    - 访问一个程序变量(对象实例字段,类静态字段和数组元素)可能会使用不同的顺序执行,   ...
原本以为HQL(Hibernate Query  Language) 只是一种查询语言,只能进行DDL操作,可是当我利用Hibernate的API进行update的时候,如果进行配置,默认就会更新整行!太不人道了!   配置方法 :       在Annotation中 在属性GET方法上加 ...
  我通过valueStack 查看值栈中的元素,返现model中一个字段topics 与 action中的字段topics重名了,而且,model层在action的上面,也就是说,struts2框架是创建了action,压入值栈,然后在创建的model(我用的ModelDriven) ,当jsp获取valuestack中的信息的时候,先找到那个就会用哪个,所以model中空的topics就会被采用了!
private List<VTopic> tranformList(List<Topic> ts) { List<VTopic> topics = new ArrayList<VTopic> (); // 注册装换器 EntityVoConverter evc = new EntityVoConverter(); ConvertUtils.register(evc, VCategory.class); ConvertUtils.register(evc, User.class); ConvertUtils.re ...
如何在本机搭建SVN服务器 MyEclipse中SVN的使用 svn 版本管理工具   关于svn的安装: 安装客户端 :TortoiseSVN 它是干什么的?   通过它只要我们知道别的开源程序的svn地址 , 那么鼠标右键,就会有一个tortorise的图标,它下面有 ...
 1. 干什么?  - 操作bean的,java web开发中,vo , entity 间不同对象,但是他们的属性几乎一样,beanUtil可以帮你把一个对象的属性copy到另一个属性中去!只是这其中有些注意点,规矩是工具包的作者制定的,我们得按照他的规矩来!     BeanUtils.setProperty(Obejct bean, String name, Object value); // 通过这个方法 你可以给bean的字段赋值,即使name在bean中不存在他也不会报错! // 但是如果你想通过getProperty(Obejct bean ,String name) ...
参考博客 :yunsuanipv4    IP地址就65536个 , 怎么支撑起全球的IP需求?     - 要知道路由寻址的时候,并不是x.x.x.x ,就路由到x.x.x.x     - IP地址是由网络号 + 主机号 两部分组成。x.x.x.x/? , 路由的时候,它是先匹配到相同的网络号,然后    - 再在这个子网中查看相应的主机号的。所以,网络是又一个一个的子网的构成。    - 129.134.22.0/24 (CIDR 无分类编址),/24 就表示这个子网IP地址的前24位都是129.134.22 ,主机号的范围 1-254 ,主机号不能全为1 或 0;/24记法 ...

House Robber

  You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that adjacent houses have security system connected and it will automatically contact the police if two adjacent ho ...

oracle date 比较

 
select * from topic where create_time > '2014-04-02';     ORA-01861: 文字与格式字符串不匹配    原因 : 这样比较的话,左边是日期,而右边是字符串!   所以先要进行转换 ,   一种是 :   select * from topic where create_time > to_date('2014-04-02','yyyy-mm-dd');  另一种 :    select * from topic where to_char(create_time,'yyyy-dd-mm') &g ...
Global site tag (gtag.js) - Google Analytics