文章分类 -  面试

摘要:读后感 介绍了volatile实现可见性的基本原理 介绍了volatile不能实现原子性的示例,volatile复合操作不能实现原子性,读取值后在自增前改值可能被其它线程读取并修改,自增后刷新值可能会覆盖其它线程修改后的值 介绍了实现原子性的三种方法及示例 synchronized 修饰对象 Ree 阅读全文
posted @ 2019-06-21 14:16 天涯海角路 阅读(269) 评论(0) 推荐(0)
摘要:概念原子性:一个操作或多个操作要么全部执行完成且执行过程不被中断,要么就不执行。 可见性:当多个线程同时访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值。 有序性:程序执行的顺序按照代码的先后顺序执行。线程执行引擎 可见性可见性是指当多个线程访问同一个变量时,一个线程修改 阅读全文
posted @ 2019-06-21 11:54 天涯海角路 阅读(367) 评论(0) 推荐(0)
摘要:除了提供诸如同步控制,线程池等基本工具外,为了提高开发人员的效率,JDK已经为我们准备了一大批好用的并发容器,这些容器都是线程安全的,可以大大减少开发工作量。你可以在里面找到链表、HashMap、队列等。你可以在里面找到链表、HashMap、队列等。 JDK提供的这些容器大部分在java.util. 阅读全文
posted @ 2019-06-21 11:24 天涯海角路 阅读(206) 评论(0) 推荐(0)
摘要:由于java的CAS同时具有 volatile 读和volatile写的内存语义,因此Java线程之间的通信现在有了下面四种方式: A线程写volatile变量,随后B线程读这个volatile变量。 A线程写volatile变量,随后B线程用CAS更新这个volatile变量。 A线程用CAS更新 阅读全文
posted @ 2019-06-21 11:22 天涯海角路 阅读(329) 评论(0) 推荐(0)
摘要:数据类型的转换,分为自动转换和强制转换。自动转换是程序在执行过程中“悄然”进行的转换,不需要用户提前声明,一般是从位数低的类型向位数高的类型转换;强制类型转换则必须在代码中声明,转换顺序不受限制。 自动数据类型转换 自动转换按从低到高的顺序转换。不同类型数据间的优先关系如下: 低 >高 byte,s 阅读全文
posted @ 2019-06-20 21:40 天涯海角路 阅读(281) 评论(0) 推荐(0)
摘要:所谓的占用字节数 就是申请内存的时候所占的空间大小byte 1字节 最小值是 -128(-2^7); 最大值是 127(2^7-1);boolean 至少1字节 这种类型只作为一种标志来记录 true/false 情况;short 2字节 最小值是 -32768(-2^15); 最大值是 32767 阅读全文
posted @ 2019-06-20 21:38 天涯海角路 阅读(540) 评论(0) 推荐(0)
摘要:首先结论是:java中静态属性和和静态方法可以被继承,但是没有被重写(overwrite)而是被隐藏。 静态方法和属性是属于类的,调用的时候直接通过类名.方法名完成的,不需继承机制就可以调用如果子类里面定义了静态方法和属性,那么这时候父类的静态方法 或属性称之为“隐藏”,你如果想要调用父类的静态方法 阅读全文
posted @ 2019-06-20 17:16 天涯海角路 阅读(389) 评论(0) 推荐(0)
摘要:java中静态属性和静态方法可以被继承,但是没有被重写(overwrite)而是被隐藏. 原因: 1). 静态方法和属性是属于类的,调用的时候直接通过类名.方法名完成对,不需要继承机制及可以调用。如果子类里面定义了静态方法和属性,那么这时候父类的静态方法或属性称之为"隐藏"。如果你想要调用父类的静态 阅读全文
posted @ 2019-06-20 17:15 天涯海角路 阅读(1054) 评论(0) 推荐(1)
摘要:1.静态属性和静态方法是否可以被继承?是否可以被重写?1)先说是否可以被继承 1public class One { //静态属性和静态方法是否可以被继承?是否可以被重写?以及原因? public static String one_1 = "one"; public static void one 阅读全文
posted @ 2019-06-20 17:14 天涯海角路 阅读(276) 评论(0) 推荐(0)
摘要:socket中的TCP_IP的三次握手与四次挥手:(一)socket中TCP的三次握手建立连接:(1)tcp建立连接要进行“三次握手”,即交换三个分组。大致流程如下:客户端向服务器发送一个SYN J服务器向客户端响应一个SYN K,并对SYN J进行确认ACK J+1客户端再想服务器发一个确认ACK 阅读全文
posted @ 2019-06-20 16:48 天涯海角路 阅读(131) 评论(0) 推荐(0)
摘要:又是一个失眠的夜晚,反正睡不着,写篇日记总结一下我最近面试经历吧。2019年5月1日办理了离职手续,离开了万通中心,也算是和我的第二个东家正式说了再见,其实还是很喜欢国贸的,这是个美妙的地方,容纳着很多金融界人才们的梦想,每每晚上走到这里你会感叹帝都的夜景好美,只可惜这里的多数人都顾不上欣赏这里的风 阅读全文
posted @ 2019-06-20 11:52 天涯海角路 阅读(201) 评论(0) 推荐(0)
摘要:ArrayList、LinkedList、Vector是集合中经常拿来比较和面试的一个问题,我这里简要概括一下他们的区别和实现原理。存储结构ArrayList和Vector是按照顺序将元素存储(从下表为0开始),删除元素时,删除操作完成后,需要使部分元素移位,默认的初始容量都是10.ArrayLis 阅读全文
posted @ 2019-06-18 22:32 天涯海角路 阅读(278) 评论(0) 推荐(0)
摘要:1、Vector、ArrayList都是以类似数组的形式存储在内存中,LinkedList则以链表的形式进行存储。 2、List中的元素有序、允许有重复的元素,Set中的元素无序、不允许有重复元素。 3、Vector线程同步,ArrayList、LinkedList线程不同步。 4、LinkedLi 阅读全文
posted @ 2019-06-18 22:30 天涯海角路 阅读(145) 评论(0) 推荐(0)
摘要:1、 ArrayList底层是采用数组实现的(并且改数组的类型是Object类型的)2 如果是jdk6的话,采用Array.of()方法来生成一个新的数组,如果是jdk5.0的话,使用的是System.arraycopy方法(将数组拷贝)3 、List list = new ArrayList(); 阅读全文
posted @ 2019-06-18 22:28 天涯海角路 阅读(77) 评论(0) 推荐(0)
摘要:1、为什么用HashMap? HashMap是一个散列桶(数组和链表),它存储的内容是键值对(key-value)映射HashMap采用了数组和链表的数据结构,能在查询和修改方便继承了数组的线性查找和链表的寻址修改HashMap是非synchronized,所以HashMap很快HashMap可以接 阅读全文
posted @ 2019-06-17 18:54 天涯海角路 阅读(179) 评论(0) 推荐(0)
摘要:1. 1元现金分10个红包 微信 算法实现1.计算时间 微信金额是拆的时候实时算出来,不是预先分配的,采用的是纯内存计算,不需要预算空间存储。 采取实时计算金额的考虑:预算需要占存储,实时效率很高,预算才效率低。2.分配算法 随机产生,额度在0.01-(剩余平均值 * 2)之间。 假如发1块钱,总共 阅读全文
posted @ 2019-06-17 18:09 天涯海角路 阅读(212) 评论(0) 推荐(0)
摘要:Java虚拟机内存,是指JVM的运行时数据区域,主要分为:方法区、堆、虚拟机栈、本地方法栈、程序计数器。其中方法区和堆为索引线程的共享数据区,而虚拟机栈、本地方法栈、程序计数器为线程隔离的数据区。 程序计数器 每个线程都有一个独立的计数器用来记录程序当前执行的指令,可以看成是当前线程所执行的字节码的 阅读全文
posted @ 2019-06-17 16:47 天涯海角路 阅读(110) 评论(0) 推荐(0)
摘要:Android 应用运行在 Java 虚拟机上,每打开一个 Android app 都会打开一个独立的虚拟机。运行虚拟机时会在设备的寄存器上开辟一块内存空间作为虚拟机的内存区域。虚拟机的内存区域一般划分为堆、栈、方法区/静态存储区、运行时常量池、本地方法栈等。 堆、栈 堆是不连续的内存区域(因为系统 阅读全文
posted @ 2019-06-17 16:45 天涯海角路 阅读(169) 评论(0) 推荐(0)
摘要:1、初步认识 观察者模式的定义: 在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。 大白话: 其实就是发布订阅模式,发布者发布信息,订阅者获取信息,订阅了就能收到信息,没订阅就收不到信息。 2、这个模式的结构图 3、可以看到,该模式包含四个角色 抽象被观 阅读全文
posted @ 2019-06-15 21:46 天涯海角路 阅读(114) 评论(0) 推荐(0)
摘要:一、20182018年的年假休完了,正式进入2019的工作中。也该规划一下自己的职业生涯了;是选择继续从事Android(android的话已经火了几年了,现在算是进入寒冬了,需要考虑清楚)?还是从事Java方面?还是改管理方面?如果继续从事Android方面,那么就要往资深的发展(需要搞Frame 阅读全文
posted @ 2019-06-15 21:12 天涯海角路 阅读(7482) 评论(0) 推荐(0)