自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 反射.....

启动类加载器(Bootstrap ClassLoader):⽤于加载系统类库<JAVA_HOME>\bin⽬录下的class,例如:rt.jar。扩展类加载器(Extension ClassLoader):⽤于加载扩展类库<JAVA_HOME>\lib\ext⽬录下的class。当我们的程序在运行后,第一次使用某个类的时候会将此类的class文件读取到内存,并将此类的所有信息存储到一个class对象中。应⽤程序类加载器(Application ClassLoader):⽤于加载我们⾃定义类的加载器。

2023-06-11 17:44:24 51

原创 Selectior(选择器)

讲解选择器Selector是NIO中的重要技术之⼀。它与SelectableChannel联合使⽤实现了⾮阻塞的多路复⽤。使⽤它可以节省CPU资源,提⾼程序的运⾏效率。"多路"是指:服务器端同时监听多个“端⼝”的情况。每个端⼝都要监听多个客户端的连接。服务器端的多路复用效果使⽤了多路复⽤,只需要⼀个线程就可以处理多个通道,降低内存占⽤率,减少CPU切换时间,在⾼并发、⾼频段业务环境下有⾮常重要的优势选择器Selector的获取和注册概述:Se...

2023-06-11 17:42:18 68

原创 Selectior(选择器)

讲解选择器Selector是NIO中的重要技术之⼀。它与SelectableChannel联合使⽤实现了⾮阻塞的多路复⽤。使⽤它可以节省CPU资源,提⾼程序的运⾏效率。 "多路"是指:服务器端同时监听多个“端⼝”的情况。每个端⼝都要监听多个客户端的连接。服务器端的多路复用效果使⽤了多路复⽤,只需要⼀个线程就可以处理多个通道,降低内存占⽤率,减少CPU切换时间,在⾼并发、⾼频段业务环境下有⾮常重要的优势选择器Selector的获取和注册概述:Selec.

2023-04-09 01:01:59 108

原创 HTML—CSS

HTML-CSS

2022-06-29 00:50:14 95 1

原创 html第一天

html基础

2022-06-28 00:53:56 91

原创 Junit单元测试

Junit的使用步骤 执行测试方法 断言:预先判断某个条件是否成立,如果条件不成立则直接报错 。使用Assert类中的assertEquals()方法案例:

2022-06-12 15:07:42 278

原创 NIO,Buffer

NIO概述同步与异步(synchronous/asynchronous) : 同步是⼀种可靠的有序运⾏机制,当我们进⾏同步操作时,后续的任务是等待当前调⽤返回,才会进⾏下⼀步;⽽异步则相反,其他任务不需要等待当前调⽤返回,通常依靠事件、回调等机制来实现任务间次序关系 同步: 调⽤⽅法之后,必须要得到⼀个返回值 例如: 买⽕⻋票,⼀定要买到票,才能继续下⼀步 异步: 调⽤⽅法之后,不需要有返回值,但是会有回调函数, 回调函数指的是满⾜条件之后会⾃动执⾏的⽅法 例如.

2022-05-29 22:07:09 127

原创 网络编程和NIO

网络编程入门C/S结构:全程为Client/Server结构,是指客户端和服务 器结构。常⻅程序有QQ、迅雷等软件 特点:客户端和服务器是分开的,需要下载客户端,对网络要求相对低,开发和维护成本高,相对稳定B/S结构:全称为Browser/Server结构,是指浏览器和服务器结构。常⻅浏览器有⾕歌、⽕狐等 特点:没有客户端,只有服务器,不需要下载客户端,直接通过浏览器访问, 对⽹络要求相对⾼, 开发和维护成本低,服务器压⼒很⼤,相对不稳定 两种架构各有优势,但是⽆论哪种架构,...

2022-05-29 20:57:57 89

原创 序列化...

