Java基础
灵鹫宫的瓢把子
我知他乘风破浪去了黑暗一趟
展开
-
Java基础之StringBuffer类
当对字符串进行修改时需要用到SpringBuffer类一个小的案例:字符串逆序输出package com.zrz.nowcoder.character;import java.util.Scanner;//将字符串内容逆序输出:逐个输出public class demo_02 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.h原创 2020-06-03 23:10:07 · 96 阅读 · 0 评论 -
Java基础之集合(set接口)
java.util.Set接口和java.util.List接口一样,同样继承自Collecion接口,它与Collection接口中的方法基本一致,并没有对Collection接口进行功能上的扩充,只是比Collection接口更加严格了,与List接口不同的是,set接口中的元素无序,并且都会以某种规则保证存入的元素不会出现重复。Set集合有多个子类,其中最常见的有:java.util.HashSet和java.util.LinkedHashSet这两个集合。Set集合取出元素的方法可以采用:迭代.原创 2020-05-12 11:13:31 · 214 阅读 · 0 评论 -
Java基础之集合(List)
java.util.List 接口 extends Collection接口List接口的特点:1.有序的集合,存储元素和取出元素的顺序是一致的;2.有索引,包含了一些带索引的方法;3.允许存储重复的元素。List接口中带索引的方法有:1.public void add(int index,E element):将指定的元素添加到该集合中的指定位置;2.public E get(i...原创 2020-05-06 22:36:44 · 76 阅读 · 0 评论 -
Java基础之多线程系列六:线程池
我们使用线程的时候就去new一个线程,这样实现起来非常简便,但是就会出现一个问题:如果并发的线程数量很多,每个线程执行完一个任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建和销毁线程都是需要时间的。那么有没有一种办法可以使线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?线程池的概念其实就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创...原创 2020-05-06 19:10:27 · 91 阅读 · 0 评论 -
Java基础之多线程系列五:线程通信(等待唤醒)
等待唤醒案例等待唤醒案例:线程之间的通信:创建一个顾客线程(消费者),告知老板要买包子的种类和数量,调用wait方法,放弃CPU的执行,进入到无限等待(WAITING)状态;创建一个老板线程(生产者),花了五秒做包子,做好包子之后,调用notify方法,唤醒顾客吃包子。注意:顾客和老板线程必须使用同步代码块包裹起来,保证等待和唤醒只能有一个在进行;同步使用的锁对象必须保证唯一;只...原创 2020-05-06 17:05:38 · 100 阅读 · 0 评论 -
Java基础之多线程系列四:线程状态
Java线程和操作系统中说的线程状态不大一样,操作系统中说的线程状态共有五种(新建,就绪,运行,阻塞,死亡),但是Java线程的线程状态有六种(新建,运行,阻塞,休眠,无限等待,死亡),具体如下图描述:新建(NEW):新创建了一个线程对象,但还没有调用start()方法。运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。线程...原创 2020-05-06 13:28:38 · 92 阅读 · 0 评论 -
Java基础之多线程系列三:线程安全
为什么会出现线程安全问题举个例子:电影院上映一部电影,共一百张票:一个窗口:只有一个窗口卖100张票不存在问题,所以单线程程序是不存在线程安全问题的;多个窗口分段卖票:第一个窗口卖1到33号票,第二个窗口卖34到66号票,第三个窗口卖67到100号票,卖的票不同也不会出现问题,多线程程序没有访问共享资源,不会出现问题;多个窗口同时卖所有票:卖到最后一张票,三个窗口抢最后一张票,或者三个窗...原创 2020-05-06 01:08:29 · 101 阅读 · 0 评论 -
Java基础之多线程系列二:创建(匿名内部类)
什么是匿名内部类?这章主要说的是匿名内部类方式实现线程的创建:匿名:没有名字;内部类:写在其它类内部的类。匿名内部类作用:简化代码把子类继承父类,重写父类的方法,创建子类对象合一步完成;把实现类、实现类接口、重写接口中的方法、创建实现类对象合成一步完成;匿名内部类最终产物:子类/实现类对象,而这个类没有名字。格式:new 父类/接口(){ &...原创 2020-05-05 23:13:57 · 103 阅读 · 0 评论 -
Java基础之多线程系列二:创建(实现Runnable接口)
创建多线程程序的第二种方法:实现Runnable接口java.lang.Runnable Runnable接口应该由那些打算通过某一线程执行其实例的类来实现,类必须定义一个称为 run 的无参数方法。实现步骤:创建一个Runnable接口的实现类;在实现类中重写Runnable接口的run方法,设置线程任务;创建一个Runnable接口的实现类对象;创建Thread类对象,构造方...原创 2020-05-05 16:24:16 · 416 阅读 · 0 评论 -
Java基础之多线程系列二:创建(继承Thread类)
创建多线程的第一种方式:创建Thread的子类java.lang.Thread类:是描述线程的类,要实现多线程,首先继承Thread。实现步骤:创建一个Thread的子类;在Thread类的子类中重写Thread类中的run方法,设置线程任务(开启线程要做什么?);创建Thread类的子类对象;调用Thread类中的start方法,开启新的线程,执行run方法。注意:5. vo...原创 2020-05-04 19:14:39 · 352 阅读 · 0 评论 -
Java基础之多线程系列一:原理
并发和并行并发(concurrency):指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行。并行(parallel):指在同一时刻,有多条指令在多个处理器上同时执行。所以无论从微观还是从宏观来看,二者都是一起执行的。进程与线程两者的概念区别如下:...原创 2020-05-04 19:10:47 · 66 阅读 · 0 评论 -
Java基础之预定义注解
注解描述注解(annotation),也叫元数据,一种代码级别的说明,JDK1.5之后出来的新特性,它可以声明在包,类,字段,方法,局部变量,方法参数等的前面,用来对这些元素进行说明注释。作用分类:编写文档:通过代码里标识的注解生成文档【生成doc文档】;代码分析:通过代码里标识的注解对代码进行分析【使用反射】;编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查【@Overr...原创 2020-05-04 16:45:34 · 266 阅读 · 0 评论 -
Java基础之Socket实现
socket套接字(socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信。网络套接字是IP地址与端口的组合。TCP通信客户端代码实现TCP通信的客户端:向服务器发送连接请求,给服务器发送数据,读取服务器回写的数据。表示客户端的类:java.net.Socket...原创 2020-05-04 12:50:44 · 159 阅读 · 0 评论 -
Java基础之网络编程三要素
1 软件结构C/S结构:Client/Server结构,客户端和服务器结构,常见的有QQ,迅雷等;B/S结构:Browser/Server结构,浏览器和服务器结构,常见的浏览器谷歌,火狐等。无论是哪种架构,都离不开网络的支持。网络编程,就是在一定的协议下,实现两台计算机通讯的程序。网络通讯协议通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通讯时需要遵守一定的...原创 2020-05-02 13:19:47 · 234 阅读 · 0 评论 -
Java基础之IO缓冲流
Java基础之IO字节流Java基础之IO字符流以上两个链接是IO流的字节流和字符流,这篇文章将见识更加强大的流。缓冲流也叫高效流,是对四个基本流的增强,按数据类型分为:字节缓冲流:BufferedInputStream,BufferedOutputStream字符缓冲流:BufferedIReader,BufferedWriterBufferedOutputStream字节缓冲输出流...原创 2020-05-01 22:15:26 · 81 阅读 · 0 评论 -
Java基础之IO字符流
使用字节流读取中文文件,总是存在一些问题,比如,GBK占用两个人字节,UTF-8占用三个字节,这样的话可能会出现乱码问题,所以我们就引入了字符流。Java基础之IO字节流字符流有些方面和字节流有异曲同工之妙,具体请参考上面链接。字符输入流(Reader)字符输入流的使用步骤创建FileReader对象,构造方法中绑定要读取的数据源;使用FileReader对象中的reader方法读取...原创 2020-05-01 20:30:55 · 71 阅读 · 0 评论 -
Java基础之IO字节流
1 什么是IO?I:input 输入(读取),把硬盘中的数据读取到内存中使用;O:output 输出(写入),把内存中的数据写入到硬盘中保存;流:数据(字符、字节),一个字符=两个字节,一个字节=8个二进制位输入流输出流字节流字节输入流InputStream字节输出流OutputStream字符流字符输入流Reader字符输出流Writer2 字节...原创 2020-05-01 16:35:09 · 108 阅读 · 0 评论