自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 常用API学习08(Java)

以数字类为例,假设有一个比分牌,在无人得分的时候我们希望以:“00:00”的形式存在,那么靠计算机默认的格式肯定是不行的,所以要给其进行格式化。我们会发现,如果指定为“0”,那么就会强制保留这个“0”,如果是“#”,则不会保留这个“0”。对日期进行格式化的类,将指定形式的字符串转化为日期对象,也可以将日期对象转为字符串对象。数字格式化的类,可以指定保留的小数位,在使用的时候需要注意其中0和#的区别。格式化指的是将数据按照指定的规则转化为指定的形式。那么为什么需要格式化?

2023-07-26 20:16:11 256

原创 常用API学习07(Java)

在jdk1.8之前,java中的日期和时间是一类的,从1.8之后对日期和时间体系重新做了规划,划分出一个新的包 - java.time包,这个包中包含了日期、时间、时区、日历、单位。Date,是java中最老的日期和时间类,后续退出了很多取代date的类,但是目前位置使用最多的还是Date。Calendar:jdk1.1提供的日历类。java.time:1.8之后提供的一个全新的包,将日期和时间进行拆分。

2023-07-25 20:07:28 249

原创 常用API学习06(Java)

publicBigInteger(int num, Random rnd) 获取随机大整数,范围:[0~2的num次方-1]public(String val) 获取指定的大整数public(String val, int radix) 获取指定进制的大整数(long val) 静态方法获取BigInteger的对象,内部有优化对象一旦创建,内部记录的值不能发生改变。

2023-07-19 19:41:49 928

原创 常用API学习05(Java)

这段代码会启动我电脑的HBuilderX。Runtime表示当前虚拟机的运行环境,Runtime的方法我们不能自己直接去new。JVM能从系统中获取总内存大小(单位byte)JVM剩余内存大小(单位byte)JVM已经从系统中获取总内存大小。当前系统的运行环境对象。

2023-07-17 20:26:48 442

原创 常用API学习04(Java)

对于exit(),它有一个参数,当这个参数为0的时候,那么当前虚拟机就是正常停止,如果这个参数为非0时,那么当前虚拟机就是异常停止。在Java中,延续了C语言的设定,计算机中的时间原点为:1970年1月1日 00:00:00。如果数据源数组和目的地数组都是基本数据类型,那么两者的类型必须保持一致,否则会报错。(数据源数组,起始索引,目的地数组,起始索引,拷贝个数) 数组拷贝。这个结果每一次运行的结果都不一样,因为每一次使用时,当前的时间都在变化。参数一:数据源,要拷贝的数据从哪个数组而来。

2023-07-17 20:23:58 212

原创 常用API学习03(Java)

/获取指定下标的字符//将字符串转换为字符数组//将字符数组转换为字符串//从指定数组的指定下标开始,将指定个数字符转换为字符串运行结果:此处补充一下,String(byte[] bt)可将字符数组转换为字符串,String(byte[] bt,offset,count)从指定数组的指定下标开始,将指定个数字符转换为字符串。//按字典顺序比较两个字符串/*比较过程:* 转化为字符数组后,会进行逐位比较,如果同一个位置上的字符不一致,

2023-07-17 20:22:23 245

原创 常用API学习02(Java)

在java中,Object是类层次中的根类,即Object是所有类的父类-任何类都是 object的子类。任何一个类的对象都可以使用object来声明。类

2023-07-14 15:30:22 315

原创 常用API学习01(Java)

补充: abs存在一个bug,以为以int类型为例,取值范围:-2147483648~2147483647如果没有正数与负数对应,那么传递负数结果有误-2147483648没有正数与之对应,所以abs结果产生bug。(double a,double b) 返回a的b次幂的值。() 返回值为double的随机值,范围[0.0,1.0)(double a,double b) 返回a的平方根。(double a,double b) 返回a的立方根。

2023-07-13 20:10:03 240

原创 注解和反射04(Java)

拓展#拓展。

2023-07-12 17:39:09 262

原创 注解和反射03(Java)

