- 博客(21)
- 收藏
- 关注
原创 webSocket
WebSocket1,导包<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> <version>2.3.3.RELEASE</version></dependency>2,配置@Configurationp
2022-01-11 21:10:31
365
原创 ServerSocket
Java NIO 网络编程什么是NIO 传统的BIO方式是基于流进行读写的,而且是阻塞的。要想处理并发请求,必须要产生新的线程来处理读写任务。为了提高IO性能,引入了NIO就是new IO的意思。 NIO的底层实现。NIO在C语言级别使用到了多路复用IO的技术 select、poll、epoll。1,通道 通道( Channel ),到如何目的地( 或来自如何地方 ) 的所有数据都必须通过一个通道对象。2,缓冲区 缓冲区实质上是一个容器对象。发送给通道的所有对象都必须先放到缓冲区中
2022-01-07 00:16:03
1072
原创 数据结构HashMap
数据结构HashMap作为一个大一新生自己写的HashMap因为HashMap是Java比较重要的一个集合,通过我对数据结构的学习,也为了跟好的了解JavaHashMap源码,通过链表+数组自己做了一个简易的HashMap,可能有很多问题希望不要喷,毕竟我终是一个大一新生public class HashListMap{ private static HashListMap hashListMap=null; public static synchronized HashList
2020-11-10 19:52:57
748
1
原创 C语言双向链表
**C语言双向链表的实现**#include<stdio.h>#include<stdlib.h>#include<malloc.h>void link(int number);void search();struct Node{ int age; struct Node *next; struct Node *perv;};struct Node *head=NULL;struct Node *tail=NULL;int
2020-11-01 20:12:43
155
原创 工厂的实现
工厂的实现Bean:在计算机英语中,有可重用组件的含义JavaBean:用Java语言编写的可用组件JavaBean>实体类它就是创建我们类对象的配置类第一点:需要一个配置文件来配置我们的类配置的类容:唯一标识:会限制类名(key,value)第二点:通过读取配置文件中的类容:反射创建对象位置文件xml,properties单例:单例有线程安全问题多例:执行效力低单例public class BeanFactory { public static Properties
2020-09-02 21:48:26
156
原创 单链表代码案例
单链表代码案例public class useData <T>{ //单链表的数据机构 static class Node<T>{ T element; Node next; public Node(T element){ this.element=element; } } //头指针 Node head; //为指针 Node tail;
2020-08-30 20:10:02
167
原创 头像获取
Servlet通过文件获取图片头像public class Head_Portrait { File files; BufferedImage image; public Head_Portrait(String file){ try { this.files=new File(file); //读取File中的文件 image=(BufferedImage) ImageIO.read(file
2020-08-19 15:59:49
343
原创 Servlet文件下载
**文件下载**代码protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=utf-8"); String
2020-08-19 15:47:06
161
原创 文件上传案例
Servlet文件上传案例文件上传注解:@MultipartConfig(maxFileSize = 10241024100,maxRequestSize = 10241024200)maxFileSize:单个文件的最大上传大小maxRequestSize:多个文件的最大上传大小获取请求数据Path path=request.getPath(“前端自定义的数据名”);获取上传文件的文件名String sub = file.getSubmittedFileName();上传文件存放的位置
2020-08-18 18:59:33
230
原创 NIO(非阻塞IO)
NIO(非阻塞IO)NIO的核心三大部分管道:Channel缓冲区:Buffer选择器:SelectorBuffer的三个属性容量:(Capacity):缓冲区能够容纳的数据元素的最大值上界:(Limit):缓冲区第一个不能读的位置位置:(Position):下一个要被读或写的元素索引Buffer中的几个方法:。flip();(翻动)设置为可读模式:Limit设置为Position位置。rewind();将position重置为0,一般用于重复读。clear();清空buffer准备
2020-08-16 20:52:14
186
原创 Java BIO高并发编程
Java BIO高并发编程图解转发模块代码实现public class Main implements Runnable { Socket socket = null; public Main(Socket socket){ this.socket=socket; } @Override public void run() { try { new Writ().start(); I
2020-08-16 09:44:24
310
1
原创 java单线程聊天室代码
java单线程聊天室代码服务端代码public class Main extends Thread { private ServerSocket serverSocket = null; Socket socket = null; public Main(int port) { try { serverSocket = new ServerSocket(port); } catch (IOException e) {
2020-08-16 06:27:55
156
原创 线程组
线程组java使用ThreadGroup来表示线程,它可以对一批线程进行分类管理,Java支持程序员直接对线程组进行管理控制。对线程组的控制相当于控制了这批线程。一旦某个线程加入到某个线程组之后,该线程就一直属于该线程组,直到该线程死亡线程,线程运用途中不能改变它所属的线程组。Thread类提供了以下构造器来设置新创建的线程属于哪个线程组Thread(ThreadGroup group,Runnable targer):以targer的run()方法作为线程执行体创建新线程属于group线程组T
2020-08-15 16:15:17
181
原创 阻塞队列(BlockingQueue)
**阻塞队列(BlockingQueue)**什么是阻塞队列(ArrayBlockingQueue);1,概念阻塞队列是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会阻塞,而当队列满是,插入元素的线程会阻塞;阻塞队列常用于生产者和消费者的场景,生产者是往队列中添加元素,消费者去队列获取元素。构造方法:ArrayBlockingQueue< E e> list=new ArrayBlockingQueue();因为ArrayBlockingQueu
2020-08-15 13:03:50
219
原创 MySQL基础使用-2
#DQL:查询表中的记录语法;select字段列表 from 表名,列表 where 条件 group 分组字段 having 分组后的条件 order by 排序limit 分页限页基础查询查询指定字段:。select 字段1,字段2 from 表名;去除重复字段的结果集:。select distinct 字段名 from 表名;计算每行数据的和:。select 字段1,字段2,字段3,字段1+字段2 from 表名;如果有null参与运算,计算结果都是n
2020-07-14 23:23:46
150
原创 MYSQL基础语法
MYSQL基础语法mysql数据库基础数据库登录与退出1,。登录:mysql -u root -p2,。退出:exit;3,。启动服务:net start mysql;4,。停止服务:net stop mysql;5,重点:进入mysql数据库中命令必须以“;”分号结尾6,注释:单行:“- -”,“#”多行:/* */数据库操作:SQL分类:CRUD(创建,查询,修改,删除)C:(create):创建 R:(retrieve):查询 U:(update):修改 D:
2020-07-14 10:23:38
138
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人