Java 提供了⼀种对象序列化的机制。⽤⼀个字节序列可以表示⼀个对象,该字节序列包含该对象的数据、对象的类型和对象中存储的属性等信息。字节序列写出到⽂件之后,相当于⽂件中持久保存了⼀个对象的信息。 反之,该字节序列还可以从⽂件中读取回来,重构对象,对它进⾏反序列化。对象的数据、对象的类型和对象中存储的数据信息,都可以⽤来在内存中创建对象。 ObjectOutputStream类ObjectOutputStream类的概述:java.io.ObjectOutputStream 类,...

2022-05-29 17:24:48 47

原创 转换流...

字符编码和字符集字符编码的概述计算机中储存的信息都是⽤⼆进制数表示的,⽽我们在屏幕上看到的数字、英⽂、标点符号、汉字等字符是⼆进制数转换之后的结果。按照某种规则,将字符存储到计算机中,称为编码。反之,将存储在计算机中的⼆进制数按照某种规则解析显示出来,称为解码 。⽐如说,按照A规则存储,同样按照A规则解析,那么就能显示正确的⽂本符号。反之,按照A规则存储,再按照B规则解析,就会导致乱码现象。字符编码Character Encoding : 就是⼀套⾃然语⾔的字 符与⼆进制数之间的对应规则。.

2022-05-29 17:04:54 59

原创 缓冲流...

字节缓冲流:BufferedInputStream,BufferedOutputStream 字符缓冲流:BufferedReader,BufferedWriter缓冲流的基本原理,是在创建流对象时,会创建⼀个内置的默认⼤⼩的缓冲区数组,通过缓冲区读写,减少系统IO次数,从⽽提⾼读写的效率。字节缓冲流字节缓冲流的构造方法public BufferedInputStream(InputStream in) :创建⼀个 新的缓冲输⼊流。 public BufferedOutputSt

2022-05-29 16:45:39 80

原创 File类03