有了Class对象,能做什么?newInstance()是一个Java中使用反射创建对象实例的方法,通过该方法可以获取类的构造函数,并创建出一个新的对象实例。(类似于new)method.invoke()就是调用类中的方法,第一个参数是obj(对象),在我们平常使用过程中用到的是类,类是对象的一个集合,第二个参数是args(参数),是调用invoke这个方法所使用的参数,我们使用是一般是类中的方法(method),因此invoke方法我们也可以这样理解:invoke(class,method),相当于把类中

2023-07-12 11:33:19 80

原创 注解和反射02(Java)

首先需了解静态语言和动态语言。是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。通俗点说就是在运行时代码可以根据某些条件改变自身结构。主要动态语言:Object-C、C#、JavaScript、PHP、Python等。与动态语言是相对应的,运行时结构不可变的语言就是静态语言。如Java、C、C++。Java不是动态语言,但Java可以称之为“准动态语言”。即Java有一定的动态性,我们可以利用反射机制获得类似动态语言的特性。

2023-07-11 19:55:46 139

原创 注解和反射01(Java)

Annotation(注解)是从JDK5.0开始引入的新技术。Annotation的作用:不是程序本身,可以对程序作出解释。(这一点和注释(comment)没什么区别)。可以被其他程序(比如:编译器等)读取。Annotation的格式:注解是以”@注释名”在代码中存在的,还可以添加一些参数值,例 如:@SuppressWarnings(value="unchecked")。Annotation在哪里使用。

2023-07-11 15:39:55 176

原创 IO流学习09(Java)

解压本质:把每一个ZipEntry按照层级拷贝到本地另一个文件夹中注:Java只认zip格式核心就是操作ZipEntry对象,也就是压缩文件中的每一个文件夹或者文件。ZipInputStream表示解压缩输入流mkdir()方法用于创建单级目录,如果父级目录不存在则创建失败。mkdirs()方法用于创建多级目录,如果父级目录不存在则会一并创建。

2023-07-11 10:26:36 139

原创 IO流学习08(Java)

打印流,不能读只能写,它只有输出流,打印流一般是指PrintStream(字节打印流),PrintWriter(字符打印流)两个类。

2023-07-10 17:24:35 184

原创 IO流学习07(Java)

在建好对象后,使其实现Serializable接口,再对其实现序列化将其保存到本地文件当中,当我们修改对象时,再使用反序列化将其从本地文件以对象的形式读到程序当中,会出下报错,这是因为每一次序列化,都会根据对象中所包含的所有成员生成一个版本号,序列化后,文件当中也会包含这个版本号此时,如果修改了java文件,会导致文件中的版本号和JavaBean的版本号不匹配,从而报错。案例需求:利用序列化流,把一个本地文件职中的对象读到程序中。案例需求:利用序列化流,把一个对象写到本地文件中。把基本流包装成高级流。

2023-07-10 15:37:41 214

原创 IO流学习06(Java)

In -- 将输入的字节流 -----> 字符流 ---->用于读取到控制台 或 内存 -- 注意这个是读 ====输入的是来源,形容词,不是你理解的字节输入流转字符输入流。Out -- 将输出的字符流 ---- > 字节流 ---> 用于输出到控制台 或者 文件 -- 注意这个是写 ====输出的是来源,形容词,不是你理解的字符输出流转字节输出流。转换流是字节流和字符流之间的桥梁,实现字节流和字符流的相互转换。另外,释放资源时,只需要关闭高级流,而普通流不用管。

2023-07-08 16:02:24 316

原创 IO流学习05(Java)

1.创建字符输入流对象:创建字符输入流关联本地文件创建字符输入流关联本地文件2.读取数据:读取数据,读到末尾返回-1读取多个数据,读到末尾返回-13.释放资源//1.创建对象并关联本地文件//2.读取数据int ch;=-1){//强转fr.close();提前准备好一个本地文件:创建字符输出流关联本地文件创建字符输出流关联本地文件创建字符输出流关联本地文件,续写创建字符输出流关联本地文件,续写写出一个字符写出一个字符串写出一个字符串的一部分写出一个字符数组。

