![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 64
枫凯
这个作者很懒,什么都没留下…
展开
-
java的并发简单小结
1.原子性一个操作或多个操作要么全部执行完成且执行过程不被中断,要么就不执行。2.可见性当多个线程同时访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值。3.有序性程序执行的顺序按照代码的先后顺序执行。关键字volatile:保证了可见性,但不保证原子性原子性用AtomaticInt等类解决可见性,可用synchronize原创 2017-12-19 17:30:07 · 199 阅读 · 0 评论 -
JAVA中byte类型的介绍
Java也提供了一个byte数据类型,并且是基本类型。java byte是做为最小的数字来处理的,因此它的值域被定义为-128~127,也就是signed byte。不幸的是,byte的用作计数的时间远少于用表达基本内存单元的时间。比如从stream里读入一个双字节字符,我们先收到2个byte。为了把byte转换成适当的形式,需要对byte值做一些比较,比如判断字符集要比较其是否在某个原创 2018-01-05 00:03:52 · 20695 阅读 · 0 评论 -
Java中ArrayList和LinkedList区别
一般大家都知道ArrayList和LinkedList的大致区别: 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 3.对于新增和删除操作add和remove,LinedList比较占优势原创 2017-12-29 09:40:41 · 198 阅读 · 0 评论 -
String、StringBuffer与StringBuilder之间区别
1.三者在执行速度方面的比较:StringBuilder > StringBuffer > String2.String String:字符串常量StringBuffer:字符创变量StringBuilder:字符创变量3.StringBuilder与 StringBufferStringBuilder:线程非安全的StringBuff原创 2017-12-28 16:49:55 · 165 阅读 · 0 评论 -
java四种线程池的使用
Java通过Executors提供四种线程池,分别为:1.newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。线程池为无限大,当执行第二个任务时第一个任务已经完成,会复用执行第一个任务的线程,而不用每次新建线程。package test;import java.util.concurrent.原创 2017-12-28 09:53:50 · 150 阅读 · 0 评论 -
HashMap实现原理分析
1. HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特点是:寻址困难,插入和删除转载 2017-12-27 18:23:17 · 166 阅读 · 0 评论 -
线程池的小结
线程池的优点:频繁使用的线程可用线程池管理,提高线程的复用,减少资源的开销。线程池由下列组成:1.线程池管理器(ThreadPool)创建管理线程池2.工作线程(PoolWorker)可以循环的执行任务3.任务接口(Task)每个任务必须实现的接口4.任务队列(TaskQueue)存放没执行的任务线程池类为 java.util.concurren原创 2017-12-14 18:10:07 · 161 阅读 · 0 评论 -
java对象的强引用,软引用,弱引用和虚引用
1.强引用大部分实际使用都是强引用,程序出现内存不足时也不会回收该对象。宁愿出现OOM终止。2.软引用(SoftReference)内存空间出现不足的时候就会回收这些对象的内存。与ReferenceQueue(引用队列)联合使用。3.弱引用(WeakReference)垃圾回收器,一旦发现有弱引用的对象,无论内存足够与否,都会回收。与ReferenceQueue原创 2017-12-14 10:30:12 · 153 阅读 · 0 评论 -
Java的几大特征简要说明
1.抽象对象的共同特征总结出来构造类的过程。2.封装将类的某些方法或者变量设置为对外不可访问性,只向外提供简单的接口。3.继承子类通过继承拥有父类的某些方法或者变量的特征。4.多态允许不同子类型的对象对同一消息作出不同的响应。这个比较难理解。可以举例说明。 public static void main(String[] args) {原创 2017-12-21 18:13:33 · 408 阅读 · 0 评论 -
线程的原子性类的实例
很多人问像AtomicInteger类是在哪个方面使用的?这里贴下一段测试代码:public class ThreadDemo { static int count = 0; public static void main(String[] args) { for (int i = 0; i < 10; i++) { new Thread() {原创 2017-12-21 10:51:59 · 335 阅读 · 0 评论 -
java中的char类型
一:char的初始化char是Java中的保留字,与别的语言不同的是,char在Java中是16位的,因为Java用的是Unicode。不过8位的ASCII码包含在Unicode中,是从0~127的。Java中使用Unicode的原因是,Java的Applet允许全世界范围内运行,那它就需要一种可以表述人类所有语言的字符编码。Unicode。但是English,Spanish,Ge原创 2018-01-05 09:49:29 · 398 阅读 · 0 评论