![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础整理
文章平均质量分 52
LukasLeong
这个作者很懒,什么都没留下…
展开
-
java.util包学习之Scanner类
Scanner类常用的场景为:1.控制台输入;2.字符串分割;3.文本整行读取。示例代码如下:package test.java.util;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import ja...原创 2018-02-26 23:18:41 · 1834 阅读 · 0 评论 -
Java基础之字符编码
原文地址:http://blog.csdn.net/u010737354/article/details/52456570英文字符和中文字符在不同字符集中的字节数,对比如下:字符编码起源和发展简介:1、美国人首先对其英文字符进行了编码,也就是最早的ascii码,用一个字节的低7位来表示英文的128个字符,高1位统一为0; 2、后来欧洲人发现尼玛你这128位哪够用...转载 2018-03-17 11:19:44 · 157 阅读 · 0 评论 -
Java基础之happens-before原则
程序次序规则:一个线程内,按照代码顺序,书写在前面的操作先行发生于书写在后面的操作锁定规则:一个unLock操作先行发生于后面对同一个锁额lock操作volatile变量规则:对一个变量的写操作先行发生于后面对这个变量的读操作传递规则:如果操作A先行发生于操作B,而操作B又先行发生于操作C,则可以得出操作A先行发生于操作C线程启动规则:Thread对象的start()方法先行发生于此线程的每个...转载 2018-02-28 23:59:06 · 188 阅读 · 0 评论 -
Java基础之内存模型
转载:http://www.importnew.com/18126.html大家都知道,计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入。由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时就存在一个问题,由于CPU执行速度很快,而从内存读取数据和向内存写入数据的过程跟CPU执行指令的速度比起来要慢的多,因此如果任何时候对数据的操作都要...转载 2018-02-28 23:55:24 · 113 阅读 · 0 评论 -
Java基础之volatile
先看一段代码,假如线程1先执行,线程2后执行://线程1boolean stop = false;while(!stop){ doSomething();} //线程2stop = true;这段代码是很典型的一段代码,很多人在中断线程时可能都会采用这种标记办法。但是事实上,这段代码会完全运行正确么?即一定会将线程中断么?不一定,也许在大多数时候,这个代码能够把线...转载 2018-02-28 23:39:12 · 96 阅读 · 0 评论 -
Java基础之hashCode
1.以String类的hashCode方法为例://jdk1.7源码 public int hashCode() { int h = hash; if (h == 0 && value.length > 0) { char val[] = value; for (int i = 0; i ...原创 2018-02-28 22:41:23 · 207 阅读 · 0 评论 -
Java基础之内存分配
堆:堆主要存放Java在运行过程中new出来的对象,凡是通过new生成的对象都存放在堆中,对于堆中的对象生命周期的管理由Java虚拟机的垃圾回收机制GC进行回收和统一管理。 栈:栈主要存放在运行期间用到的一些局部变量(基本数据类型的变量)或者是指向其他对象的一些引用,当一段代码或者一个方法调用完毕后,栈中为这段代码所提供的基本数据类型或者对象的引用立即被释放;另外需注意的是栈中存放变量的值是可...原创 2018-02-27 21:34:01 · 170 阅读 · 0 评论 -
Java基础之HashMap与HashTable的联系和区别
1.时间HashTable比HashMap出现的早一个版本,HashTable在1.1,HashMap在1.22.父类和接口相同:都实现了Map、Cloneable、Serializable接口不同:HashTable继承的是Dictionary抽象类,HashMap继承的是AbstractMap抽象类3.null处理 HashTable在存储null键时,进行hash计算时会抛出空指针异常;存储...原创 2018-02-27 15:05:33 · 165 阅读 · 0 评论 -
Java基础之高并发编程
1.Java并发基础JVM中存在一个主存区(Main Memory或Java Heap Memory),对于所有线程进行共享,而每个线程又有自己的工作内存(Working Memory),工作内存中保存的是主存中某些变量的拷贝,线程对所有变量的操作并非发生在主存区,而是发生在工作内存中,而线程之间是不能直接相互访问,变量在程序中的传递,是依赖主存来完成的。2.多线程的重要概念可见性:假设有一个变量...转载 2018-03-04 01:09:57 · 216 阅读 · 0 评论