
Java
Java相关
Python小叮当
这个作者很懒,什么都没留下…
展开
-
多线程之生产者和消费者的问题
需求有个工厂,去生产面包,要求每天只生产一个而且不产生浪费,也就是说每天的生产一个面包后必须消费一个面包分析:把工厂比作一个容器有两个行为:生产、消费那么在一个进程里面,这两个行为应该被视为2个线程工厂类一个生产数字判断容器是否为空的标志flag生产行为生产行为不可被其他线程打断,因此需要加上同步当容器不为空的时候,不用生产且需要进行消费当生产完毕后flag应该置为true消费行为消费行为不可被其他线程打断,因此需要加上同步当容器为空的时候应该,应该进行生产消费完原创 2020-11-25 00:28:27 · 286 阅读 · 0 评论 -
java多线程基础介绍及实操
文章目录什么是线程线程的创建创建一个`Thread`类,或者一个`Thread`子类的对象创建一个`runable`实现线程的创建线程的状态和生命周期线程优先级优先级常量线程的调度多线程运行问题同步与死锁死锁什么是线程一个进程包含多个线程线程的创建创建一个Thread类,或者一个Thread子类的对象Thread 是一个线程类,位于java.lang包下面,常用构造方法如下方法说明Thread()创建一个线程对象Thread(String name)创建一个具有指定原创 2020-11-25 00:25:45 · 162 阅读 · 0 评论 -
JAVA异常的相关知识
文章目录什么是异常如何处理异常Throwable类throw什么是异常本质上是程序上的错误编译期间的错误运行期间的错误如何处理异常try-catch-finallythrowthrows自定义异常异常链Throwable类通过Throwable类以及他的一些子类对程序中的错误进行的描述主要有2个重要的子类Error:Exception其中Exception又很多的子类,常见的如下:算术异常:ArithmeticException输入格式异常:InputMis原创 2020-11-05 12:19:37 · 260 阅读 · 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 · 357 阅读 · 0 评论 -
包装类的常识
文章目录包装类包装类和基本数据类型之间的对应关系装箱&拆箱包装类对象直接的比较包装类可以使基本数据类型拥有属性和方法,可以对象化交互//java中所有的包装类都是再java.lang中的,下面是integer的继承关系java.lang.Object java.lang.Number java.lang.Integer包装类和基本数据类型之间的对应关系基本数据类型初始值对应的包装类byte0Byteshort0Short原创 2020-11-03 14:40:48 · 285 阅读 · 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 · 156 阅读 · 0 评论 -
Java面向对象基础知识点(长更)
Object类Object类是所有类的父类Java中的每个类都可以使用Object中定义的方法方法重载同一个类中方法名相同,参数列表不同(参数顺序、个数、类型)方法的返回值、访问修饰符任意(可以相同可以不同)与方法的参数名无关方法重写:有继承关系的子类中方法名相同,参数列表相同(参数顺序、个数、类型),方法返回值相同(方法重写的时候返回值可以不同,可以允许是子类类型)访问修饰符、访问范围要大于等于父类的访问范围与方法的参数名无关访问控制修饰符private: 只允许在原创 2020-10-26 16:07:38 · 251 阅读 · 1 评论 -
单例模式之懒汉&饿汉的创建与使用
设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案单例模式目的:是的类的一个对象成为该类系统中的唯一实例定义:一个列有且仅有一个实例,并且自行实例化向整个系统提供要点某个类只能有一个实例必须自行创建实例必须自行向整个系统提供这个实例实现:只提供私有的构造方法含有一个该类的静态私有对象提供一个静态的公有方法用于创建、获取静态私有对象单例模式实现方案饿汉式:对象创建过程中实例化在类加载的时候就创建实例线程安全的懒汉式:静态公有方法中实.原创 2020-10-24 16:36:41 · 346 阅读 · 0 评论 -
Java Arrays工具类常用方法总结
java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的。具有以下功能:比较数组:通过equals方法比较数组中元素值是否相等结果为true、false.(布尔型不能比较)把整个数组里的每一个元素的值进行替换为val。对数组排序:通过sort方法,按升序。copyof把一个数组复制出一个新数组(新数组的长度为length)。BinarySearch:找到元素在数组当中的下标。toString方法是把数组转换成字符串进行输出。(参数是数组,返回的是字符串)package原创 2020-10-19 17:59:12 · 672 阅读 · 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 · 131 阅读 · 0 评论