IO资源的处理之前的⼊⻔练习,我们⼀直把异常抛出,⽽实际开发中并不能 这样处理,建议使⽤try...catch...finally 代码块,处理异常部分public class haunchongliu { public static void main(String[] args) { //IO资源的处理 //练习:拷贝文件 //jdk前IO异常处理 FileInputStream fis=null; .

2022-05-29 16:34:59 53

原创 File类02

IOIO的概述:I:Input输入,从其他存储设备读数据到内存中就是输入 O:Output输出,从内存中写数据到其他存储设备IO的分类根据数据的流向分为:输入流和输出流输入流:把数据从其他设备上读取到内存中的流。 字节输入流:以字节为基本单位,读数据 字符输⼊流:以字符为基本单位,读数据 输出流 :把数据从内存 中写出到其他设备上的流。 字节输出流:以字节为基本单位,写出数据 字符输出流:以字符为基本单位,写出数据 根据数据的类型分为:字节流和字符流...

2022-05-29 15:51:23 106

原创 File类01.

File类的概述和构造方法概述:java.io.File 类是⽂件和⽬录路径名的抽象表示,主要⽤ 于⽂件和⽬录的创建、查找和删除等操作。构造方法: public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例 public File(String parent, String child) :从⽗路径名字符串和⼦路径名字符串创建新的 File实例。 public File(File pare.

2022-05-29 14:50:24 107

原创 Stream流

Stream流的引入传统方式操作集合public class Demo { public static void main(String[] args) { // 传统⽅式操作集合: List<String> list = new ArrayList<>(); list.add("张⽆忌"); list.add("周芷若"); list.add("赵敏"); lis..

2022-05-29 14:08:42 63

原创 多线程04.

线程状态概述:当线程被创建并启动以后,它既不是⼀启动就进⼊了执⾏状态,也不是⼀直处于执⾏状态。在线程的⽣命周期中,有⼏种状态呢?在API中java.lang.Thread.State这个枚举中给出了六种线程状态:NEW(新建):线程刚被创建,但是并未启动。还没调用start方法。MyThread t = new,MyThread()只有线程对象,没有线程特征。创建线程对象时 Runnable(可运行):线程可以在java虚拟机中运行的状态,可能正在运行自己的代码,也可能没有,这取决于操.

2022-05-29 13:43:37 50

原创 多线程03

线程池方式线程池的概念线程池概念:其实就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作,无需反复创建线程而消耗多资源。线程池的工作原理:线程池的好处 降低资源消耗。减少了创建和销毁线程的次数,每个⼯作线程都可以被重复利⽤,可执⾏多个任务。 提⾼响应速度。当任务到达时,任务可以不需要的等到线程创建就能⽴即执⾏。 提⾼线程的可管理性。可以根据系统的承受能⼒,调整线程池中⼯作线线程的数⽬,防⽌因为消耗过多的内存,⽽把...

2022-05-24 20:03:07 60

原创 多线程02.

线程安全synchronizedsynchronized关键字:表示“同步”的。它可以对“多⾏代 码”进⾏“同步”——将多⾏代码当成是⼀个完整的整体,⼀个线程如果进⼊到这个代码块中,会全部执⾏完毕,执⾏结束后,其它线程才会执⾏。这样可以保证这多行的代码作为完整的整体,被⼀个线程完整的执行完毕 synchronized被称为“重量级的锁”⽅式,也是“悲观锁”—— 效率⽐较低。 synchronized有几种使用方式: a).同步代码块 b).同步⽅法【常⽤】 (当我们使.

2022-05-23 00:02:47 134

原创 多线程01.

并行与并发并行:指两个或多个事件在同一时刻发生(同时执行)。 并发:指两个或多个事件在同一时间段发生(交替执行)。在操作系统中,安装了多个程序,并发指的是在⼀段时间内宏 观上有多个程序同时运⾏,这在单 CPU 系统中,每⼀时刻只能有⼀道程序执⾏,即微观上这些程序是分时的交替运⾏,只不过是给⼈的感觉是同时运⾏,那是因为分时交替运⾏的时间是⾮常短的。⽽在多个 CPU 系统中,则这些可以并发执⾏的程序便可以分 配到多个处理器上(CPU),实现多任务并⾏执⾏,即利⽤每 个处理器来处理⼀个...

2022-05-22 20:41:08 69

原创 异常...

异常异常的概述:异常,就是不正常的意思。在⽣活中:医⽣说,你的身体某个部 位有异常,该部位和正常相⽐有点不同,该部位的功能将受影响. 在程序中的意思就是:异常:指的是程序在执⾏过程中,出现的⾮正常的情况, 最终会导致JVM的⾮正常停⽌。注意:在Java等⾯向对象的编程语⾔中,异常本身是⼀个类, 产⽣异常就是创建异常对象并抛出了⼀个异常对象。Java处理 异常的⽅式是中断处理。 异常指的并不是语法错误,语法错了,编译不通过,不会产生字节码文件,根本不能运行异常体系 ...

2022-05-22 17:08:49 113

原创 排序算法.

冒泡排序冒泡排序概述:⼀种排序的⽅式,对要进⾏排序的数据, 相邻的数据进⾏两两⽐较,将较⼤的数据放在后⾯,依次对所有的数据进⾏操作,直⾄所有数据按要求完成排序 如果有n个数据进⾏排序,总共需要⽐较n-1轮 每⼀轮⽐较完毕,下⼀轮的⽐较就会少⼀个数据参与代码:public class ArrayDemo { public static void main(String[] args) { //定义⼀个数组 int[] arr = {7, 6, 5, 4, 3}; System...

2022-05-22 15:42:49 132

原创 集合的嵌套.

List嵌套Listpublic class Test5 { public static void main(String[] args) { //List嵌套List List<String> list = new ArrayList<>(); list.add("小王"); list.add("小李"); list.add("小张"); List<String&.

2022-05-22 15:12:20 115

原创 集合02.

Map集合概述:Map<K,V>接⼝概述:也称Map集合,是所有双列集合的顶层⽗接⼝,K⽤来限制键的类型,V⽤来限制值的类型Map集合的特点: Map集合存储元素是以键值对的形式存储,也就是说每⼀个键值对都有键和值 通过键取值 Map集合中的键不能重复,如果键重 复了,那么值就会覆盖 Map集合中的值是可以重复HashMap类:键唯⼀,键值对存取⽆ 序, 由哈希表保证键唯⼀LinkedHashMap类:键唯⼀,键值对 存取有序,由哈希表保证..

2022-05-22 15:00:13 138

原创 集合01.

Collections类java.utils.Collections是集合工具类,用来对集合进行操作常用方法:public static void shuffle(List<?> list) :打乱集合顺序 public static<T> void sort(List<T> list):将集合中元素按照默认规则排序 public static<T> void sort(List<T> list,Comparator<?s..

2022-05-22 13:54:40 76

原创 JAVA基础第六天

面向对象编程(上)1.面向过程和面向对象的编程思想面向过程的编程思想: 以流程为为单位,注重功能的实现 存在的问题: 流程之间相互依赖,导致代码之间的耦合性非常高 不利于程序的维护和后期功能的扩展 面向对象的编程思想: 面向对象是建立在面向过程的基础之上,也就是说在面向对象的编程中一定会用到面向过程的编程思想。 面向对象就是把任何一个事物看作是一个整体,从事物的特征(属性)和行为(方法、功能)两个方面进行描述。 ...

2021-12-06 01:39:15 873 1

原创 JAVA基础第五天

方法的概述1.方法的概念方法(method)时具有独立功能的代码块组织成为⼀个整体,使其具有特殊功能的代码集。注意: 方法必须先创建才可以使用,该过程成为方法定义 方法创建后并不是直接可以运行的,需要手动使用后,才执行,该过程成为方法调用 方法的定义和调用1.无参数方法定义和调用 (注意:方法必须先定义,后调用,否则程序将会报错)定义格式:pubilc static void 方法名( ){ //方法体}范例:public..

2021-12-04 22:29:23 146

原创 JAVA基础第四天

1.数组数组介绍数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。 数组就是用来存储一组相同类型数据的数据结构。 数组本身属于引用类型 数组中的元素可以是基本数据类型也可以是引用数据类型 Java中支持多维数组,多维数组中的元素都是数组数组的定义格式第一种格式: 数据类型[]数组名int[] arr; double[] arr; char[] arr;第二种格式: 数据类型 数组名...

2021-12-03 22:46:29 240

原创 JAVA基础第三天

1.switch语句1.分支语句swtich语句 格式: switch (表达式) { case 1: 语句体1; break; case 2: 语句体2; break; ... default: 语句体n+1; break; }执行流程:...

2021-12-02 22:02:18 88

原创 JAVA基础第二天

1.类型转换在Java中,⼀些数据类型之间是可以相互转换的。分为两种情况:⾃动类型转换(小转大自动转)和强制类型转换(大转小强制转)。

2021-11-26 23:14:30 366

原创 JAVA基础第一天

Java是一种高级计算机语言,它是由SUN公司1995年5月推出的一种可以跨平台的应用软件,完全面向对象的程序设计语言,创始人:詹姆斯.高斯林。1.JAVA的三个版本:1.JavaSE(标准版):是为了开发普通桌面和商务应用程序提供的,它是3个平台中最核心的部分,JavaEE,JavaMe都是由JavaSE的基础上发展的,JavaSE包括 最核心的类库,如集合,IO,数据类库连结以及网络编程等。2.JavaEE(企业版):它是为了开发企业级应用程序提供的解决方案,JAVAEE可以看作是一个技术平

2021-11-26 21:09:43 349

空空如也

空空如也

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

TA关注的人

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