![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 60
李骁梓
这个作者很懒,什么都没留下…
展开
-
网络编程
客户端和客户端实际上是不能够直接通信的,还是先要准备一个服务端, 让客户端先连接到服务端,再想办法实现群聊,服务端还是要有一个主线程,使用死循环不断地接收客户端的通信管道连接。群聊的逻辑:某一个客户端的消息发送给我们服务端,服务端用一个线程负责从客户端管道里面读他的消息,每读到一个客户端消息(进入到线程里面来),把这个 消息分发给全部客户端进行接收。都是由服务端的主线程负责把客户端的管道接进来,一旦接了一个客户端管道就代表有一个客户端上线了,可以通过socket通信管道拿到客户端他的IP地址。原创 2024-03-27 10:31:18 · 1076 阅读 · 1 评论 -
多线程:乐观锁
悲观锁:一上来就加锁,没有安全感。每次只能一个线程进入访问完毕后,再解锁。 线程安全,性能较差! 乐观锁:一开始不上锁,认为是没有问题的,大家一起跑,等要出现线程安全问题的时候才开始控制。线程安全,性能较好。为什么出现线程安全问题?100个线程每个加100次应该加10000次才对;因为有100个线程针对一个count,假如中间已经加到了10,有一百个线程同时要给10加1,同时有多个线程把10拽出来给他加1成11(因为两个线程是同时跑的),再写进去的话也都是11,实际上加了两次但只有11进去,丢了原创 2024-03-21 08:55:58 · 815 阅读 · 0 评论 -
多线程:线程池
可以复用线程的技术而创建新线程的开销是很大的,并且请求过多时,肯定会产生大量的线程出来线程池的工作原理:线程池可以控制线程的数量,然后重复的去利用这些线程来处理任务,同时也可以控制任务的数量,把这些任务暂时的缓存起来,让线程来处理他们;由于线程池可以控制线程的数量也可以控制任务的数量,因此他不会因为这些线程过多,或者任务过多而导致把系统资源耗尽引起系统瘫痪的风险。整体来看可以提高系统的工作性能。原创 2024-03-20 08:34:29 · 853 阅读 · 0 评论 -
多线程:线程安全、线程同步、线程通信
什么是线程安全问题?多个线程,同时操作同一个共享资源1.线程安全问题出现的原因?原创 2024-03-19 08:19:10 · 772 阅读 · 0 评论 -
多线程的创建
消息通信、12306、网盘、淘宝、京东系统都离不开多线程技术。原创 2024-03-18 14:57:26 · 2252 阅读 · 0 评论 -
每日一题:LeetCode2.两数相加
你可以假设除了数字 0 之外,这两个数都不会以 0 开头。的链表,表示两个非负的整数。它们每位数字都是按照。请你将两个数相加,并以相同形式返回一个表示和的链表。的方式存储的,并且每个节点只能存储。草图:(对照上面图片例子)原创 2024-03-17 12:20:26 · 445 阅读 · 0 评论 -
每日一题:LeetCode1.两数之和
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。和一个整数目标值 target。整数,并返回它们的数组下标。你可以按任意顺序返回答案。,请你在该数组中找出。原创 2024-03-17 10:10:56 · 404 阅读 · 0 评论 -
特殊文本文件、日志技术
XML(全称EXtensibleMarkup Language,可扩展标记语言)本质是一种数据的格式,可以用来存储复杂的数据结构,和数据关系。XML的特点XML中的“<标签名>”称为一个标签或一个元素,一般是成对出现的。XML中的标签名可以自己定义(可扩展),但必须要正确的嵌套。XML中只能有一个根标签。XML中的标签可以有属性,如果一个文件中放置的是XML格式的数据,这个文件就是XML文件,后缀一般要写成.xml。XML的创建。原创 2024-03-17 10:00:06 · 717 阅读 · 0 评论 -
IO流(二)
字节流:适合复制文件等,不适合读写文本文件字符流:适合读写文本文件内容作用:以内存为基准,可以把文件中的数据以字符的形式读入到内存中去。原创 2024-03-16 08:07:39 · 893 阅读 · 0 评论 -
IO流(一)
I指Input,称为输入流:负责把数据读到内存中去0指Output,称为输出流:负责写数据出去。原创 2024-03-15 08:15:07 · 839 阅读 · 0 评论 -
File以及认识方法递归
猴子第一天摘下若干桃子,当即吃了一半,觉得好不过瘾,于是又多吃了一个。第二天又吃了前天剩余桃子数量的一半,觉得好不过瘾,于是又多吃了一个。递归如果没有控制好终止,会出现递归死循环,导致栈内存溢出错误。(2):我们需要遍历文件夹,先删除里面的内容,再删除自己。1.递归公式2.递归的终结点 3.归方向必须走向终结点。eg:递归求1-n的和以及求1加到1-n的和。等到第10天的时候发现桃子只有1个了。(1):Fie默认不可以删除非空文件夹。需求:请问猴子第一天摘了多少个桃子?需求:删除非空文件夹。原创 2024-03-14 10:11:39 · 465 阅读 · 0 评论 -
JDK8新特性:Stream
可以用于操作集合或者数组的数据。原创 2024-03-13 08:18:40 · 318 阅读 · 0 评论 -
Collection的其他相关知识
代码演示。原创 2024-03-12 10:24:54 · 215 阅读 · 0 评论 -
集合框架(二)Map系列集合
1.键找值2.键值对键值对是如何实现遍历的:一旦就会把Map集合中的每个键和值都封装成一个所谓的entry对象,每个entry对象里面就会包含一个元素的键和值,一旦把键和值封装成一个entry对象了,此时这个entry对象就肯定存在具体的元素类型,也就是Map的entry类型(也叫Map的实体类型),键是String值是Double,这个整体作为一个数据类型。接着entry方法的内部还会继续把这些键值对对象放到一个Set集合里边去,,最后这个entry方法内部会把Set集合返回给我们。原创 2024-03-11 16:04:08 · 445 阅读 · 0 评论 -
集合框架(一)Set系列集合
集合的并发修改异常使用迭代器遍历集合时,又同时在删除集合中的数据,程序就会出现并发修改异常的错误。for循环迭代器增强for循环Lambda表达式(Lamdba表达式底层原理就是增强for循环)原创 2024-03-10 19:03:02 · 1999 阅读 · 0 评论 -
集合框架(一)List系列集合
链表就是由一个一个的结点组成的,结点在内存中不是连续存储的,和数组不一样;链表的数据是分散存储的,链表的每个结点除了会包含数据值之外还会包含下一个结点的地址信息,通过这个地址信息是可以找到下一个结点的。数组:是连续区域,并且会把这一块连续区域分割成若干的相等的小区域,每块区域都有自己的索引,每块区域都是装自己的数据的。(1)可以用来设计队列(先进先出,后进后出):只是在首尾增删元素,用LinkedList来实现很合适。原创 2024-03-09 07:42:37 · 800 阅读 · 0 评论 -
集合框架(一)Collection
***目标:完成电影信息的展示* new Movie("《肖生克的救赎》",9.7,"罗宾斯")* new Movie("《霸王别姬》",9.6,"张国荣、张丰毅")* new Movie("《阿甘正传》",9.5,"汤姆.汉克斯")*///1.创建一个集合容器负责存储多部电影对象//多态的方法定义一个collection类型的对象出来指向右边的集合容器对象//用这个集合容器负责存储多部电影对象用movies调add方法添加电影对象。原创 2024-03-08 07:53:25 · 610 阅读 · 0 评论 -
异常以及处理异常
一般会把底层的异常往外抛,在最外层集中捕获异常,捕获异常之后会把异常信息记录起来,并响应合适的信息给用户进行浏览和观看。原创 2024-03-08 07:50:43 · 398 阅读 · 0 评论 -
正则表达式
需求:校验用户输入的电话、邮箱、时间是否合法while (true) {//将这段代码ctrl+alt+t放在一段死循环中(while(true))System.out.println("请输入您的电话号码(手机或座机):");//用户输入//接收一行数据,代表接收一行用户输入的号码//phone变量里面就是记住用户输入的号码,再调用matches方法("校验号码的正则表达式")//用户输入的号码可能是:手机号1324749832/座机号010-2222222 0102222222。原创 2024-03-07 07:51:40 · 459 阅读 · 0 评论 -
简单认识算法
什么是算法?解决某个实际问题的过程和方法。原创 2024-03-04 15:56:52 · 424 阅读 · 0 评论 -
枚举类、泛型、API
枚举类可以实现单例设计模式。枚举的常见应用场景:用来表示一组信息,然后作为参数进行传输。原创 2024-03-01 19:39:35 · 425 阅读 · 0 评论 -
认识内部类
成员内部类静态内部类局部内部类匿名内部类!!!(重点)匿名内部类在开发中常见的使用场景:通常作为一个参数传输给方法。原创 2024-02-29 16:21:13 · 185 阅读 · 0 评论 -
接口、接口中成员特点以及接口的各种关系
【代码】接口、接口中成员特点以及接口的各种关系。原创 2024-02-29 10:47:12 · 364 阅读 · 0 评论 -
抽象类和抽象方法
不能实例化就是不能创建对象。原创 2024-02-28 21:09:22 · 453 阅读 · 3 评论 -
权限修饰符、代码块
权限修饰符代码块原创 2024-02-28 20:03:54 · 114 阅读 · 1 评论 -
包和final
包原创 2024-02-28 18:59:12 · 190 阅读 · 1 评论 -
特性:多态
【代码】特性:多态。原创 2024-02-28 17:18:59 · 186 阅读 · 1 评论 -
特性:继承
【代码】特性:继承。原创 2024-02-28 10:38:27 · 249 阅读 · 1 评论 -
static静态变量
非静态成员变量又叫做实例变量。原创 2024-02-27 10:26:13 · 292 阅读 · 0 评论 -
学生管理系统升级版(控制面板实现)
为学生管理系统书写一个登陆、注册、忘记密码的功能。只有用户登录成功之后,才能进入到学生管理系统中进行增删改查操作。原创 2024-01-11 20:00:19 · 300 阅读 · 0 评论 -
今日小tips(书写习惯)
但需要注意的是,如果 getIndex方法要求的参数类型是字符串类型,那么第二行代码应该改为 int index1 = getIndex(arr, "002");在第一段代码中,将数组中的元素赋值给了一个临时变量stu,然后通过判断stu是否为null来进行处理。需要注意的是,Goods 是一个类(或数据类型)的名称,可以根据实际情况替换为其他类的名称。这种赋值操作经常用于循环遍历数组或集合的场景中,通过将数组或集合中的元素赋值给一个临时变量,我们可以对其进行进一步的处理、访问或修改。原创 2024-01-09 12:34:46 · 1059 阅读 · 1 评论 -
键盘录入细节
输入123后空格789。原创 2024-01-08 16:10:37 · 360 阅读 · 1 评论