随笔分类 - Java学习
摘要:1. 错误原因 该错误一般出现在对内部类进行实例化时,例如 此时B是A的内部类,如果我们要使用如下语句实例化一个B类的对象: 则会报错:B is not an enclosing class 2. 解决办法 方法一:若要创建内部类的实例,首先要创建外部类的实例; 方法二:将内部类的方法都设置为sta
阅读全文
摘要:一、为什么使用volatile 首先,通过一段简单的代码来理解为什么要使用volatile: 执行结果: 我们创建了一个RunThread对象,并启动了该线程。当 isRunning == True时,将一直进行while循环。可以看到,我们启动了线程之后就调用setRunning方法将isRunn
阅读全文
摘要:一、问题描述 在程序设计中,可能存在这样的情景:主线程中存在一个子线程,子线程需要在执行完毕后为后续代码逻辑提供参数。但在代码执行时,子进程还没执行完毕,后续的代码已经开始执行了,这时候就会出现参数为空的异常,或是直接报错。 执行结果: 因此,如何才能使得子进程执行完毕后才开始运行后续代码呢? 二、
阅读全文
摘要:当需要对一个LIst进行判空操作时我们可使用如下两个语句: 可能会有人疑问如果满足 list == null ,那么这个list不就为空了吗?为什么还要再使用另一个条件 list.size == 0 呢? 首先我们需要先弄懂这两个判断条件分别代表什么含义: 1. list == null :用于判断
阅读全文
摘要:http://blog.csdn.net/qq_31655965/article/details/55049192 http://blog.csdn.net/qq_27093465/article/details/52180865
阅读全文
摘要:一、String 1. String类是final类,意味着String类不能被继承,它的成员方法都默认为final方法。在早期的JVM版本中,被final修饰的方法会转为内嵌调用来提升执行效率。从JDK 1.5、1.6开始抛弃这种方法。因此,现在的JDK版本中不需要考虑用final来提升方法调用效
阅读全文
摘要:一、泛型的简单介绍 1. 泛型的引入 JDK 1.5中引入了泛型这个新特性,泛型的本质是参数化类型(Parameterized Types)的应用,也就是指操作的数据类型被指定为一个参数,之后使用到该数据时必须符合指定的类型。这种参数化类型可以在类、接口和方法中使用,分别称为泛型类、泛型接口和泛型方
阅读全文
摘要:https://docs.oracle.com/javase/tutorial/java/generics/erasure.html
阅读全文
摘要:二者的作用和区别 1. break:直接跳出当前循环体(while、for、do while)或程序块(switch)。其中switch case执行时,一定会先进行匹配,匹配成功返回当前case的值,再根据是否有break,判断是否继续输出,或是跳出判断(可参考switch的介绍)。 2. con
阅读全文
摘要:1. Array 转 List 注意:数组转换得到的List大小固定,不能执行add、remove操作,否则会抛出以下异常: 如果想控制List大小,只能将Array中的元素依此加入到List当中。。。 2. List 转 Array 注意:因为 List 转换成 Array时,无法获知List内存
阅读全文
摘要:1. 内存溢出 (Memory Overflow) 是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。 2. 内存泄露 (Memory Leak) 是指程序在申请内存后,无法释放已申请的内存
阅读全文
摘要:第一步:打开“Run->Edit Configurations”菜单 第二步:选择“VM Options”选项,输入你要设置的VM参数 第三步:点击“OK”、“Apply”后设置完成
阅读全文
摘要:一、二进制(原码、反码、补码) 二进制的最高位是符号位(“0”代表正数,“1”代表负数); Java中没有无符号数; 计算机以整数的补码进行运算; 1. 原码:将一个整数转换成二进制表示 以 int 类型为例,int类型占4个字节、共32位。 例如,2 的原码为:00000000 00000000
阅读全文
摘要:Java中有三个位移运算符,用于对int类型整数的二进制补码进行操作: 1. "<<": 左移运算符 在二进制补码末尾添加“0”,之前的其他位相当于左移了一位,可看作成“乘以二”操作。 例如,a = 10,a 的二进制表示为“0000 0000 0000 0000 0000 0000 0000 10
阅读全文
摘要:可以将一个类的定义放在另一个类的定义内部,这就是内部类。 内部类是一个非常有用的特性但又比较难理解使用的特性(鄙人到现在都没有怎么使用过内部类,对内部类也只是略知一二)。 第一次见面 内部类我们从外面看是非常容易理解的,无非就是在一个类的内部在定义一个类。 在这里InnerClass就是内部类,对于
阅读全文
摘要:static表示“静态”或者“全局”的意思,但在Java中不能在所有类之外定义全局变量,只能通过在一个类中定义公用、静态的变量来实现一个全局变量。 一、静态变量 1. Java中存在两种变量,一种是static修饰的静态变量,又称为类变量。另一种是没有被static修饰的变量,称为实例变量。 2.
阅读全文
摘要:伪随机(preundorandom):通过算法产生的随机数都是伪随机!! 只有通过真实的随机事件产生的随机数才是真随机!!比如,通过机器的硬件噪声产生随机数、通过大气噪声产生随机数 Random生成的随机数都是伪随机数!!! 是由可确定的函数(常用线性同余),通过一个种子(常用时钟),产生的伪随机数
阅读全文
摘要:switch-case语句格式如下 switch()变量类型只能是int、short、char、byte和enum类型。当进行case判断时,JVM会自动从上到小扫描,寻找匹配的case,可能存在以下情况: 情况一:若未找到,则执行默认的case。 情况二:当每一个case都不存在break时,JV
阅读全文
摘要:java中的main方法是java应用程序的入口,java程序在运行时,首先调用执行main方法。但并不是说java中只能有一个main方法,不同类中都可以包含main方法。当JVM进行编译时,会提示选择其中一个main方法作为编译的入口。
阅读全文
摘要:编写一个java源文件时,该源文件又称为编译单元。一个java文件可以包含多个类,但至多包含一个公共类,作为编译时该java文件的公用接口,公共类的名字和源文件的名字要相同,源文件名字的格式为【公共类名.java】。 当同一个源文件中包含两个public class时,JVM会立马报出错误 但jav
阅读全文