03 2021 档案
摘要:java比较器 java实现对象排序的方式有两种: 自然排序:java.lang.Comparable 定制排序:java.util.Comparator 自然排序:java.lang.Comparable 一、说明:java中的对象,正常情况下,只能进行比较:== 或 != 不能使用 > 或 <
阅读全文
摘要:Date类 java.util.Date类 java.sql.Date类 1.两个构造器的使用 >构造器一:Date():创建一个对应当前时间的Date对象>>构造器二://创建指定毫秒数的Date对象 2.两个方法的使用 >`toString()`: 显示当前的年、月、日、时、分、秒>>`getT
阅读全文
摘要:将一个字符串进行反转。将字符串中指定部分进行反转。比如“abcdefg”反转为“abfedcg” //方式一public class StringDemo { public String reverse(String str,int startIndex,int endIndex){ if(str
阅读全文
摘要:StringBuffer 类 StringBuffer 是可变的字符序列 很多方法与String相同 作为参数传递时,方法内部可以改变值 String 、StringBuffer、StringBuilder三者的异同 String:不可变的字符序列,底层用char[]存储 StringBuffer:
阅读全文
摘要:String与其他结构之间的转换 String与基本数据类型、包装类之间的转换 String >基本数据类型、包装类 调用包装类的静态方法:parseXxx(str); String str = "123";int num = Integer.parseInt(str); 基本数据类型、包装类 >S
阅读全文
摘要:String 类 代表字符串。java中的所有字符串字面值(如“abc”)都作为此类的实例实现 1.String是一个final类,代表不可变的字符序列,不能被继承 2.字符串是常量,用双引号来表示,它们的值在创建之后不能更改 3.String实现了Serializable接口(可序列化):表示字符
阅读全文
摘要:wait() 解决线程之间的通信问题 wait()表示线程一直等待,直到其他线程通知,与sleep不同,会释放锁 notify() 唤醒一个处于等待状态的线程 管程法 //测试生产者消费模型-->利用缓冲区解决:管程法public class TestPC { public static voi
阅读全文
摘要:死锁 多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能运行,而导致两个或者多个线程都在等待对方释放资源,都停止执行的情形,某一个同步块,同时拥有“两个以上对象的锁”时,就可能发生“死锁”问题 //死锁 多个线程互相抱着对象需要的资源,形成僵持public class TestLock
阅读全文
摘要:线程同步 处理多线程问题时,多个线程访问同一个对象,并且某些线程还想修改这个对象,这时候我们就需要线程同步,线程同步其实就是一种等待机制,多个需要同时访问此对象的线程进入这个对象的等待池形成对象,等待前面线程使用完毕,下个线程再使用 由于同一个进程的多个线程共享同一块存储空间,带来方便的同时,也带来
阅读全文
摘要:线程状态 新生状态 Thread t = new Thread() 就绪状态 当调用start()方法 运行状态 进入运行状态,线程才真正执行线程体的代码块 阻塞状态 当调用sleep,wait或同步锁定时,线程进入阻塞状态 死亡状态 线程中断或者结束,进入死亡状态,就不能再次启动 线程方法 set
阅读全文
摘要:Lambda表达式 避免你匿名内部类定义过多 可以让你的代码看起来很简洁 去掉了一堆没有意义的代码,只留下核心的逻辑 lambad表达式 按顺序一步步简化,最后用lambda lambad表达式的本质:作为函数式接口的实例 public class TestLambda { //3.静态内部类 st
阅读全文
摘要:线程 程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念 进程则是执行程序的一次执行过程,是一个动态的概念,是系统资源分配的单位 一个进程中可以包含若干个线程,一个进程至少有一个线程。线程是CPU调度和执行的单位 线程就是独立的执行路径 在程序运行时,即使没有自己创建线程,后台也
阅读全文
摘要:异常 实际生活中,遇到的情况不可能是完美的。 我们的程序在跑着,内存或硬盘可能满了 软件程序在运行过程中,非常可能遇到异常问题,我们叫异常。英文是:Exception,意思是例外。这些例外情况,或者叫异常。怎么让我们写的程序做出合理的处理,而不至于程序崩溃 异常指程序运行中出现的不期而至的各种状况,
阅读全文
摘要:内部类 内部类就是一个在 类的内部再定义一个类,比如,A类中定义一个B类,那么B类相对A类来说就称为内部类,而A相对B类来说就是外部类 一个java类中可以有多个class类 但是只能有一个public class //成员内部类public class Outer{ private int id
阅读全文
摘要:接口 普通类:只有具体实现 抽象类:具体实现和规范(抽象方法)都有 接口:只有规范!自己无法写方法~专业约束! 约束和实现分离:面向接口编程 接口就是规范,定义的是一组规则,体现了现实世界中”如果你是...则必须能“的思想。如果你是汽车,则必须能跑 接口的本质是契约,就像我们人间的法律一样,制定好后
阅读全文
摘要:抽象类 特点 1.不能 new 这个抽象类, 只能靠子类去实现它:约束 2.抽象类可以写普通方法 3.抽象方法必须在抽象类中 4.抽象方法必须被子类重写 //abstract 抽象类: 类 extends 单继承 (接口可以多继承) public abstract class Action { /
阅读全文
摘要:static关键字 public class Student { private static int age;//静态的变量 private double score;//非静态的变量 public void run(){ } public static void go(){ } pu
阅读全文
摘要:多态 动态编译:类型 即同一个方法可以根据发送对象的不同而采用多种不同的行为方式 一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多(父类,有关系的类) 存在的条件 有继承关系 子类重写父类方法 父类引用指向子类对象 public class Person { public void ru
阅读全文
摘要:方法重写 重写都是方法的重写,和属性无关 //静态static 和 非静态方法区别很大 静态属于类 非静态属于对象 声明为 static 的方法不能被重写,但能够再次声明 成员变量:静态方法看坐标,非静态方法,编译看左边,运行看右边 //有staticpublic class B { publi
阅读全文
摘要:继承 继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模 extends 的意思是“拓展”。子类是符类的拓展 JAVA中类只有单继承,没有多继承。一个儿子只能有一个父亲,一个父亲能有多个儿子 继承是类和类之间的一种关系,除此之外,类和类之间的关系还有依赖、组合、聚合等。 继承关系的两个类,一
阅读全文
摘要:构造器 类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的,并且构造器有以下两个特点: 必须和类的名字相同 必须没有返回类型,也不能写void 作用: new 本质在调用构造器 初始化对象的值 public class Person { //一个类即使什么都不写,他也会在一个方法 S
阅读全文
摘要:封装 该露的露,该藏的藏 我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉,低耦合:仅暴露少量的方法给外部使用 封装(数据的隐藏) 通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这成为信息隐藏 记住这句话就够了: 属性私有,get/
阅读全文
摘要:面向对象 面向过程 步骤清晰简单,第一步做什么,第二部做什么 面对过程适合处理一些比较简单的问题 面向对象思想 物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索 面向对象适合处理复杂的问题,适合处理需要多人协作的问
阅读全文
摘要:数组 数组是相同类型的有序集合 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成 每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问他们 数组声明和创建 数量的类型 变量的名字 = 变量的值; int[] nums = new int[10]; //定义 静态初始化 in
阅读全文
摘要:方法 java 方法是语句的集合,他们在一起执行一个功能 方法是解决一类问题的步骤的有序集合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 成员变量可不赋初值,若不赋初值则JAVA会按为其添加默认值;方法里定义的局部变量,在参与运算之前必须赋初值。 方法里定义的局部变量,在参与运算之前
阅读全文
摘要:结构 顺序结构 按顺序的 选择结构 if单选择结构 if(布尔表达式){ //如果布尔表达式的为true 将执行的语句 } if双选择结构 if(布尔表达式){ //如果布尔表达式的值为true }else{ //如果布尔表达式的值为fasle } if多选择结构 if(布尔表达式1){ //如果布
阅读全文
摘要:Scanner对象 一个工具类 可以获取用户的输入 Scanner s = new Scanner(System.in); 通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取我们一般需要 使用hasNext()与hasNextLine()判断是否还有输入的数据 ne
阅读全文
摘要:包机制 一般使用公司域名作为包名 com.kuangstudy.www 为了能够使用某一个包的成员,我们需要在Java程序中导入该包,使用“import”语句可完成此功能 javaDoc生成文档 /** * */ javadoc 参数 java文件
阅读全文
摘要:运算符 算数运算符 + - * / % 取余 模运算 ++ -- 赋值运算符 = 关系运算符 (>) < (>=) == != instance of 逻辑运算符 &&(与) 两个变量都为真,结果才true ||(或)两个变量有一个为真,则结果才为true !(取反)如果是真,则变为假,如果是假,则
阅读全文
摘要:变量常量 在Java中,变量分为两种:基本类型的变量和引用类型的变量。 在Java中,变量必须先定义后使用,在定义变量的时候,可以给它一个初始值。例如: int x = 1; 上述语句定义了一个整型int类型的变量,名称为x,初始值为1。 变量常量 实例变量 从属于对象,如果不自行初始化,这个类型的
阅读全文
摘要:类型转换 强制转换 int i = 128; byte b = (byte)i; System.out.println(b)//-128 内存溢出 变量名 高 -->低 自动转换 低-->高 int i = 128; double d = i; System.out.println(d);//128
阅读全文
摘要:数据类型 强类型语言 要求变量的使用严格符合规格,所有变量都必须先定义后才能使用 弱类型语言 JAVA的数据类型分为两大类 基本类型 数值类型 整数类型 byte占1个字节范围:-128~127 short占2个字节范围:-32768~32767 int占4个字节范围 (最常用) long占8个字节
阅读全文
摘要:标识符 所有字母都应该以字母,美元($)、或者下划线(_)开始 首字符之后可以是字母,美元($)、或者下划线(_)或数字的任何字符组合 不能使用关键字作为变量名或方法名 标识符是大小写敏感的 可以用中文命名,但是一般不建议这样去使用,也不建议使用拼音
阅读全文
摘要:注释 单行注释 //注释 注释不会被执行。 多行注释 /* 注释 */ 可以注释一段文字 文档注释 因此我们推荐的Java学习路线图如下: 1.首先要学习Java SE,掌握Java语言本身、Java核心开发技术以及Java标准库的使用; 2.如果继续学习Java EE,那么Spring框架、数据库
阅读全文
摘要:WorkDown学习 二级标题(# 空格) 三级标题 字体(** ** ~~ ~~) Hello,World! Hello,World! Hello,World! 引用(>) 芜湖 起飞 分割线( ***) 图片() 超链接(【】()) 点击跳转博客 列表 表格 名字性别生日 张三 男 1997.1
阅读全文