Java
Java相关
Python小叮当
这个作者很懒,什么都没留下…
展开
-
多线程之生产者和消费者的问题
需求 有个工厂,去生产面包,要求每天只生产一个而且不产生浪费,也就是说每天的生产一个面包后必须消费一个面包 分析: 把工厂比作一个容器 有两个行为:生产、消费 那么在一个进程里面,这两个行为应该被视为2个线程 工厂类 一个生产数字 判断容器是否为空的标志flag 生产行为 生产行为不可被其他线程打断,因此需要加上同步 当容器不为空的时候,不用生产且需要进行消费 当生产完毕后flag应该置为true 消费行为 消费行为不可被其他线程打断,因此需要加上同步 当容器为空的时候应该,应该进行生产 消费完原创 2020-11-25 00:28:27 · 267 阅读 · 0 评论 -
java多线程基础介绍及实操
文章目录什么是线程线程的创建创建一个`Thread`类,或者一个`Thread`子类的对象创建一个`runable`实现线程的创建线程的状态和生命周期线程优先级优先级常量线程的调度多线程运行问题同步与死锁死锁 什么是线程 一个进程包含多个线程 线程的创建 创建一个Thread类,或者一个Thread子类的对象 Thread 是一个线程类,位于java.lang包下面,常用构造方法如下 方法 说明 Thread() 创建一个线程对象 Thread(String name) 创建一个具有指定原创 2020-11-25 00:25:45 · 141 阅读 · 0 评论 -
JAVA异常的相关知识
文章目录什么是异常如何处理异常Throwable类throw 什么是异常 本质上是程序上的错误 编译期间的错误 运行期间的错误 如何处理异常 try-catch-finally throw throws 自定义异常 异常链 Throwable类 通过Throwable类以及他的一些子类对程序中的错误进行的描述 主要有2个重要的子类 Error: Exception 其中Exception又很多的子类,常见的如下: 算术异常:ArithmeticException 输入格式异常:InputMis原创 2020-11-05 12:19:37 · 236 阅读 · 0 评论 -
String类&StringBuilder类
文章目录String字符串创建时内存的相关变化String常用方法字符串和byte数组之间的相互转换StringBuilderStringBuilderStringBuilder常用函数StringBuffer和StringBuilder的区别 String 字符串创建时内存的相关变化 加一个内存变化示意图,希望自己可以更好理解。 String str1 = "hello"; String str2 = "hello"; String str3 = new String(原创 2020-11-04 19:34:57 · 328 阅读 · 0 评论 -
包装类的常识
文章目录包装类包装类和基本数据类型之间的对应关系装箱&拆箱包装类对象直接的比较 包装类 可以使基本数据类型拥有属性和方法,可以对象化交互 //java中所有的包装类都是再java.lang中的,下面是integer的继承关系 java.lang.Object java.lang.Number java.lang.Integer 包装类和基本数据类型之间的对应关系 基本数据类型 初始值 对应的包装类 byte 0 Byte short 0 Short原创 2020-11-03 14:40:48 · 257 阅读 · 1 评论 -
==和equals的不同之处
== 对于基本数据类型和引用时有区别的 对于基本类型来说是值比较 对于引用类型来说是比较的是引用 int a = 3; int b = 3; String str1 = "123"; String str2 = "123"; String str3 = new String("123"); System.out.println("a==b的结果:"+(a==b));//true,基本数据类型时,==进行的是值比较 .原创 2020-11-03 14:35:28 · 142 阅读 · 0 评论 -
Java面向对象基础知识点(长更)
Object类 Object类是所有类的父类 Java中的每个类都可以使用Object中定义的方法 方法重载 同一个类中 方法名相同,参数列表不同(参数顺序、个数、类型) 方法的返回值、访问修饰符任意(可以相同可以不同) 与方法的参数名无关 方法重写: 有继承关系的子类中 方法名相同,参数列表相同(参数顺序、个数、类型),方法返回值相同(方法重写的时候返回值可以不同,可以允许是子类类型) 访问修饰符、访问范围要大于等于父类的访问范围 与方法的参数名无关 访问控制修饰符 private: 只允许在原创 2020-10-26 16:07:38 · 229 阅读 · 1 评论 -
单例模式之懒汉&饿汉的创建与使用
设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案 单例模式 目的:是的类的一个对象成为该类系统中的唯一实例 定义:一个列有且仅有一个实例,并且自行实例化向整个系统提供 要点 某个类只能有一个实例 必须自行创建实例 必须自行向整个系统提供这个实例 实现: 只提供私有的构造方法 含有一个该类的静态私有对象 提供一个静态的公有方法用于创建、获取静态私有对象 单例模式实现方案 饿汉式:对象创建过程中实例化 在类加载的时候就创建实例 线程安全的 懒汉式:静态公有方法中实.原创 2020-10-24 16:36:41 · 320 阅读 · 0 评论 -
Java Arrays工具类常用方法总结
java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的。具有以下功能: 比较数组:通过equals方法比较数组中元素值是否相等结果为true、false.(布尔型不能比较) 把整个数组里的每一个元素的值进行替换为val。 对数组排序:通过sort方法,按升序。 copyof把一个数组复制出一个新数组(新数组的长度为length)。 BinarySearch:找到元素在数组当中的下标。 toString方法是把数组转换成字符串进行输出。(参数是数组,返回的是字符串) package原创 2020-10-19 17:59:12 · 614 阅读 · 2 评论 -
Java 二分查找法简单总结
二分法 作用于一个已经排序的数组(升序),一般用于挑选或查找出一个数字 一般有3个变量:最左(left)、最右(right)、中间值(mid=(left+right)/2) 结束条件: 当mid等于用户需要查找的数字的时候,循环结束 当left > right或者查找的数字不在数组中 package exercise03; import java.util.Scanner; // (二分法)使用Arrays类升序排列数组{1,5,12,36,55,78,98},请用户输入一个要查找.原创 2020-10-19 17:58:01 · 117 阅读 · 0 评论