计数排序(Counting sort)是一种稳定的线性时间排序算法,其平均时间复杂度和空间复杂度为O(n+k),其中n为数组元素的个数,k为待排序数组里面的最大值。同样具有线性时间排序的算法还有桶排序和基数排序,这一点不要搞...
阅读(4) 评论(0)
### 前言 理解HashMap和ConcurrentHashMap的重点在于: (1)理解HashMap的数据结构的设计和实现思路 (2)在(1)的基础上,理解ConcurrentHashMap的并发安全的设计和实现思...
阅读(14) 评论(0)
# 关于Java里面多线程同步的一些知识 对于任何Java开发者来说多线程和同步是一个非常重要的话题。比较好的掌握同步和线程安全相关的知识将使得我们则更加有优势,同时这些知识并不是非常容易就能熟练掌握的,实际上写出正确的并发...
阅读(20) 评论(0)
# Java单例模式之双检锁剖析 ### 前言 单例模式在Java开发中是非常经典和实用的一种设计模式,在JDK的内部包的好多api都采用了单例模式,如我们熟悉的Runtime类,单例模式总的来说有两种创建方式,一种是延迟...
阅读(20) 评论(0)
# 关于Java里面多线程同步的一些知识 对于任何Java开发者来说多线程和同步是一个非常重要的话题。比较好的掌握同步和线程安全相关的知识将使得我们则更加有优势,同时这些知识并不是非常容易就能熟练掌握的,实际上写出正确的并发...
阅读(16) 评论(0)
# 重新认识同步与异步,阻塞和非阻塞的概念 ### 前言 在实际的开发中,我们经常会听到同步,异步,阻塞,非阻塞这些编程概念,每次遇到的时候都会蒙圈,然后就各种查网上似是而非的资料,结果越查越迷糊,大部分文章都千篇一律,没...
阅读(14) 评论(0)
### (一)创建线程的方式 (1)实现Runnable接口 (2)继承Thread类 推荐使用接口,能够做到定义与实现分离,耦合更低 ### (二)关于线程的优先级   thread2.setPrio...
阅读(13) 评论(0)
# 关于Java里面的字符串拼接,你了解多少? ###  前言 字符串拼接是我们日常开发中很常见的操作,虽然常见,但要是使用不当的的话,很有可能让你的程序处理效率降低一大半,所以我们有必要来重新了解一下Java...
阅读(13) 评论(0)
# Java里面volatile关键字修饰引用变量的陷阱 如果我现在问你volatile的关键字的作用,你可能会回答对于一个线程修改的变量对其他的线程立即可见。这种说法没多大问题,但是不够严谨。 严谨的回答应该是volat...
阅读(17) 评论(0)
前面的几篇文章主要介绍了Java的内存模型,进程和线程的定义,特点和联系,其中在Java多线程里面有一个数据不可见的问题而我们知道使用volatile可以解决,但是如何证明这个多线程修改共享数据是不可见的呢? 很简单,看下...
阅读(18) 评论(0)
# 给Java字节码加上”翅膀“的JIT编译器 上面文章在介绍Java的内存模型的时候,提到过由于编译器的优化会导致重排序的问题,其中一个比较重要的点地方就是关于JIT编译器的功能。JIT的英文单词是Just In Tim...
阅读(12) 评论(0)
# Java进阶之内存模型介绍 ### 前言 不管在什么编程语言里面,读取和写入都是我们程序最普遍的操作,在单线程的程序里面我们可能不关注线程的读写问题,但是一旦到多线程的环境下,读和写就会变得非常敏感。Java内存模型实...
阅读(16) 评论(0)
原创发自我的公众号:我是攻城师 https://mp.weixin.qq.com/s?__biz=MzAxMzE4MDI0NQ==&mid=2650335998&idx=1&sn=33ec033a05...
阅读(17) 评论(0)
iteye不支持markdown格式,建议大家点击我csdn的连接看文章 https://blog.csdn.net/u010454030/article/details/80709515 ### (一) 前言...
阅读(23) 评论(0)
今天刚开通了我的知识星球-攻城师在路上,欢迎大家加入,目前前50名按最低费用收费50元一年,后面会根据人数情况调整。 希望通过这么一个圈子,让大家信息资源共享,力争每天都有收获和进步。我会尽量解答各种提问的问题,并不定时的分...
阅读(28) 评论(0)
1 2 3 4 5 6 7 8 ... 下一页共23页  到第