多线程、并发及线程的基础问题 1)Java 中能创建 volatile 数组吗? 2)volatile 能使得一个非原子操作变成原子操作吗? 3)volatile 修饰符的有过什么实践?...20)我们能将 int 强制转换为 byte 类型的变量吗?如果该值大于 byte 类型的 范围,将会出现什么现象? 21)存在两个类,B 继承 A,C 继承 B,我们能将 B 转换为 C 么?...23)Java 中 ++ 操作符是线程安全的吗? 24)a = a + b 与 a += b 的区别 25)我能在不进行强制转换的情况下将一个 double 值赋值给 long 类型的变量 吗?...为什么要使用接口而不是直接使用具体类? 104)Java 中,抽象类与接口之间有什么不同? 105)除了单例模式,你在生产环境中还用过什么设计模式? 106)你能解释一下里氏替换原则吗?...为什么会有这个问题? 108)适配器模式是什么?什么时候使用? 109)什么是“依赖注入”和“控制反转”?为什么有人使用? 110)抽象类是什么?它与接口有什么区别?你为什么要使用过抽象类?
30、我能在不进行强制转换的情况下将一个 double 值赋值给 long 类型的变量吗? 31、说出几条 Java 中方法重载的最佳实践? 32、Java 程序是怎样运行的?...33、什么是“依赖注入”和“控制反转”?为什么有人使用? 34、Java 中,Maven 和 ANT 有什么区别? 35、方法区的作用是什么? 36、接口和抽象类有什么区别?...77、String str=”aaa”,与String str=new String(“aaa”)一样吗? 78、什么是建造者模式 79、你能解释一下里氏替换原则吗? ...35、什么是线程组,为什么在Java中不推荐使用? 36、创建线程的有哪些方式? 37、什么是线程池? 38、线程池的执行原理? 39、假设数组内有5个元素,如果对数组进行反序,该如何做?...为什么要打破? 51、CopyOnWriteArrayList可以用于什么应用场景? 52、我们能将 int 强制转换为 byte 类型的变量吗?
102、在没有使用临时变量的情况如何交换两个整数变量的值? 103、接口是什么?为什么要使用接口而不是直接使用具体类? 104、Java 中,抽象类与接口之间有什么不同?...106、你能解释一下里氏替换原则吗? 107、什么情况下会违反迪米特法则?为什么会有这个问题? 108、适配器模式是什么?什么时候使用? 109、什么是“依赖注入”和“控制反转”?为什么有人使用?...106、你能解释一下里氏替换原则吗? 首先,这是编译器的要求,如果不这么做,无法通过编译。其次,面向对象的编程,其中继承有个大原则,任何子类的对象都可以当成父类的对象使用。...109、什么是“依赖注入”和“控制反转”?为什么有人使用?...控制反转(IOC)是 Spring 框架的核心思想,用我自己的话说,就是你要做一件事,别自己可劲 new 了,你就说你要干啥,然后外包出去就好~依赖注入(DI) 在我浅薄的想法中,就是通过接口的引用和构造方法的表达
6、什么是线程组,为什么在 Java 中不推荐使用? 7、为什么使用 Executor 框架? 8、在 Java 中 Executor 和 Executors 的区别?...20、我们能将 int 强制转换为 byte 类型的变量吗?如果该值大于 byte 类型的范围,将会出现什么现象? 21、存在两个类,B 继承 A,C 继承 B,我们能将 B 转换为 C 么?...24、a = a + b 与 a += b 的区别 25、我能在不进行强制转换的情况下将一个 double 值赋值给 long 类型的变量吗? 26、3*0.1 == 0.3 将会返回什么?...102、在没有使用临时变量的情况如何交换两个整数变量的值? 关于 OOP 和设计模式的面试题 103、接口是什么?为什么要使用接口而不是直接使用具体类?...106、你能解释一下里氏替换原则吗? 107) 什么情况下会违反迪米特法则?为什么会有这个问题? 108、适配器模式是什么?什么时候使用? 109、什么是“依赖注入”和“控制反转”?为什么有人使用?
6、什么是线程组,为什么在 Java 中不推荐使用? 7、为什么使用 Executor 框架? 8、在 Java 中 Executor 和 Executors 的区别?...20、我们能将 int 强制转换为 byte 类型的变量吗?如果该值大于 byte 类型的范围,将会出现什么现象? 21、存在两个类,B 继承 A,C 继承 B,我们能将 B 转换为 C 么?...24、a = a + b 与 a += b 的区别 25、我能在不进行强制转换的情况下将一个 double 值赋值给 long类型的变量吗? 26、3*0.1 == 0.3 将会返回什么?...102、在没有使用临时变量的情况如何交换两个整数变量的值? 关于 OOP 和设计模式的面试题 103、接口是什么?为什么要使用接口而不是直接使用具体类?...106、你能解释一下里氏替换原则吗? 107) 什么情况下会违反迪米特法则?为什么会有这个问题? 108、适配器模式是什么?什么时候使用? 109、什么是“依赖注入”和“控制反转”?为什么有人使用?
2、访问修饰符 public,private,protected,以及不写(默认)时的区别? 3、String 是最基本的数据类型吗? 4、float f=3.4;是否正确?...20、我们能将 int 强制转换为 byte 类型的变量吗?如果该值大于byte 类型的范围,将会出现什么现象? 21、存在两个类,B 继承 A ,C 继承 B,我们能将 B 转换为 C 么?...24、a = a + b 与 a += b 的区别 25、我能在不进行强制转换的情况下将一个 double 值赋值给 long类型的变量吗? 26、3*0.1 == 0.3 将会返回什么?...106、你能解释一下里氏替换原则吗? 107、什么情况下会违反迪米特法则?为什么会有这个问题? 108、适配器模式是什么?什么时候使用? 109、什么是“依赖注入”和“控制反转”?为什么有人使用?...补充:我们为编写的类重写 hashCode 方法时,可能会看到如下所示的代码,其实我们不太理解为什么要使用这样的乘法运算来产生哈希码(散列码),而且为什么这个数是个素数,为什么通常选择 31 这个数?
如果你知道该成员变量会被多个线程访问,如计数器、价格等,你最好是将其设置为 volatile。为什么?...byte 就会编译出错) 25)我能在不进行强制转换的情况下将一个 double 值赋值给 long 类型的变量吗?...106)你能解释一下里氏替换原则吗?(答案) 107) 什么情况下会违反迪米特法则?为什么会有这个问题?(答案) 迪米特法则建议“只和朋友说话,不要陌生人说话”,以此来减少类之间的耦合。...109)什么是“依赖注入”和“控制反转”?为什么有人使用?(答案) 110)抽象类是什么?它与接口有什么区别?你为什么要使用过抽象类?...你如果看到了这里,我也给你点个赞! 复制代码 我可以保证,如果你能回答列表中的所有问题,你就可以很轻松的应付任何核心 Java 或者高级 Java 面试。
我确定你在自己的面试中见过很多这些问题,很多问题你也能正确回答。 多线程、并发及线程的基础问题 1)Java 中能创建 volatile 数组吗?...如果你知道该成员变量会被多个线程访问,如计数器、价格等,你最好是将其设置为 volatile。为什么?...106)你能解释一下里氏替换原则吗?(答案) 107) 什么情况下会违反迪米特法则?为什么会有这个问题?(答案) 迪米特法则建议“只和朋友说话,不要陌生人说话”,以此来减少类之间的耦合。...109)什么是“依赖注入”和“控制反转”?为什么有人使用?(答案) 110)抽象类是什么?它与接口有什么区别?你为什么要使用过抽象类?...我可以保证,如果你能回答列表中的所有问题,你就可以很轻松的应付任何核心 Java 或者高级 Java 面试。
volatile 变量和 atomic 变量有什么不同 volatile 类型变量提供什么保证?能使得一个非原子操作变成原子操作吗 能创建 volatile 数组吗?...为什么静态方法不能访问成员变量 switch switch 语句中的表达式可以是什么类型数据 switch 是否能作用在byte 上,是否能作用在long 上,是否能作用在String上 while 循环和...long 类型 怎么将 byte 转换为 String 如何将数值型字符转换为数字 我们能将 int 强制转换为 byte 类型的变量吗?...如果该值大于 byte 类型的范围,将会出现什么现象 能在不进行强制转换的情况下将一个 double 值赋值给 long 类型的变量吗 类型向下转换是什么 数组 如何权衡是使用无序的数组还是有序的数组...但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个” 给定 2 个包含单词列表(每行一个)的文件,编程列出交集
String接收bytes的构造器转成String,再Long.parseLong 20)我们能将 int 强制转换为 byte 类型的变量吗?...byte 就会编译出错) 25)我能在不进行强制转换的情况下将一个 double 值赋值给 long 类型的变量吗?...106)你能解释一下里氏替换原则吗?(答案) 什么情况下会违反迪米特法则?为什么会有这个问题?(答案) 迪米特法则建议“只和朋友说话,不要陌生人说话”,以此来减少类之间的耦合。...109)什么是“依赖注入”和“控制反转”?为什么有人使用?(答案) 110)抽象类是什么?它与接口有什么区别?你为什么要使用过抽象类?...我可以保证,如果你能回答列表中的所有问题,你就可以很轻松的应付任何核心 Java 或者高级 Java 面试。
在前文已经说过构造函数的作用为初始化成员变量,但是真的就这么简单了吗?如果成员变量为常变量(const)那还能构造成功吗?...(初始化和赋值的区别) 1.2 .1什么是初始化列表 在托出初始化列表前为了我们更好的理解,它与构造函数的区别和关系,我们来一个列子作为对比 见上左图:A的第一次为定义赋值,而第二次为的赋值就为二次赋值了...此时初始化列表就说:没错就是我干的,是我来真正初始化类成员的,构造函数体内只是二次赋值罢了。 但在上面的图片中,我们明明没看见这个所谓的初始化列表那他在哪里呢?...: 初始化列表不就是定义赋值罢了,我们在构造函数体内二次赋值,结果不是一样的吗?...我们发现这2个地方,若都有赋值的话,则会优先初始化列表的赋值,由此我们可以推出以下结论,成员变量处的默认值,是作用于初始化列表的,而不是用于构造函数体内的,且该值为初始化列表的缺省值(我们可以取一个形象一点的名字
4.2 题目: nonatomic是非原子操作符,为什么要这样,atomic为什么不行?有人说能atomic耗内存,你觉得呢?保读写安全吗,能保证线程安全吗?...苹果的官方文档 有解释,下面我们举例子解释一下背后的原理。...,为什么这样写就能访问到属性声明的示例变量?...4.7 题目: 分类中添加实例变量和属性分别会发生什么,编译时就报错吗,还是什么时候会发生问题?为什么 编译的时候,不能添加实例变量,否则报错。...那我们就按照这个流程来,在类别中为属性添加set/get方法,在set方法里面赋值的时候找不到赋值的对象,也就是说系统没有为我们生成带下划线的成员变量,没生成我们就自己加。
前言 前段时间看到曾老师的推文里面有人循环里无法打印结果到绘图板,问题描述: 这个问题,简单吗?简单。我会吗?我不会。qaq 至少当时思考了一会儿。...> a = 100 > a [1] 100 > print(a) [1] 100 不是可以直接通过变量名直接获得其对象值的返回结果吗?...这也就是为什么,我们在循环内部直接使用变量,它没有任何的返回结果;而在外部,可以直接通过变量获取对象值。...python,肯定不会遇到这样的问题: for i in range(1,5): i # output i = 5 i # output 因为默认下,python 必须得使用print 才能将变量打印出来...[1] 5 我开始也以为循环和函数一样,创建的是局部变量,原来循环内部也是属于全局的,因此会将变量重新赋值,也就是赋值给遍历对象的最后遍历的结果。
小C:就是将一个数进行反转的代码,例如有一个数是 123456,你需要将其反转成 654321,否则在一般情况下你就很难去判断这个数字是否是回文数。 小媛:对,反正我是一点都没看懂,太难了。...小C:那我们接下来先试着看看如何将一个数进行反转吧。 小媛:多谢小C 带我飞。...小C:我们现在第一步,创建两个变量,一个是 a,里面存储 123456,这个变量 a 也是用来进行回文的数;接着,我们需要创建一个变量 b,并且将其赋值为 0。...小C:对了,那就解释一下吧。...小媛:就是改一下代码,使变量 b 每次都可以乘 10,并且加上当前取模后的值,这样就可以倒过来了,但是最为关键的还是原有的数,在这里是变量 a 在不断的缩小,并且变量 b 最开始也要赋值为0,否者别的数就错了
我确定你 在自己的面试中见过很多这些问题, 很多问题你也能正确回答。 多线程、并发及线程的基础问题 1、Java 中能创建 volatile 数组吗?..., 编译器都会 报错 ,因 为 a+b 操作会将 a、b 提升为 int 类型 ,所 以将 int 类型赋值给 byte 就会编译出错) 25、我能在不进行强制转换的情况下将一个 double 值赋值给...106、你能解释一下里氏替换原则吗?...109、什么是“依赖注入”和“控制反转”?为什么有人使用?...我可以保证, 如果你能回答列表中的 所有问题, 你就可以很轻松的应付任何核心 Java 或者高级 Java 面试。
volatile 变量和 atomic 变量有什么不同 3、volatile 类型变量提供什么保证?能使得一个非原子操作变成原子操作吗 4、能创建 volatile 数组吗?...为什么静态方法不能访问成员变量 switch 1、switch 语句中的表达式可以是什么类型数据 2、switch 是否能作用在byte 上,是否能作用在long 上,是否能作用在String上 3、while...bytes 转换为 long 类型 2、怎么将 byte 转换为 String 3、如何将数值型字符转换为数字 4、我们能将 int 强制转换为 byte 类型的变量吗?...如果该值大于 byte 类型的范围,将会出现什么现象 5、能在不进行强制转换的情况下将一个 double 值赋值给 long 类型的变量吗 6、类型向下转换是什么 数组 1、如何权衡是使用无序的数组还是有序的数组...但是要保证汉字不被截半个,如“我ABC”,应该截为“我AB”,输入“我ABC汉DEF”,应该输出为“我ABC”,而不是“我ABC+汉的半个” 8、给定 2 个包含单词列表(每行一个)的文件,编程列出交集
这个解释一下,我们的字段一般来说都是很多的,那么难道我们清空的时候一个字段一个字段的写吗?...,为什么不直接写到return里面呢?...这里需要说一下,细心的人可能已经看出来了我有几行代码是没有做任何的解释的,第一行就是: that.isEdite = true; 第二行就是: that.comEdite = rows, 下面解释一下我为什么用到这两个看似一点意义没有的代码...里面声明一个新的变量来保存这个id,也就是我么每次点击编辑的时候都将当前的id赋值给comEdite这个变量,那么我们进行更新时候的id一定是当前数据的id。...还有一点就是我之前说的使用flush函数清空数据的操作,有的人说了,我点击新增的时候,只能将dialog为true或者调用flush的函数,怎么同时进行操作呢,既要打开dialog还要调这个函数,这个有两种解决办法
领取专属 10元无门槛券
手把手带您无忧上云