boolean 1字节
byte 1字节
short 2字节
char 2字节
int 4字节
float 4字节
double 8字节
long 8字节
byte b1=1,b2=2,b3,b6;
final byte b4=4,b5=6;
当 short、byte、char在进行运算时,会自动转化成int类型。 因此 b3=b1+b2
,编译出错,因为会先将b1、b2这两个byte类型的变量转化成int类型运算,赋给b4时要强转成int才行: b3=(byte)(b1+b2)
。其他变量在进行运算时遵循以下优先级:
byte<short<char<int<long<float<double ( 高 )
而对于final 类型的常量,有常量转化优化机制:两个常量进行运算时不会自动转化,b4+b5
的结果还是byte类型。
常量+非常量时,比如b1+b4
,b1、b4都会转化成int再运算。
InputStream in=new FileInputStream( ... );
//1
code that might throw exception
//2
}
catch(IOException e)
{
//3
show error message
//4
}
finally
{
//5
in.close();
在上面这段代码中,有下列 3 种情况会执行finally子句:
1)代码没有抛出异常。
(不管是否有异常被捕获,finally子句中的代码都被执行。)
在这种情况下,程序首先执行 try
语句块种的全部代码,然后执行 finally
子句中的代码。随后,继续执行 try
语句块之后的第一条语句。
1、2、5、6。
2)抛出一个在catch
子句中捕获的异常。
比如上述例子的 IOException
。在这种情况下,程序将执行try语句块中的所有代码,直到发生异常为止。此时,将跳过try
语句块中的剩余代码,转去执行与该异常匹配的catch
子句中的代码,最后执行finally
子句中的代码。
如果catch
子句没有抛出异常,程序将执行try
语句块之后的第一条语句:
1、3、4、5、6。
如果catch
子句有抛出异常,异常将会被抛回到这个方法的调用者。
1、3、5。
( 当代码抛出一个异常时,就会终止方法中剩余代码的处理,并退出这个方法的执行。)
所以不执行6。
3)代码抛出了一个异常,但这个异常不是由catch
块捕获的。
在这种情况下,程序将执行try
语句块中的所有语句,直到有异常被抛出为止。此时,将跳过 try
语句块中的剩余代码,然后执行 finally
子句中的语句,并将异常抛给这个方法的调用者。
1、5。
在方法体声明 throws
,在该方法出现异常时,会向调用处抛出该异常,即new 异常对象,在控制台打印异常信息( 包括异常的类型和堆栈的内容 ),而后该方法会终止执行,不能继续向下执行了。
虚拟机中的堆、栈
(1)
堆:
JVM所管理的内存中最大的一块。
被所有线程共享,在JVM启动时创建.
所有对象实例和数组都要在堆上分配内存。
方法区:
”非堆“。
存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后代码。
(2)
虚拟机栈:
Java方法执行的内存模型。
每个方法在执行的同时都会创建一个栈帧,用于存储局部变量表、操作数栈、动态链接、方法出口等,方法从调用到执行完成的过程,对应一个栈帧从虚拟机中入栈到出栈的过程。
本地方法栈:
本地方法… …
抽象方法:
”抽象方法充当着占位的角色,它们的具体实现在子类中。“
而final修饰的方法不能被覆写。所以final和abstract不能同时修饰一个方法。
(抽象类不能被实例化。)
2020.02.07
public ArrayList(int initialCapacity) {
if (initialCapacity > 0) {
this.elementData = new Object[initialCapacity];
} else if (initialCapacity == 0) {
this.elementData = EMPTY_ELEMENTDATA;
} else {
throw new IllegalArgumentException("Illegal Capacity: "+initialCapacity);
}
}
CallableStatement–>(继承于)PreparedStatement–>Statement–>Wrapper。
List、Set都是接口。
HashSet继承于AbsractSet。
WeakHashMap继承于AbstractMap 。
标识符由数字、字母、_、$组成。不能包含关键字(小写)。
主方法中的 String 类型的 args 数组是专门用来接收命令行参数的。
System.out.print(args.length);
(未通过命令行传入参数时)运行结果为 0。
public class f{
public static void main(String[] args)
{
for(int i=0;i<3;i++)
System.out.print(args[i]+" ");
}
}
对于上述的类 f 如果在 javac 编译后,运行时传入 a b c参数,java f a b c
,结果如下:
而对于这样的 f 类:
public class f{
public static void main(String[] args)
{
String foo1=args[1];
String foo2=args[2];
String foo3=args[3];
}
}
同样是编译后运行java f a b c
:
程序运行错误,因为传入 3 个字符串参数,那么args数组的长度就为 3 ,而主方法中下标到了 [3] ,所以下标异常。
(类方法中不能出现 this )
- Object类常见方法:
clone()
equals()
finalize()【在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。】
hasCode()
toString()
wait()
notify() /notifyAll()
- " && " 是短路与
"||"是短路或。
接口可以用 public abstract 修饰。
(可以理解成:接口是特殊的抽象类。)
接口中的方法默认是 public abstract ,jdk 1.8之后允许 default (真的写上去) 、static修饰方法。
接口中的变量默认是public static final,需要初始化。
JRE判断程序是否执行结束的标准是:
所有的前台线程执行完毕。
前台线程——用户线程。
后台线程——守护线程。
export default { // eslint-disable-next-line vue/multi-word-component-names name: "Home",}因为起名时没有使用大驼峰和横线拼接单词,所以报错,在idea中,我发现可以在name:“home”,这一句上面添加 // eslint-disable-next-line vue/multi-word-component-names这一句话,双斜杠也必须加上,不要隔行,紧挨着,向上面代码写的那样,这样可以不报错。._"component name \"about\" should always be multi-word vue/multi-word-component-"
406. 根据身高重建队列假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数。 编写一个算法来重建这个队列。注意:总人数少于1100人。示例输入:[[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]]输出:[[5,0], [7,0], [5,2], [6,1], [..._根据身高重建队列java
在安装好node.js 和npm包管理工具后。使用npm config ls查看,安装完成后的路径。AppData 是隐藏文件夹, 在控制面板,设置显示隐藏文件,才看得到。为了保留C盘的剩余空间,有必要,把 npm的 global 路径修改到其他盘符下。npm config set cache "D:\Program Files\npm-c..._npm下载安装包时指定缓存目录去下载
此Demo只是一个极其简单的LINQ查询Demo一个类using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApp1{ public class NBA_Star ..._linq语言,连接asp。
话不多说, 先根据代码结果看block到底在内存的哪个分区:一:MRC下, 声明的block实现部分,没有引入外界的任何局部变量int main(int argc, const char * argv[]) { @autoreleasepool { //定义bolck void(^myBlock)() = ^{
819. 最常见的单词给定一个段落 (paragraph) 和一个禁用单词列表 (banned)。返回出现次数最多,同时不在禁用列表中的单词。题目保证至少有一个词不在禁用列表中,而且答案唯一。禁用列表中的单词用小写字母表示,不含标点符号。段落中的单词不区分大小写。答案都是小写字母。示例:输入:paragraph = “Bob hit a ball, the hit BALL flew far after it was hit.”banned = [“hit”]输出: “ball”解释:“_code着真正单词
共模信号与差模信号辨析差模又称串模,指的是两根线之间的信号差值;而共模噪声又称对地噪声,指的是两根线分别对地的噪声。对于一对信号线A、B,差模干扰相当于在A与B之间加上一个干扰电压,共模干扰相当于分别在A与地、B与地之间加上一个干扰电压;像平常看到的用双绞线传输差分信号就是为了消除共模噪声,原理很简单,两线拧在一起,受到的共模干扰电压很接近, Ua - Ub依然没什么变化,当然这是_ccmr是cop compare
0. 为什么使用Array 相对于Matrix提供的线性代数运算,Array类提供了更为一般的数组功能。Array类为元素级的操作提供了有效途径,比如点加(每个元素加值)或两个数据相应元素的点乘。1. Array Array是个类模板(类似于Matrx),前三个参数是必须指定的,后三个是可选的,这点和Matrix是相同的。 Array<typename Sc...
#一、通过判断当前的输入模式禁止表情输入- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ if (textField == self.searchText) { if (string.length == 0) return YES; //不支持系统表情的输入 _ios textfield对食物emoji输入做限制
1.实时性:保证消息实时触达是互动场景的必备能力。对于一个实时消息系统,“实时”二字很好地表达了这个系统的基本要求。通过微信和你的好友聊天,结果等半天对方才收到,基本上也没有意愿聊了;直播场景下,如果主播的互动消息房间里的粉丝要等很长时间才能收到,也很难让粉丝们有积极参与的欲望。实时性分为:短轮询,长轮询,WebSocket(长链接)。2.可靠性:“不丢消息”和“消息不重复”是系统值得信赖..._im能力
首先需要去qq群官方,然后点记加群组件,然后选择群,复制对应的代码即可登录到QQ群官网点击加群组件选择群,选择网页还是移动设备 复制代码示例:<html><head> <title>加群组件</title></head><body> <div> <a target="_blank" href="tencent://message/?uin=你的QQ号码">添加好友</a&g_vue移动端怎么写跳转qq加群
有些学做网站学员使用服务器建网站,并且安装了宝塔面板,建设好之后需要登录后台,但是有时会忘记账号和密码,应该怎么办?或者是在使用的过程中忘记了登陆密码,应该怎么解决呢?下面介绍一下宝塔面板管理员密码忘记解决方法。方法/步骤1,忘记密码之后,在阿里云服务器中找到对应的实例,进入‘远程连接’。2. 选择“Workbench远程连接”;3、填写操作系统用户名对应的密码,如果这个密码忘记,可以在“密码/密..._宝塔mysql密码