Java
文章平均质量分 92
幸福奋斗史
这个作者很懒,什么都没留下…
展开
-
java实现变量的可见性
可见性就是当一个线程修改了共享变量的值,其他线程能够立即得知这个修改。java内存模型在变量修改后将新的变量值同步回主内存,在其他线程读取该变量之前从主内存刷新变量值来实现可见性。主要实现可见性的方式有三种:volatile,注意一点 volatile不能保证操作的原子性。synchronized,在对一个变量进行unlock操作之前,必须把变量值同步回主内存。final,被final关...原创 2019-08-17 10:28:50 · 1602 阅读 · 0 评论 -
最长递增子序列问题
详解见: https://segmentfault.com/a/1190000012754802下面用java代码实现一下这篇文章的思路。原创 2019-08-11 18:59:00 · 277 阅读 · 0 评论 -
java值传递和引用传递问题
首先,肯定的是java中是值传递,但是在偶然一次 coding 中发现了一个问题没反应过来,特此来记录一下。代码如下: public static void main(String[] args){ StringBuffer s1 = new StringBuffer("hello"); StringBuffer s2 = new StringBuff...原创 2019-08-08 17:16:16 · 154 阅读 · 0 评论 -
Java并发之 semaphore 的使用
文章转载自:https://www.cnblogs.com/miller-zou/p/6978422.html, 如有侵权请联系笔者删除,邮箱:hlxie_xidian@163.com一、简介那么什么是信号量呢?我用一种比较通俗的方式来跟大家解释一下,就是在该类初始化的时候,给定一个数字A,每个线程调用acquire()方法后,首先判断A是否大于0,如果大于0,就将A减去1,然后执行对应的线程...转载 2019-07-21 23:37:50 · 149 阅读 · 0 评论 -
Java 垃圾回收
本文转自 微信公众号:程序员小灰,文章名为:咱们从头到尾说一次 Java 垃圾回收如有侵权请联系笔者删除,邮箱:hlxie_xidian@163.com可以扫图关注订阅号程序员小灰,感觉蛮不错的。正文之前上学的时候有这个一个梗,说在食堂里吃饭,吃完把餐盘端走清理的,是 C++ 程序员,吃完直接就走的,是 Java 程序员。转载 2019-07-16 11:01:38 · 142 阅读 · 0 评论 -
Java中的管程,条件队列,Condition以及实现一个阻塞队列
转自:http://blog.csdn.net/iter_zc这篇里面有一些基本的概念,理解概念是件有意义的事情,只有理解概念才能在面对具体问题的时候找到正确的解决思路。先看一下管程的概念第一次在书上看到管程这个中文名称觉得很迷糊,管程到底是个什么东东,于是去找了英文原本对照一看,英文是Monitor,这不是监视器吗,更加迷糊了,为啥翻译成管程?去百科上搜了下管程,管程的定义如下:“一个管程定...转载 2019-07-09 21:08:53 · 776 阅读 · 0 评论 -
Java自带的排序
Java中自带了两种排序方法, 一种是 Collections.sort(), 另一种是 Arrays.sort()参考博文: https://blog.csdn.net/u011410529/article/details/56668545由上面的文章我们可以看出 自带的两种排序方法在 jdk1.7之前都用的是归并排序, 现在都用的是 TimSort, TimSort 算法的实现原理是:找...转载 2019-06-20 09:26:40 · 2312 阅读 · 0 评论 -
TimSort 原理
转自:https://blog.csdn.net/yangzhongblog/article/details/8184707翻译自 维基百科Timesort Timsort是结合了合并排序(merge sort)和插入排序(insertion sort)而得出的排序算法,它在现实中有很好的效率。Tim Peters在2002年设计了该算法并在Python中使用(TimSort 是 Py...转载 2019-06-20 09:20:22 · 492 阅读 · 0 评论