2023-07-07 19:42:18 55

原创 IO流学习04(Java)

因为此处使用的是try...catch的方式,所以我们要把fis、fos放到外面以成员变量的形式存在,而不是局部变量,避免在finally中报错,另外因为存在资源链接是否成功建立的问题,所以fis和fos可能存在连接不上而依旧是null的情况,这个时候在释放资源时就会报空指针的错误,为了防止这种情况,我们需要给它加上判断。

2023-04-22 21:51:45 56

原创 IO流学习03(Java)

在这段代码中,我们实现了一次传多个字节,我们利用一个数组,并定义这个数组的大小,这个数组的大小会决定一次传多少个字节,原本调用read()方法时,它会直接读出一个数据并返回这个数据,而此处我们在read()方法里面放了一个数组bytes,那么read()方法就会把读取到的数据存放在这个数组中,而返回的数值则是存放了多少个数据,真正的数据则是放在了数组里面。我们发现,第三次只读取到了一个数据,去出现了“ed”,而第四次很好理解,因为没有数据读了就返回一个-1,但是依然输出了“ed”。

2023-04-16 22:48:38 60

原创 IO流学习02(Java)

另外还有read()返回的类型是int类型,那么我们可以定义一个int值,把它放在循环中,每使用一次read(),就让返回值等于我们定义的这个int值,当这个值等于-1时,我们让循环停止,此时本地文件中的所有文件也读取过来了。细节2:读到文件末尾时,read方法返回的是-1(另外空格也算是一个数据,它会返回一个ASCII上空格对应的值。FileInputStream可以操作本地文件的字节输入流,可以把本地文件中的数据读取到程序中来。细节1:一次读一个字节,读出来的是数据在ASCII上对应的数字。

2023-04-16 18:02:38 93

原创 IO流学习01(Java)

接下来我们介绍它们的子类,首先是FileInputSteam,它是InputStream的子类(容易辨认,后面不再接受各自是谁的子类),它可以操作本地文件的字节输入流,可以把程序中的数据写到本地文件中,然后是FileOutputSteam,它可以操作本地文件的字节输出流。注意:InputStream,OutputStream,Reader,Writer都是抽象类不能直接创建对象,还得看子类。其实是存储和读取数据的解决方案,I是input,O是outpu,流就是像水流一样传输数据。那IO流的作用是什么?

2023-04-14 00:07:29 74

原创 网络编程07(Java)

HTTP,又被称为超文本传输协议(http,hypertext transfer protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。浏览网页时在浏览器地址栏中输入的URL前面都是以http://开始的。首先连接到这个资源的HTTP,然后接收它的资源,资源是以“流”的形式接收的,也就是字节流,并将其命名为SecurityFile.txt保存下来。URL是统一资源定位符,起到定位资源的作用,定位互联网的某个资源,比如:http://www.baidu.com/。

2023-04-13 00:20:02 58

原创 网络编程06(Java)

在上次的案例中,我们虽然实现了发送信息的功能,但是只是单方面的发送,那么本次要在原来的基础上,完成双方都可以发送和接受的功能。此时我们需要两个相互发消息的对象。

2023-04-11 23:46:34 55

原创 网络编程05(Java)

这段代码的作用是,将在控制台输入的信息读取后存入reader中,也就是把我们想发送的消息读取出来,那么在配合下面的代码后,可以先将读取到的数据转换为String类型,再将其转换为字符型并且存入字节数组datas中,然后就可以通过DatagramPacket把消息发送给接收方啦。本次尽实现发送方对接收方发送消息的功能,且能够不停的发送并接收消息,当消息为“bye”时,结束本次发送接收功能。我想,我们实现了消息发送的功能。

2023-04-11 22:16:43 94 1

原创 网络编程04(Java)

我们已经建好包后,需要发送数据包给服务器,那么msg.getBytes(),也就是获取msg的字节数组,因为在服务器中,需要将获取到的字节数组存入另外一个字节数组buffer中,并在存好之后才将其转为原来的形式并输出。最后,localhost, port,则是告诉客户端我们需要连接的是谁,也就是发送对象,正好对应客户端的端口和地址,这样才能正常发送。总所周知,UDP发送消息,不需要进行连接,所以这和TCP有较大差异,同时安全性也相对欠缺,但是不得不说的是,相较于TCP,UDP在执行一些功能时更加方便。

2023-04-10 23:54:47 48

原创 网络编程03(Java)

服务器:1.建立服务的端口(ServerSocket)。2.等待用户连接(通过accept)。下面写一个客户端向服务端发送消息,服务端接受消息的案例。客户端:1.连接服务器Socket。

2023-04-08 16:59:15 48

原创 网络编程02(Java)

【代码】网络编程02(Java)

2023-04-06 20:17:49 51

原创 网络编程01(Java)

【代码】网络编程01(Java)

2023-04-06 19:43:27 49

原创 多线程学习24(Java)

【代码】多线程学习24(Java)

2023-04-05 00:53:52 49

原创 多线程学习23(Java)

下面我们举一个简单的例子,并写出相应的案例:我们设置演员和观众,演员为生产者,观众为消费者,我们让演员在表演的时候,观众等待,让观众观看的时候,演员等待,而决定表演和观看的信号灯,我们设置为一个布尔值,当其为真时,我们执行演员表演,观众等待,当其为假时,我们执行观众观看,演员等待。信号灯法:顾名思义,我们需要一个东西来充当信号灯,当这个信号灯亮的时候,我们让生产者生产,当信号灯灭了的时候,我们让消费者消费。

2023-04-04 00:25:25 54

原创 多线程学习22(Java)

管程法:我们需要提供第三方来方便生产者存放,消费者取出,而这个第三方也就是缓冲区,比方说生产者生产了一只鸡,再把这只鸡放进仓库里,而仓库有鸡了,消费者也就可以消费了,消费者会在仓库里把鸡拿出来吃掉,而仓库里没有鸡的时候,则需要等待生产者生产,同样的,当仓库里面放满了,生产者也需要等待消费者消费,而这个仓库,也就是所谓的缓冲区。

2023-04-03 23:37:47 73

原创 多线程学习20(Java)

出现了买同一张票的现象,确实不安全。并没有出现不安全的表现。

2023-04-02 19:33:45 53

原创 多线程学习19(Java)

我们发现,代码发生了死锁现象,双方互不相让,导致程序拥塞不再进行。总结:多个线程互相抱着对方需要的资源,然后形成死锁。

2023-04-02 18:18:19 49

原创 多线程学习18(Java)

【代码】多线程学习18(Java)

2023-04-02 17:26:45 41

原创 多线程学习17(Java)

synchronized默认锁的是this,难点是找到需要锁的对象,我们只需要找到需要增删改查的对象即可,也就是锁住变化的量。

2023-04-02 17:09:55 60

原创 多线程学习16(Java)

这显然不符合设定,为了避免这种情况,需要采取序列+锁的方式。

2023-04-01 23:43:57 51

原创 多线程学习15(Java)

在代码中,thread.setDaemon(true);事实上,当用户线程结束后不久,守护线程也停止了,这就是守护线程。

2023-04-01 00:04:00 38

原创 多线程学习14(Java)

我们会发现t5和t6在运行结果在并没有出现,并且出现了报错,这说明在使用优先级的时候,里面的权重范围应该为1~10。总结:优先级并不是一定会影响线程执行的优先级,但是优先级高的线程往往先执行。优先级并非一定会实现,但是会起到一个权重的作用。

2023-03-31 23:39:49 48

原创 多线程学习13(Java)

注意,在线程死亡后不可以再次启动,也就是说一个线程只能启动一次,如果在最后面加上方法thread.statr();在代码中:thread.getState()方法是用来获取当前线程状态的。首先我们知道,线程有以下五种状态:新生,就绪,运行,阻塞,死亡。

2023-03-31 23:06:13 40

原创 多线程学习12(Java)

显然,当主线程执行到300时,被另外一条线程插队,在这条线程跑完前,主线程将堵塞。

2023-03-31 21:12:36 61

空空如也

空空如也

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

TA关注的人

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