![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
lllgooo
java爱好者
展开
-
2个线程交替打印大小写英文字母
使用wait() 和 nodify() 实现线程之间的切换。所以需要synchronized以及lock进行同步代码。因为俩个线程需要切换,必然需要一个标示flag决定线程是等待还是获得锁。 volatile 的特性 保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。(实现可见性) 禁止进行指令重排序。(实现有序性) volatile 只能保证对单次读/写的原子性。i++ 这种操作不能保证原子性。实...原创 2020-08-11 13:27:30 · 804 阅读 · 0 评论 -
java-递归生成树tree数据
//allResource为所有的资源;pid为树的最顶端id;parent为最终的结果集;TreeData为树类。List<TreeData<MngResource>> reserveTree(List<TreeData<MngResource>> parent,List<MngResource> allResource,Strin...原创 2018-07-20 09:39:24 · 2026 阅读 · 0 评论 -
java中BigDecimal精确位数的计算
1、ROUND_UP public final static int ROUND_UP = 0解释:舍入远离零的模式。进1法,即不管后面的数字是多大,都进1。2、ROUND_DOWN public final static int ROUND_DOWN = 1;解释:接近零的舍入模式。去1法,即不管后面的数字多大,都直接舍去。3、ROUND_CEILING...原创 2019-05-19 10:46:39 · 6440 阅读 · 0 评论