java高级
EQ思凡
这个作者很懒,什么都没留下…
展开
-
2021-02-05
ServerSocket serverSocket = new ServerSocket(5000);Sock在这里插入代码片et socket = serverSocket.accept();InputStream is = socket.getInputStream();BufferedReader br = new BufferedReader(new InputStreamReader(is));String info;while((info = br.readLine())!=null原创 2021-02-05 22:26:02 · 49 阅读 · 0 评论 -
java高级学习--网络编程
1、 什么是网络,什么是ip地址IP地址 = 网络地址+主机地址网络地址:标示计算机或网络设备所在的网段主机地址:标识特定主机或网络设备A类B类C类D类:用于组播通信E类:用于科研前8位取值范围是2、什么是协议为了在网络中不同的计算机之间进行通讯而建立的规则,标准或约定的集合-TCP/IP五层物理层数据链路层网络层传输层应用层...原创 2021-02-04 20:27:21 · 109 阅读 · 1 评论 -
java高级--多线程共享数据
1、多线程共享数据可能带来的问题:数据不安全原因:多线程共同操作数据时,引发的冲突(如延时操作,操作未全部完成等等 )2、给线程加锁,同步方法使用synchronized修饰的方法控制对类成员变量的访问(参数列表){ }synchronized访问修饰符,返回类型方法名(参数列表){}synchronized就是为当前的线程声明的一把锁3、同步代码块也可以多个并发线程访问同一个资源的同步代码块时同一时刻只能有一个线程进入synchronized(this)同步代码块当一原创 2021-02-04 12:27:27 · 188 阅读 · 0 评论 -
java高级学习--线程状态
1、线程状态创建状态就绪状态阻塞状态运行状态死亡状态public class Text implements Runnable{ @Override public void run() { // TODO Auto-generated method stub System.out.print("线程正在运行"); try { Thread.sleep(5000); System.out.print("线程休眠,处于阻塞状态!"); } catch (Inte原创 2021-02-04 11:57:33 · 70 阅读 · 0 评论 -
java高级--多线程初体验
1、主线程main()方法即为主线程入口产生其他子线程的线程必须最后完成执行,因为他执行各种关闭动作public static void main(String args[]) throws IOException, ClassNotFoundException{ //获取当前线程对象 Thread thread = Thread.currentThread(); //获取当前线程名字 String name = thread.getName(); System.out.pr原创 2021-02-04 00:14:18 · 104 阅读 · 0 评论 -
java高级学习--多线程概念
1、什么是多线程1.1、进程应用程序的执行实例有独立的内存空间和系统资源1.2、线程cpu调度和分派的基本单位执行运算的最小单位,可完成一个独立的顺序控制流程1.3、多线程如果在一个进程中同时运行了多个线程,用力完成不同的工作,则称之为多线程。多个线程交替占用cpu资源,而非真正的并行执行1.3.1、多线程的好处充分利用cpu的资源,提升代码性能简化编程模型,更好的软件设计和架构带来良好的用户体验...原创 2021-02-03 23:38:38 · 52 阅读 · 0 评论 -
java高级--序列化
1、什么是序列化简单来说就是讲java对象通过流的方式转换成二进制的字节序列序列化是将对象的状态写入到特定的流中的过程2、对象输出流ObjectOutputStream结合FileOutputStream使用,实现对象的序列化writeObject(Object)3、序列化的步骤实现Serializable接口创建对象输出流调用writeObject()方法将对象写入文件关闭对象输出流使用集合保存对象,可以讲集合中的所有对象序列化序列化的前提是实体类必须实现impleme原创 2021-02-03 23:21:18 · 98 阅读 · 1 评论 -
java高级--读写二进制文件
DataInputStream dis = null; FileInputStream fis = null; try { fis = new FileInputStream("d:/author.jpg"); dis = new DataInputStream(fis); int temp; int i = 0; while((temp = dis.read())!=-1){ if(i<20){ Syste原创 2021-02-03 22:49:10 · 86 阅读 · 1 评论 -
java高级学习--IO字符流
1、为什么学习字符流有人要说了既然字节流既可以读又可以写,为什么还要学习字符流,这就要涉及到编码问题了,因为有的文件是英文的,有的文件是中文的,所以在用字节流去读取的时候遇到中文或者其他非英文的语言的时候,难免会出现乱码,所以要学习字符流。2、字符流2.1、字符输入流Reader类 基类 — FileReader类是Reader的孙子类int read()int read(char[] c)int read(char[] c,int off,int len)void close().原创 2021-02-03 20:41:18 · 87 阅读 · 0 评论 -
java高级学习--IO流(一)
1、文件的相关操作方法名称说明boolean exists()判断文件或者目录是否存在boolean isFile()判断是否是文件String getPath()返回此对象表示的文件的相对路径名String getAbsolutePath()返回此对象的绝对路径String getName()返回此对象表示的文件或者目录名称boolean delete()删除此对象指定的文件或者目录boolean createNewFile()创建文原创 2021-02-02 13:23:22 · 97 阅读 · 0 评论 -
java高级学习--日期类
1、Date()类位于java.util.Date如何获取当前日期java.util.Date类:表示日期和时间Date date = new Date()如何格式化日期java.text.SimpleDateFormat类:用于定制日期时间的格式Date date = new Date();SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String now = format.for原创 2021-02-02 10:50:35 · 54 阅读 · 1 评论 -
java高级学习--字符串的操作
1、String类String类位于java.lang包中,具有丰富的方法方法作用length()返回字符串中的长度equals()比较两个字符串的内容是否相同(区分大小写)equalsIgnoreCase()也是比较两个字符串是否相同,不区分大小写toLowerCase()将字符串转换成小写toUpperCase()将字符串转换成大写indexOf(String value)搜索第一个出现value的字符串,如果没有找到返回-1l原创 2021-02-02 10:34:52 · 97 阅读 · 0 评论 -
java高级--Random类
Random random = new Random();random.nextInt()random.nextInt(10)原创 2021-02-01 22:09:27 · 66 阅读 · 1 评论 -
java高级--Math类
Math常用方法abs()求绝对值max(100,,9)min(87,88)random()[0,1)原创 2021-02-01 21:10:27 · 59 阅读 · 1 评论 -
java高级--包装类
1、什么是包装类包装类就是把基本类型数据转换成对象每个基本类型在java.lang包中都有一个相应的包装类2、包装类的作用提供了一系列使用的方法集合不允许存放进本数据类型数据,存放数字时,要用包装类型3、包装类的使用注意:Boolean类构造方法参数为String类型时,若该字符串内容为true(不考虑大小写),则该boolean对象表示为true,否则表示false当Number包装类构造方法参数为String类型时,字符串不能为null,且该字符串必须可解析为相应的数原创 2021-02-01 21:05:01 · 115 阅读 · 0 评论 -
java高级--实用类介绍
1、枚举类型枚举指由一组固定的常量组成的类型枚举类型的代码书写原创 2021-02-01 20:20:08 · 73 阅读 · 0 评论 -
java高级--Collections方法
Collections 和 Collection不同,前者是集合的操作类,后者是 集合接口Collections提供的常用静态方法sort()//排序binarySearch()//查找max()\min()//查找最大或者最小reverse()反转元素顺序Collections.sort(list)对list进行排序(升序)Collections.max(list)集合中最大元素Collections.min(list)集合中最小元素Collections.binarySearch(.原创 2021-02-01 19:58:47 · 114 阅读 · 0 评论 -
java高级--泛型
1、jdk5以后使用泛型改写了集合中所有接口和类泛型就是即将对象的类型作为参数,指定到其他类或者方法上,从而保证类型转换的安全性和稳定性。原创 2021-02-01 19:37:38 · 55 阅读 · 0 评论 -
java高级--Map
存储类型特点Collection不唯一,无序Llist不唯一,有序Set唯一,无序1 、map的使用Map countries = new HashMap();countries.put("China","中国")//将数据存入到map中countries.size()//获取map的数据长度//获取map集合中特定的key对应的value,返回的数据是object类型,需要强制数据类型转换。String country = (String)countr...原创 2021-02-01 19:28:57 · 160 阅读 · 0 评论 -
java高级--Set
1、Set接口Set接口存储一组唯一,无序的对象HashSet是Set接口常用的实现类Set中存放对象的引用2、Set接口如何判断加入对象是否已经存在呢?在使用set存储对象时,set首先会采用equals()方法比较两个对象是否相等。3、使用ste存储数据Set set = new HashSet()set.add()//添加数据set.size()//获取数据长度for(Object obg : set){ News newObj = (News) obj; System.o原创 2021-02-01 16:57:20 · 253 阅读 · 1 评论 -
java高级学习--02List实现类
1、ArrayListArrayList实现了长度可变的数组,在内存中非配连线的空间。遍历元素和随机访问元素的效率比较高2、LinkedListLinkedList采用链表存储方式,插入,删除元素时效率比较高。3、如何选择ArrayList:长度可变的数组遍历元素和随机访问元素LinkedList链表存储方式插入,删除元素...原创 2021-02-01 16:27:32 · 42 阅读 · 0 评论 -
java高级特性学习--01java集合框架
1、什么是数组?数组是可以保存一组数据的一种护具结构,它本身会占用一个内存地址,因此数组也可以说是一种引用类型。一个数组中只能保存一种类型的数据,可以使基本数据类型或者对象类型。不同类型的数据是不能存放到同一个数组中的。数组的长度是固定的,少了坏事,多了浪费数组的长度一旦固定,就不能修改,灵活性较差。数组拥有边界检查,尝试获取不同数组范围内的值时,会抛出ArrayIndexOutOfBoundsExceptiony异常。(边界检查:边界检查就是在程序设计中在使用一个变量前,检查该变量是否处在一个原创 2021-01-30 22:09:56 · 190 阅读 · 1 评论