Java基础
花楠拾
想,都是问题;做,才有答案。
展开
-
Java基础——TCP通信
(2) TCP通信模式:(在java中只需使用java.net.Socket类实现通信,底层即是使用了TCP协议)注意:目前的服务端不可以同时接收多个客户端的信息,因为目前服务端现在只有一个线程,只能与一个客户端进行通信。2.8服务端(线程池:处理多个客户端消息,解决多线程N-N的关系,导致资源浪费的问题)客户端(线程池:处理多个客户端消息,解决多线程N-N的关系,导致资源浪费的问题)客户端(多发多收:单线程,使用循环反复地发送消息)服务端(多发多收:单线程,使用循环反复的接收消息)客户端 (一发一收)原创 2023-05-05 02:06:20 · 4200 阅读 · 0 评论 -
Java基础——UDP通信
(5)总结:UDP的接收端为什么可以接收很多发送端的消息?(3)DatagramSocket:发送端和接收端对象。(2)DatagramPacket:数据包对象。(4)UDP通信实现:多发多收。(6)UDP通信——广播,组播。原创 2023-05-04 17:53:02 · 529 阅读 · 0 评论 -
Java基础——网络编程
3.协议:数据在网络中传输的规则,常见的协议有UDP协议和TCP协议。1.IP地址:设备在网络中的地址,是唯一的标识。2.端口:应用程序在设备中唯一的标识。(1)什么是网络编程?原创 2023-05-04 16:05:32 · 446 阅读 · 0 评论 -
Java基础——多线程创建
3.虽然代码简单,但是存在单继承的局限性,线程类继承Thread后,不能继承其他类,不便于扩展。4.线程执行完毕后,通过FutureTask的get方法去获取任务执行结果。2.不要把主线程放在子线程之前,因为主线程先跑,相当于一个单线程的效果。优点:线程任务类只是实现接口,可以继续继承类和实现接口,扩展性强。缺点:编程多一层对象包装,如果线程有执行结果是不可以直接返回的。1.为什么不直接调用run方法,而是调用start启动线程。3.调用Thread的start方法启动线程,执行任务。(2)多线程是什么?原创 2023-04-24 14:52:26 · 179 阅读 · 0 评论 -
Java基础——转换流
(2)字符输出转换流:OutputStreamWriter。(1)字符输入转换流:InputStreamReader。原创 2023-04-18 09:25:19 · 92 阅读 · 0 评论 -
Java基础——缓冲流
1.字符缓冲输入流:BufferedReader。2.字符缓冲输出流:BufferedWriter。原创 2023-04-17 23:29:17 · 864 阅读 · 0 评论 -
Java基础——异常+IO流资源释放
(2)为什么要学习异常:异常一旦出现了,如果没有提前处理,程序就会退出JVM虚拟机而终止研究异常并且避免异常,然后提前处理异常,体现的是程序的安全, 健壮性。(3)异常体系(4)编译/运行时异常原理(5)运行时异常,处理机制:编译阶段不会报错,运行时可能出现的错误。(一般是程序员业务没有考虑好或者是编程逻辑不严谨引起的程序错误,自己的水平有问题2.运行时异常示例:数组索引越界异常: ArrayIndexOutOfBoundsException。原创 2023-04-17 12:14:19 · 292 阅读 · 1 评论 -
Java基础——IO流+字节/字符流使用
直接把文件数据全部读取到一个字节数组可以避免乱码,但如果文件过大,定义的字节数组可以引起内存溢出。2.文件字节输出流:FileOutputStream。1.文件字节输入流:FileInputStream。2.文件字符输入流——一次读取一个字符数组。1.文件字符输入流——一次读取一个字符。(2)文件字符输出流——Writer。(1)文件字符输入流:Reader。1.2(每次读取一个字节数组)1.1(每次读取一个字节)1.3(一次读完全部字节)原创 2023-04-17 11:22:50 · 624 阅读 · 1 评论 -
Java基础——IO流之字符集
4.Unicode码表:(UTF-8:3字节)2.ASCII字符集:(1字节)(1)IO前置内容:字符集。3.GBK:(2字节)5. String编码。6.String解码。原创 2023-04-17 08:35:17 · 719 阅读 · 0 评论 -
Java基础——日志,Logback入门
(3)日志体系结构:1.日志规范:一些接口,提供给日志的实现框架设计的标准。2. 日志框架:牛人或者第三方公司已经做好的日志记录实现代码,后来者直接可以拿去使用。原创 2023-04-12 03:42:13 · 800 阅读 · 1 评论 -
Java基础——异常处理案例
键盘输入一个合格的价格为止,要求价格大于0。原创 2023-04-11 18:36:59 · 211 阅读 · 0 评论 -
Java基础——Stream流的综合案例
某公司的开发部门,分为开发一部和开发二部,现在需要进行年中数据结算。原创 2023-04-11 02:19:20 · 225 阅读 · 0 评论 -
Java基础——Stream流
1.什么是Stream流?用于简化集合和数组操作的API。结合了Lambda表达式。方便操作集合/数组的手段(集合/数组才是开发的目的)。/*** 体验stream流作用*///需求:找到名字是小开头的,且长度为3的元素Collections.addAll(names,"小小","小心心","小星星","大大");//1.遍历查找://1.1从集合中找出小开头的元素放到新集合if (name.startsWith("小")){原创 2023-04-11 02:39:00 · 401 阅读 · 0 评论 -
Java基础——不可变集合
2.为什么创建不可变集合?3.如何创建不可变集合?1.什么是不可变集合?原创 2023-04-10 17:18:21 · 344 阅读 · 3 评论 -
Java基础——Map集合案例-统计投票人数
某个班级80名学生,现在需要组成秋游活动,班长提供了四个景点依次为(A,B,C,D),每个学生能选择一个景点,请统计出最终哪个景点想去的人数最多。原创 2023-04-10 15:25:53 · 542 阅读 · 0 评论 -
Java基础——Map集合遍历方式
(3)方式三:lambda表达式。(1)方式一:键找值。(2)方式二:键值对。原创 2023-04-10 14:53:19 · 1504 阅读 · 0 评论 -
Java基础——List集合实现类
【代码】Java基础——List集合实现类。原创 2023-04-10 13:15:49 · 513 阅读 · 0 评论 -
Java基础——Collection单列集合与Map双列集合总结
1.List系列集合:(ArrayList,LinkedList)添加的元素是有序,可重复,有索引。2.Set系列集合:(HashSet)添加的元素是无序,不重复,无索引。原创 2023-04-10 12:37:53 · 488 阅读 · 0 评论 -
Java基础——Collection与Map常用的API
【代码】Java基础——Collection与Map常用的API。原创 2023-04-10 12:13:44 · 405 阅读 · 0 评论 -
Java基础——斗地主游戏案例
【代码】Java基础——斗地主游戏案例。原创 2023-04-09 00:23:44 · 525 阅读 · 0 评论 -
Java基础——可变参数,集合操作工具类Collections
【代码】Java基础——可变参数,集合操作工具类Collections。原创 2023-04-08 20:45:57 · 1203 阅读 · 1 评论 -
Java基础——Set集合实现类
注意:如果TreeSet集合存储的对象有实现比较规则,集合也自带比较器,默认使用自带的比较器排序。原创 2023-04-08 17:47:28 · 932 阅读 · 0 评论 -
Java基础——Set集合去重复案例
创建一个存储学生对象的集合,存储多个学生对象,使用程序实现在控制台遍历该集合。学生对象的成员变量值相同,我们就认为是同一个对象。原创 2023-04-08 16:40:37 · 194 阅读 · 0 评论 -
Java基础——自定义泛型
泛型:是JDK5中引入的特性,可以在编译阶段约束操作的数据类型,并进行检查。泛型的格式:;注意:泛型只能支持引用数据类型。集合体系的全部接口和实现类都是支持泛型的使用定义类的同时定义了泛型的类就是泛型类。泛型类的格式:修饰符 class 类名{}范例:public class MyArrayList{}此处泛型类变量T可以随便写任意标识,常见的如E,T,K,V等。作用:编译阶段可以指定数据类型,类似于集合的作用。原创 2023-04-08 14:56:23 · 1221 阅读 · 0 评论 -
Java基础——LinkedList集合实现栈和队列
【代码】Java基础——LinkedList集合实现栈和队列。原创 2023-04-08 11:03:48 · 641 阅读 · 0 评论 -
Java基础——Collection集合的遍历方式
for(元素数据类型 变量名 : 数组或者Collection集合){//在此处使用变量即可,该变量就是元素。(1)Collection结合Lambda遍历的API。(1)Collection集合获取迭代器。(2)Iterator中的常用方法。2.foreach/增强for循环。3.lambda表达式。原创 2023-04-07 04:46:06 · 601 阅读 · 0 评论 -
Java基础——Lambda表达式
(匿名内部类被重写方法的形参列表) -> {new 类|抽象类名|或者接口名() {被重写方法的方法体代码。注:-> 是语法形式,无实际含义。原创 2023-04-06 15:27:00 · 516 阅读 · 1 评论 -
Java基础——选择排序,二分查找算法
原理:在二分查找方法中,将集合重复地分成两半,并根据关键字是小于还是大于集合的中间元素来在集合的左半部分或右半部分中搜索关键元素。(前提先对查找对象进行排序)原理:每一趟从待排序的记录中选出最小的元素,顺序放在已排好序的序列最后,直到全部记录排序完毕。原创 2023-04-06 14:08:45 · 303 阅读 · 0 评论 -
Java基础——Arrays类的排序方法
public static void sort(类型[] a, Comparator原创 2023-04-06 12:32:33 · 1383 阅读 · 0 评论 -
Java入门——使用StringBuilder打印数组内容
【代码】Java入门——使用StringBuilder打印数组内容。原创 2023-03-30 21:39:33 · 308 阅读 · 0 评论 -
Java入门——多态综合案例
【代码】Java入门——多态综合案例。原创 2023-03-29 16:37:38 · 84 阅读 · 0 评论 -
Java入门——抽象类之模板方法模式案例
2.分别创建小学生类StudentChild和中学生类StudentMiddle,然后直接套用父类中的模板方法模式使用。1.创建一个父类Student,用于生成模板方法模式。3.调用小学生和中学生类。原创 2023-03-28 20:40:11 · 183 阅读 · 0 评论 -
Java入门——抽象类案例
【代码】Java入门——抽象类案例。原创 2023-03-28 19:14:47 · 508 阅读 · 0 评论 -
Java入门——继承之方法重写案例
在继承体系中,子类出现了和父类中一模一样的方法声明,我们就称子类这个方法是重写的方法。原创 2023-03-27 21:03:54 · 194 阅读 · 0 评论 -
Java入门——静态代码块案例
【代码】Java入门——静态代码块案例。原创 2023-03-27 16:47:14 · 133 阅读 · 0 评论 -
Java入门——定义数组工具类ArrayUitl案例
【代码】Java入门——定义数组工具类ArrayUitl案例。原创 2023-03-27 12:37:56 · 98 阅读 · 0 评论 -
Java入门——static工具类案例
方法分析:这里使用一个工具类来随机生成验证码,同时这个工具类也可以用到登录界面和防止被刷的检查界面。原创 2023-03-26 21:34:57 · 50 阅读 · 0 评论 -
Java入门——ATM项目
1.每个用户的账户信息都是一个对象,需要提供账户类(卡号,姓名,密码,余额,取款额度),用于后期创建账户对象封装用户的账户信息。2.定义一个集合容器,负责以后存储全部的账户对象,进行相关的业务操作。3.首页只需要包含:账户登录和账户开户功能。原创 2023-03-26 16:46:34 · 708 阅读 · 0 评论 -
Java入门——集合案例
某电影院系统需要在后台存储以下三部电影,然后依次展示。电影名称:电影评分:电影演员:《肖申克的救赎》9.7罗宾斯《霸王别姬》9.6张国荣,张丰毅《阿甘正传》9.3汤姆.汉斯克//无参构造器//有参构造器//设置getter/setter方法//1.定义电影类//2.创建三个电影对象Movie m1 = new Movie("《肖申克的救赎》" , 9.7 , "罗宾斯");原创 2023-03-25 21:35:55 · 947 阅读 · 0 评论 -
Java入门——String案例
【代码】Java入门——String案例。原创 2023-03-25 19:21:57 · 87 阅读 · 0 评论