随笔分类 - java语法基础
摘要:/** * 关于switch语句: * 1、switch语句也属于选择结构,也是分支结构 * 2、switch语句的语法结构: * switch(int或者String类型的字面值或者变量){ * case int或String类型的字面值或变量: * java语句; * java语句; * jav
阅读全文
摘要:/** * 1.this 是一个关键字 * 2.this是什么?在内存方面是怎样的? * 一个对象一个this。 * this是一个变量,是一个引用。this保存当前对象的内存地址,指向自身 * 所以,严格意义上来说,this代表的就是"当前对象" * this存储在堆内存中 * 3.this使用在
阅读全文
摘要:/**1.除了类加载代码块之外,还有一种语句块叫做:实例语句块 * 2.实例语句块在类加载是并没有执行 * 3.实例代码块语法: * { * java语句; * } * 4.实例语句块在什么时候执行? * 只要是构造方法运行时,就会在构造方法执行前执行实例代码块 * */ public class
阅读全文
摘要:static: 1.翻译为“静态” 2.所有static关键字修饰的都是类相关的,类级别的。 3.所有static修饰的,都是采用“类名.”的方式访问。 4.static修饰的变量: 静态变量 5.static修饰的方法: 静态方法 变量的分类: 变量根据声明的位置进行划分: 在方法体当中声明的变量
阅读全文
摘要:1.定义:指一个类只有一个实例,且该类能自行创建这个实例的一种模式。例如,Windows只能打开一个任务管理器,这样可以避免因打开多个任务管理器窗口而造成内存资源的浪费,或出现各个窗口显示内容不一致等错误。 例如:windows的回收站,操作系统中的文件系统,多线程中的线程池,打印机的后台处理服务,
阅读全文
摘要:假设有这样一个情况,2个人同时对一个账户在同时间段取钱,那么会发生这样的问题。 说到线程同步,需要知道两个专业术语:
阅读全文
摘要:线程的优先级:分为了10个等级,默认是5,最高是10,最低是1 public class ThreadTest09 { public static void main(String[] args) { //看看优先级别,优先级级别高只是抢占到cpu的时间片相对多一些 System.out.print
阅读全文
摘要:先看一段代码: 这是第一种方式,利用stop()方法强行终止一个线程。这种方式存在很大的缺点,容易数据丢失,因为这种方式是直接将线程杀死,线程没有保存的数据将会丢失,不建议使用。 public class ThreadTest07 { public static void main(String[]
阅读全文
摘要:1.什么是进程、什么是线程? 进程是一个应用程序,或者一个软件 线程是一个进程中的执行场景、执行单元 一个进程可以启动多个线程。 对于java程序来说,当在dos命令窗口输入:java helloWorld 回车之后,会先启动JVM,而JVM就是一个进程。 JVM在启动一个主线程,调用main方法。
阅读全文
摘要:匿名内部类(类没有名字): 1.内部类定义: 内部类:在类的内部又定义了一个新的类,被称为内部类 2.内部类的分类: 静态内部类:类似于静态变量 实例内部类:类似于实例变量 局部内部类:类似于局部变量 3.使用内部类编写的代码,可读性很差,能不用尽量不用。 4.匿名内部类是局部内部类的一种。因为这个
阅读全文
摘要:当修改了id以后,变成了下面的这样:因为id改变了,变成了9521 当给c设置为null的时候: 注意:java垃圾回收器GC主要针对的是堆内存当中的垃圾数据。 当没有任何引用指向该对象的时候,那么垃圾就会被回收。
阅读全文
摘要:JVM中,创建对象是在堆内存中。 什么是实例变量? 对象又被称为实例:实例变量实际上就是对象级别的变量。比如: public class 明星类{ double height; }//身高这个属性所有的明星对象都有,但是每一个对象都有”自己的身高值“、//假设创建10个明星对象,height变量应该
阅读全文
摘要:在java语言中,要想得到“对象”,必须先定义“类”,对象是通过类这个模板创建出来的。 类就是一个模板:类中描述的是所有对象的“共同特征信息”。 对象就是通过类创建出的个体,也叫实例。过程称之为实例化。 抽象:多个对象具有共同的特征,进行思考总结抽取共同特征的过程。 类 【实例化】 》对象(实例)
阅读全文
摘要:1.什么是递归? 方法自己调用自己 2.当递归时程序没有结束条件,一定会发生: 栈内存溢出错误:Stack Over flowError,所以递归必须要有结束条件 3.递归假设是有结束条件的,就不会发生栈内存溢出吗? 假设结束条件是对的,是合法的,递归也会出现内存溢出,当递归太深的话,导致栈内存不够
阅读全文
摘要:首先看一段代码:都是计算x+y的值,三个方法功能都一样,名字不一样。 但是他的缺点是:程序员需要记住每个名字。 public class TestLoad01 { public static void main(String[] args) { int x = sumInt(10,20); Syst
阅读全文
摘要:JVM中三块主要的内存就是:栈内存,堆内存,方法区内存方法区最先有数据:方法区中存放的是代码片段,存放class字节码栈内存:方法调用的时候,该方法需要的内存空间在栈中分配,并且调用时就是压栈。方法不调用是不会再栈中分配空间的,,方法执行结束后,该方法所需要的空间就会释放,此时发生弹栈动作。方法调用
阅读全文
摘要:虚线是接口,实线是实现类: 集合能够解决的问题:集合可以丽杰为是一种更高级的数组,可以保存多条数据 本质:java官方开发人员基于java的一些基础内容(数组等等)创建了一些接口和类,然后使用这些接口和类的对象来更加灵活的保存或处理多条数据。 Object是一个比较特殊的类型,在Java中有这样的一
阅读全文
摘要:抽象类:使用关键字abstract声明的类叫做抽象类,如果一个类里包含了一个或多个抽象方法,类就必须指定为abstract。 抽象方法:指一些只有方法声明,而没有方法体的方法。 特点:0.使用关键字abstract 1.只有抽象类中才可以有抽象方法 2.抽象类无法进行实例化 使用与不使用的区别:如果
阅读全文
摘要:有点递进关系,先有了封装,才有继承,有了继承,才有多态。继承增加了代码的复用性,多态必须基于继承才可以实现。 一、封装 什么是封装?有什么用? 显示生活中,有很多封装的例子,例如:手机,电视机,笔记本电脑,照相机,这些都是外面有一个坚硬的壳儿。封装起来保护内部的部件。保证内部的部件是安全的。另外封装
阅读全文