- 博客(24)
- 收藏
- 关注
原创 java多线程三:synchronized关键字、lock锁的方式、volatile关键字、生产者消费者问题(使用object的等待唤醒机制)
一、多线程同步机制,线程安全要想查看一个程序是否是线程安全的,就看该程序的方法是不是同步方法。线程安全其实就是在该类进行操作的时候不会被其他操作所影响,会保证数据的安全。对于程序来说,要保证多个线程在去进行同一个数据的操作的时候,数据要保证一致,需要的结果和运行结果要是一致的。线程不安全:指的是多线程进行同一个数据的操作时,数据是不一致的,尤其是对数据进行写操作。使用runnable创建线程类,多个thread线程其实是同时在对同一个runnable线程对象在进行操作。 最终run方法是在操作同一个
2021-01-10 16:46:03
198
原创 java多线程二:callable创建线程、线程池、线程组、定时器和定时任务
一、callable创建线程步骤:实现callable接口,重写call方法。该线程不能够直接自己启动,需要使用线程池来启动。启动之后会调用call方法进行具体的操作。run方法和call方法的区别:run属于runnable线程的,没有返回值call属于callable线程的,可以有返回值二、线程池在之前的线程操作中,每一次创建线程对象、启动执行线程、销毁线程。如果有大量的线程对象的创建和销毁操作,对内存的消耗是非常大的。池的概念:创建一个池,里面提前放入一定数量的线程对象,要使用的
2021-01-10 14:17:02
553
原创 java多线程一:线程的状态及启动
一、初始1、应用是正在使用的程序2、电脑中有很多我们没有自己手动打开的在用的程序,但是在电脑上是运行着的程序,即在后台运行的程序。3、PID是电脑为每一应用程序分配的一个标识符号,都是唯一的。但是不是固定的。4、进程和线程的关系:一个进程中可以有多个线程有线程必须有进程,没有进程就没有线程。进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程的实际运作单位。一条线
2021-01-09 18:05:58
125
原创 Java网络爬虫
Java网络爬虫(Java代码读取某一个网页中的所有图片)1、具体步骤指定目标文件获取URL对象通过URL开启java程序与资源的连接将资源读取到io流中文件拷贝操作2、单个网络资源的下载public static void main(String[] args) { //目标文件的位置 String src= "http://www.slxy.cn/__local/4/16/35/539C388F0600C11218D95E1B821_869968B2_22712.j
2020-12-15 20:03:03
177
1
原创 commons-io三方架包、1.8之后的文件操作、IO流对excel表格进行操作、IO流对word文档进行操作
一、commons-io三方架包文件拷贝、文件上传,都是使用的是字节流将自己写的文件拷贝操作,进行打包操作,打成jar包,然后导入工作空间,加载到该项目的运行环境中来,在其他项目中就不用再去写代码,即可调用该方法。如下图所示:1、Commons-io的使用步骤Java是开源的,面向对象的,可以使用jar的形式进行类的引用。公认的比较好的文件操作架包Commons-io。网络中下载需要的jar,maven中央仓库,网址:添加链接描述导入项目中进行使用,具体操作见代码:
2020-12-09 17:21:14
506
原创 IO流常用流的介绍
一、IOIO流是:java程序和文件交互的过程IO流就是使用java技术将文件中的内容读取到java程序中,或者将程序中的内容保存到java文件中的过程IO流的大致分类:IO流的方向:输入流,输出流数据流量大小:字节流,字符流按功能:节点流,处理流1、1字节流java中所有的IO流的底层全部都是字节流1、1、1字节输入流InputStream使用已知实现子类:FileInputStream基本步骤如下:指定要操作的文件将文件读取到IO流从IO流中获取内容保存到java程
2020-12-08 20:17:14
192
原创 IO流file部分
IO流概念:IO流其实就是java程序与计算机上(或者网络上的文件),进行交互的抽象过程。1、file文件IO流通过java程序操作计算机上的文件或者文件夹;Windows操作系统使用dos命令来操作计算机上的文件。1、1Filejava用来表示文件的类,该类用来表示文件的路径。相对路径和绝对路径的区别:相对路径:要有参考目标,以参考目标为例相对于目标的位置绝对路径:能够直接准确定位到的位置,就是哪个盘符下在java程序中,如果要将文件放到程序中的时候,应该将他放到项目的根目录或者根
2020-12-03 11:47:25
85
原创 异常处理
一、异常错误和异常的区别:错误:需要去修改代码异常:在程序运行期间可能出现的问题Throwable是他的父类Error :错误,只有改变代码才能解决Exception:异常的父类运行时异常,该异常可以通过异常捕获机制进行异常的处理,而使程序不会因为异常产生而停止运行。运行时异常会导致程序终止运行在java自带的类的方法中,在定义的时候,如果怎么样就会抛出一个异常。...
2020-12-02 15:38:59
66
原创 java的集合操作
一、什么是集合集合是Java中的第二个容器(就是在程序内存中用来存放数据的地方),Java的集合是一个可变长度大小的容器(集合就是可变长度的数组,集合的底层是数组)。数组是用来存储相同数据类型的容器,集合是用来存放任意对象类型的数据的容器。集合有长度,集合中的数据称为元素,集合分为很多种类。二、Collection类型的集合通过collection来了解集合的特点。1、Collection...
2020-11-27 20:16:14
554
原创 数学操作类、数组操作类、大数据类、其他类MD5
一、数学操作类代码演示如下:public class MathClass { @Test void math01() { // 圆周率 System.out.println(Math.PI); // 底数 System.out.println(Math.E); } // 方法的使用 @Test void math02() { // 对于数字的操作 Byte b = -10;// 自动装箱 System.out.println("三次方" + Math.cbr
2020-11-25 13:08:20
95
原创 日期操作类
一、Date java.util包Date是用来表示时间的类,时间精确到毫秒。现在使用的时间是从1970.1.1开始的1、Date类的构造方法2、使用方法具体见代码@Test void test01() { //日期的实例化 //获取系统当前时间 Date date = new Date(); System.out.println(date);//Tue Nov 24 15:35:27 CST 2020 //获取系统从1970年到现在的毫秒值 System.
2020-11-24 19:30:36
89
原创 String字符串类、正则表达式以及Pattern类
一、String字符串1、String(不可变字符串)1、1创建String对象@Test void test() { //创建String字符串常量池 String str01 = "abc"; String str02 = "abc"; //new实例 String str03 = new String("abc"); String str04 = new String("abc"); //==和equals比较
2020-11-19 16:27:06
1263
3
原创 System系统操作类和基本数据类型封装类
一、System系统操作类1、System1.1System类的简单介绍system没有构造方法属性err,in,out都是为了得到一个流err、out都是用来输出信息的,在控制台输出我们想要输出的信息,都是一个printstream(标准输出流)In是用来获取输入信息,得到一个inputstream1.2System常用的方法currentTimeMillis();gc();exit( int status); status状态----0,1load( String
2020-11-18 15:11:15
317
原创 java设计原则与设计模式及UML类图
一、设计原则二、设计模式定义:设计模式是根据设计原则结合实际开发中的方式,进行总结出来的一套编程模式分类:创建型模式:主要是用来实例化对象用的结构型模式:对象和类的调用行为型模式:不同类之间的相互处理1、单例模式我们通过类new一次就会得到一个实例对象,多次new得到的是不同的对象,如果需要得到同一个对象,我们可以通过单例模式,单例模式就是通过改变获取java对象的方式得到同一个java对象将构造方法私有化,采用封装的思想,暴露一个public的公共方法单例模式就是为了得到相同的
2020-11-11 21:08:03
378
原创 java中的其他类:接口、抽象类、枚举类、内部类、final关键字、Lombok插件
一:接口使用继承和多态来自己实现一下USB接口的操作;接口是一个特殊的Java类,接口可以做到多继承(接口的继承称之为实现,接口可以多实现)。1、基本接口1、1接口的定义、声明Java类使用的是class关键字,接口使用interface关键字声明语法:public interface 接口的名字接口中都会有哪些东西A:属性定义属性如下属性被编译后的结果如下由此可见,接口中的属性默认是使用public static final修饰,在声明时默认赋予初始值B:方
2020-11-05 14:32:28
614
原创 面向对象的关键字以及包和访问限定修饰符以及面向对象的三大特性
一、static、this关键字1、this关键字this关键字表示的是当前对象,主要在方法中使用(普通,构造),主要作用是为了区分全局变量和局部变量如果用一个对象调用带有this的方法,那么这个this就表示的是谁this关键字,在方法中可以当作一个实际的对象进行使用2、static关键字2、1用static修饰属性静态属性属于类所有,所有的实例化对象共享类的静态属性。一个对象对类的静态属性的修改会涌向到其他类的引用值类是一个特殊的对象,静态方法只能调用静态方法,静态方法只能调用
2020-10-28 20:08:34
289
原创 java面向对象
java程序是用来解决日常生活中的重复复杂操作,生活中这件事该怎么干怎么将现实生活中的事物(对象)用Java来表示,面向对象思想一、Java面向对象-面向对象是软件开发方法。面向对象的概念和应用已经超过了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构,CAD技术、人工智能等领域。面向对象是一种对现实世界的...
2020-10-23 22:45:18
190
1
原创 数组
数组是有序的元素序列。若将有限个类型相同的变量的集合命名。那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便,把具有相同类型的若干元素按有序的形式组织起来的一种形式。这些有序排列的同类数据元素的集合称为数组。数组是用来存放相同数据类型的一种容器,这些相同的数据在容器中是有序排列的。在容器中数据使用下标来标记。数组是在程序运行期间存放数据的容器。变量:在程序运行期间其值可以改变
2020-10-14 17:14:38
171
原创 String字符串
一.String 字符串1、生成自己的api文档根据自己的Java代码生成自己的帮助文档步骤如下:2、使用java命令,操作带包的Java文件javac -d java文件 (编译命令)java 全路径(包.class名)(执行命令)如下图所示:3、字符串的用法所有的字符串都当做变量来使用数据类型 名字 = 值:String str = “hello world”;String类代表字符串,java程序中所有字符串字面值都作为此类的实例来实现字符
2020-10-14 14:58:39
179
1
原创 数据类型、Java常量和变量、获取键盘输入Scanner、运算符
一:数据类型Java程序就是对数据的操作。Java中数据类型的划分如下图:1、基本数据类型数值型:整数型:byte、short、int、long 小数型:float、double字符型:char布尔型:boolean 真和假 true/false数值型:在内存中占的大小byte占一个字节(在内存中占8位)取值范围:-128----127short占两个字节(在内存中占16位)取值范围:-32768----32767int占4个字
2020-09-30 17:39:59
350
原创 第一个Java程序、Java程序的执行原理、Java常用开发工具的使用、jdk的安装、
一、第一个Java程序1、代码的内容java代码的规定在Java语言中有很多的关键字,class后面的名字不能使用关键字class后面的名字必须与Java文件的名字一致,大小写也要一致所有的Java程序要想执行必须有main方法,main方法是程序是用来执行Java程序的主 方法,但不是唯一执行代码的方法2.Java程序的执行原理。工作流程:Java源文件-------javacde 编译-------字节码文件(最终运行的文件)-------IVM虚拟机-------解释(
2020-09-30 16:19:59
87
原创 搭建java开发环境、windows的常用命令、JavaHelloWorld
1、 Javaa、Java语言 的定义: Java是一个面向对象的编程语言。Java语言的特点:简单性、分布式、健壮性、安全性、平台独立性与可移植性、多线程、动态性b、Java语言分为 : javase\javaee\javameJAVASE 标准版 io oop 异常 网络编程 多线程 集合 数组 循环 反射泛型 序列化 nio 流式思想 接口Javame 微型版 带有可视化界面 swing guiJavaEE 企业版 jsp servlet
2020-09-26 22:53:26
253
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人