java面试题
happy_bigqiang
这个作者很懒,什么都没留下…
展开
-
小端格式和大端格式(Little-Endian&Big-Endian)
转载连接:http://www.cnblogs.com/passingcloudss/archive/2011/05/03/2035273.html不同的CPU有不同的字节序类型,这些字节序是指整数在内存中保存的顺序。 最常见的有两种: 1. Little-endian:将低序字节存储在起始地址(低位编址) 2. Big-endian:将高序字节存储在起始地址(高位编址)LE(little-e转载 2017-07-31 11:10:43 · 1358 阅读 · 0 评论 -
java基础知识
Java中的equals()方法以及与”==”的区别: 基本类型,如int,char,long,boolean。 没有equals方法,只有==只比较值,因为基本数据类型存在栈里也不能new,最关键的一点是只有对象才能调方法 (总结:基本数据类型只有==进行比较,只比较值)引用数据类型,如Integer,Byte,Long,Character,Boolean 引用数据类型是可以new的,而转载 2018-04-19 11:46:27 · 217 阅读 · 0 评论 -
数据库总结
参考:https://blog.csdn.net/login_sonata/article/details/75268075B树和B+树:B树是由平衡二叉树为雏形,特点: M阶(指的是某个节点的最多的孩子节点数,即某个节点的指针数)的B树具有如下属性: 1、 根结点的儿子数为[2, M] 2、 除根结点以外的非叶子结点的儿子数的范围是[M/2, M],左边向上取整; 3、 非叶原创 2018-05-01 21:03:26 · 175 阅读 · 0 评论 -
java并发编程基础()
一、基础概念: ○同步和异步: 同步,异步通常是用来形容一次方法的调用。同步方法一旦开始,调用者必须等到方法调用返回侯,才能继续后续的行为。异步方法更像一个消息传递。○并发和并行: 严格意义讲:并行的多个任务是真实的同时进行;并发是,这个过程交替进行,对外部观察者来说,即使多个任务之间是串行并发的,也会造成多任务间是并行执行的错觉。 ○阻塞和非阻塞: 用来形...原创 2018-04-19 11:45:49 · 198 阅读 · 0 评论 -
Java虚拟机
1、 java代码->字节码->装载机器指令(运行)(Java虚拟机负责将字节码转换为机器指令) 2、 JIT:将xxx.class->(编译)本地机器指令 3、 线程共享:堆区,方法去,运行时常量池 4、 线程私有:PC寄存器,虚拟机栈,本地方法栈 5、 加载->链接:(验证,准备,解析)-》初始化每个方法执行时,都会创建一个独立的栈帧;Java...原创 2018-06-10 20:02:36 · 218 阅读 · 0 评论 -
ArrayList线程不安全举例说明并解决
列举一个例子说明ArrayList线程不安全:最终解决方法:将ArrayList换成CopyOnWriteArrayList;分析如下:原创 2019-05-19 19:05:05 · 1002 阅读 · 0 评论 -
Volatile是什么,CAS是什么:
轻量级的同步机制:保证可见性,不保证原子性,禁止指令重排。Volatile就是乞丐版的synchronizid 。volatile实现禁止指令重排优化,从而避免多线程环境下程序出现乱序执行的现象。先了解一个概念,内存屏障又称内存栅栏,是一个CPU指令,它的作用有两个:一是保证特定操作的执行顺序二是保证某些变量的内存可见性(利用该特性实现volatile的内存可见性)由于编译器和处理器都能...原创 2019-05-19 19:10:08 · 1066 阅读 · 0 评论 -
从i++, ++i理解局部变量表和操作数栈
看一个面试题:public static void main(String[] args) { int i = 1; i = i++; int j = i++; int k = i + ++i * i++; System.out.println("i=" + i); System.out.println("j=" + j); System.out.println("k...原创 2019-05-21 20:26:00 · 5447 阅读 · 11 评论