自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 StringBuffer、StringBuilder

String、StringBuffer、StringBuilder三者的异同?String:不可变的字符序列;底层使用char[]存储StringBuffer:可变的字符序列;线程安全的,效率低;底层使用char[]存储StringBuilder:可变的字符序列;jdk5.0新增的,线程不安全,效率高; 底层使用char[]存储源码分析: String str = new String();//char[] value = new char[0]; String str1

2021-12-02 20:08:51 502 1

原创 String常用方法

> int length():返回字符串的长度: return value.length > char charAt(int index): 返回某索引处的字符return value[index] > boolean isEmpty():判断是否是空字符串:return value.length == 0 > String toLowerCase():使用默认语言环境,将 String 中的所有字符转换为小写 > String toUpperCase():使用

2021-11-24 19:58:13 63

原创 Java常用类:String

Java基础知识图解字符串相关的类String:字符串,使用一对""引号来表示1.String声明为final的,不可被继承2.String实现了Serializable接口:表示字符串是支持序列化的。 String实现了Comparable接口:表示String可以比较大小3.String内部定义了final char[] value用于储存字符串数据4.S...

2021-11-15 16:50:25 91

原创 线程的通信

例 题:使用两个线程打印 1-100。线程1, 线程2 交替打印class Number implements Runnable{ private int number = 1; @Override public void run() { while (true){ synchronized (this) { notify(); if (number <= 1

2021-11-02 09:35:15 53

原创 线程的同步

在Java中,我们通过同步机制,来解决线程的安全问题方式一:同步代码块synchronized(同步监视器){//需要被同步的代码}说明: 1.操作共享数据的代码,即为需要被同步的代码 -->不能包含代码多了,也不能包含代码少了。2.共享数据:多个线程共同操作的变量。比如:ticket3.同步监视器,俗称:锁。任何一个类的对象,都可以充当锁。要求:多个线程必须要共用同一把锁。...

2021-10-28 09:34:21 51

原创 线程的生命周期

操作系统中线程的生命周期JDK中用Thread.State类定义了线程的几种状态 要想实现多线程,必须在主线程中创建新的线程对象。Java语言使用Thread类及其子类的对象来表示线程,在它的一个完整的生命周期中通常要经历如下的五种状态: >新建: 当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建状态 >就绪:处于新建状态的线程被start()后,将进入线程队列等待CPU时间片,此时它已具备了运行的条件,只是没分配...

2021-10-27 20:51:44 132

原创 多线程(线程的创建和使用)

创建线程的两种方式方式一:继承Thread类1) 定义子类继承Thread类。 2) 子类中重写Thread类中的run方法。 3) 创建Thread子类对象,即创建了线程对象。 4) 调用线程对象start方法:①启动当前线程 ②调用当前线程的run()例:遍历0到100的所有偶数//1.创建一个继承于Thread类的子类class MyThread extends Thread { //2.重...

2021-10-26 11:03:52 150

原创 多线程基本概念

基本概念:程序、进程、线程 程序(program)是为完成特定任务、用某种语言编写的一组指令的集合。即指一 段静态的代码,静态对象。 进程(process)是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程。——生命周期 >如:运行中的QQ,运行中的MP3播放器 >程序是静态的,进程是动态的 >进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域 线程(t...

2021-10-26 08:59:01 41

原创 开发团队调度软件(小项目)

该软件由以下三个模块组成:>com.ll.team.view模块为主控模块,负责菜单的显示和处理用户操作 >com.ll.team.service模块为实体对象(Employee及其子类如程序员等)的管理模块, >NameListService和TeamService类分别用各自的数组来管理公司员工和开发团队成员对象 domain模块为Employee及其子类等JavaBean类所在的包第1步 — 创建项目基本组件1. ...

2021-10-18 21:10:45 224

原创 异常处理的方式二:throws + 异常类型

1. "throws + 异常类型"写在方法的声明处。指明此方法执行时,可能会抛出的异常类型。一旦当方法体执行时,出现异常,仍会在异常代码处生成一个异常类的对象,此对象满足 throws后异常类型时,就会被抛出。异常代码后续的代码,就不再执行! 2. 体会:try-catch-finally:真正的将异常给处理掉了。throws的方式只是将异常抛给了方法的调用者。 并没有真正将异常处理掉。 ...

2021-10-17 21:00:10 190

原创 异常处理机制一:try-catch-finally

1

2021-10-17 19:12:19 411

原创 异常概述与异常体系结构与常见异常

异常:在Java语言中,将程序执行中发生的不正常情况称为“异常”。 (开发过程中的语法错误和逻辑错误不是异常) Java程序在执行过程中所发生的异常事件可分为两类: >Error:Java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源耗尽等严重情况。比如:StackOverflowError和OOM。一般不编写针对性的代码进行处理。 //1.栈溢出:java.lang.StackOverflowError// main(args); //...

2021-10-17 11:23:38 84

原创 类的内部成员之五:内部类

1. Java中允许将一个类A声明在另一个类B中,则类A就是内部类,类B称为外部类2.内部类的分类:成员内部类(静态、非静态) vs 局部内部类(方法内、代码块内、构造器内)//方法public void method(){ //局部内部类 class AA{ } } //代码块 { //局部内部类 class BB{ } }//构造器 public Person(){ //局部内部类 class CC{ } } .

2021-10-13 21:13:08 45

原创 Java8接口中的新特性

JDK8:除了定义全局常量和抽象方法之外,还可以定义静态方法、默认方法(可省略public)例: //静态方法 public static void method1(){ System.out.println("CompareA:北京"); } //默认方法 public default void method2(){ System.out.println("CompareA:上海"); } 知识点1:接口中定义的静态方法,只能通过接口来调用 ...

2021-10-13 20:36:39 39

原创 接口的应用:代理模式(Proxy)

例:public class NetWorkTest { public static void main(String[] args) { Server server = new Server();// server.browse(); ProxyServer proxyServer = new ProxyServer(server); proxyServer.browse(); }}interface NetWork{ public void bro...

2021-10-12 10:26:04 161

原创 接口(interface)

接口的使用1. 接口使用interface来定义2. Java中,接口和类时并列的两个结构3. 如何定义接口:定义接口中的成员 3.1 JKD7及以前:只能够定义全局常量和抽象方法 >全局常量:public static final 的。书写时可省略。例:interface Flyable{public static final int MAX_SPEED = 7900;int MIN_SPEED = 1;//省略了 pu...

2021-10-12 10:20:39 123

原创 模板方法设计模式(TemplateMethod)

抽象类体现的就是一种模板模式的设计,抽象类作为多个子类的通用模板,子类在抽象类的基础上进行扩展、改造,但子类总体上会保留抽象类的行为方式解决的问题: > 当功能内部一部实现是确定的,一部分实现是不确定的。这时可以把不确定的部分暴露出去,让子类去实现 > 换句话说,在软件开发中实现一个算法时,整体步骤很固定、通用,这些步骤已经在父类中写好了。但是某些部分易变,易变的部分可以抽象出来,供不同子类实现,这就是一种模板模式。例:/* * 抽象类...

2021-10-07 21:54:50 35

原创 abstract关键字的使用

1. abstract:抽象的2. abstract可以用来修饰的结构:类、方法3. abstract修饰类:抽象类 > 此类不能实例化 > 抽象类中一定有构造器,便于子类实例化时调用(涉及:子类对象实例化的全过程) > 开发中,都会提供抽象类的子类,让子类对象实例化,完成相关的操作4. abstract修饰方法:抽象方法例:public abstrac void eat(); > 抽象方法...

2021-10-07 21:20:46 1412

原创 main( )方法的使用说明

1. main( )方法作为程序的入口2.main( )方法也是一个普通的静态方法3.main( )方法可以作为我们与控制台交互的方式。(之前,使用Scanner)

2021-10-05 20:16:55 169

原创 单例(Singleton)设计模式:

1. 所谓类的单例设计模式,就是采取一定的方法保证在整个软件系统中,对某个类只能存在一个对象实例。2. 如何实现?//饿汉式①私有化类的构造器②内部创建类的对象③提供公共的静态方法,返回类的对象④要求此对象也必须声明为静态的//懒汉式①私有化类的构造器②声明当前类对象,没有初始化③声明public、static的返回当前类对象的方法④此对象也必须声明为static的3. 区分饿汉式和懒汉式饿汉式:坏处:对象加载...

2021-10-05 19:14:58 38

原创 关键字:final

final:最终的1. final可以用来修饰的结构:类、方法、变量2. final 用来修饰一个类:此类不能被其他类所继承 比如:String类、System类、StringBuffer类3. final 用来修饰方法:表明此方法不可以被重写 比如:Object类中getClass();4. final 用来修饰变量:此时的”变量“就称为是一个常量 4.1 final修饰属性:可以考虑赋值的位置有:显示初...

2021-10-05 15:12:25 29

原创 类的成员之四:代码块(初始化块)

1. 代码块的作用:用来初始化类、对象2. 代码块如果有修饰的话,只能使用static3. 分类:静态代码块 vs 非静态代码块4. 静态代码块static{}>内部可以有输出语句 >随着类的加载而执行,而且只执行一次 >作用:初始化类的信息>如果一个类中定义了多个静态代码块,则按照声明的先后顺序执行>静态代码块的执行要优先于非静态代码块的执行 ...

2021-10-05 14:27:46 42

原创 static关键字的使用

1.static:静态的2.static可以用来修饰:属性、方法、代码块、内部类3.使用static修饰属性:静态变量(或类变量) 3.1 属性:按是否使用static修饰,又分为:静态属性 vs 非静态属性(实例变量) 实例变量:我们创建了类的多个对象,每个对象都独立的拥有一套类中的非静态属性。当修改其中一个对象中的非静态属性时,不会导致其他对象中的同样属性之的修改。 静态变量:我们创建了类的多个对象,多个对象共享...

2021-10-04 20:40:09 60

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除