![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础语法
一半面具
懒得写~~~~~~~~~
展开
-
程序员必备的四大函数式接口
1.函数型接口传入一个参数,返回一个参数,例如: Function function=str->{ return str ; }; System.out.println(function.apply("Function函数型接口"));2.断定型接口:返回一个布尔值,例如:Predicate<String> predicate=(str)->{ return str.isEmpty();原创 2021-06-17 20:02:33 · 188 阅读 · 0 评论 -
Blokingqueue的四组api
Blokingqueue有四组api都可以对元素进行添加和移除,但还是有不一样的地方。具体用法如下代码: //1.会抛出异常 void test1(){ ArrayBlockingQueue blockingQueue=new ArrayBlockingQueue(3); System.out.println(blockingQueue.add("a")); System.out.println(blockingQueue.add("b"));原创 2021-06-15 16:56:11 · 80 阅读 · 0 评论 -
生产者消费者问题的两种解决方法
在高并发的环境下,出现了一个生产者消费者问题,如何保证生产者和消费者能够保持顺序执行,不会出现资源争抢问题?有两种解决方案:我们先假设有如下场景:有一个数字0,有两个方法,第一个方法是检测数字是否为0,如果为0则启动等待线程,并为数字加一,然后通知所有其他线程。第二个方法则是当数字不为0时,执行数字减一操作。第一种:利用 传统方法先给业务代码的方法加一个同步锁,然后有序的等待和通知,即加一个wait和notifyAll方法。代码如下:public class Day2 { public原创 2021-05-15 20:03:27 · 577 阅读 · 0 评论 -
&和&&的区别
&运算符有两种用法:(1)按位与;(2)逻辑与。&&运算符是短路与运算。逻辑与跟短路与的差别是非常巨大的,虽然二者都要求运算符左右两端的布尔值都是true 整个表达式的值才是 true。&&之所以称为短路运算,是因为如果&&左边的表达式的值是 false,右边的表达式会被直接短路掉,不会进行运算。同等为短路运算的短路或||,只要碰到true则结束运算,例如第一个值为true,则输出第一个值,不计算第二个。...原创 2021-03-16 10:11:07 · 502 阅读 · 0 评论 -
short s1 = 1; s1 = s1 + 1和short s1 = 1; s1 += 1有啥区别?
short s1 = 1; s1 = s1 + 1,这种情况因为1默认为int形所以s1+1的结果也为int形,而s1为short形需要强制转换才能把int形转换成short。而short s1 = 1; s1 += 1,这个s1+=1相当于s1=short(s1+1)已经进行了隐式转换。原创 2021-03-16 09:59:00 · 97 阅读 · 0 评论 -
如何计算3*8效率最高
用移位运算计算的效率最高。因为位运算是直接在CPU运算,所以效率相比正常乘法运算还要快。例如232=2<<5=22^538=3<<3=32^3原创 2021-03-13 16:55:34 · 146 阅读 · 0 评论 -
switch可作用的数据类型
switch可作用于char、byte、short、int及它们的包装类switch不可作用于boolen、float、double、long及它们的包装类jdk1.5之后可作用于枚举类型jdk1.7之后可作用于String类型原创 2021-03-13 16:14:37 · 1120 阅读 · 0 评论 -
JAVA有哪些数据类型?
主要分成两大类:基本的数据类型和引用类型。基本的数据类型:1.整形:byte1、int4(默认)、short2、long82.浮点型:单精度float4、双精度double8(默认)3.布尔型:boolen1(true and false)4.字符型:char2引用数据类型:字符串、数组、类、接口、Lambda...原创 2021-03-13 15:27:34 · 64 阅读 · 0 评论