自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 多线程的基本创建

1、继承Java.lang.Thread 当只需要简单地创建一个线程的时候常常用到,直接继承Java.lang.Thread,并重写run(),然后通过Thread.start()方法启动线程 class myThread extends java.lang.Thread{ //重写run方法 public void run(){ //线程需要执行的内容 } public static void main(String[] args){ //创建线程对象

2021-10-13 20:19:22 56

原创 线程的生命周期

Java线程的几种基本状态 java线程可基本分为以下6种状态 NEW RUNNABLE BLOCKED WAITING TIMED_WAITING TERMINATED NEW(准备状态) 线程刚刚创建时的状态,Thread thread = new Thread()执行后thread对象即处于准备状态,没有执行权,通过thread.start()进入运行状态 RUNNABLE(可运行状态) 线程执行完start()方法后进入的可运行状态,此时线程有执行权,但不一定正在cpu中执行,当cpu调用后线程才在

2021-10-09 16:39:55 62

原创 GFS简单介绍

GFS (google file system) 为什么要GFS? GFS(Google file system)是能储存海量数据的大型分布式文件系统。因为数据量大,不可能单机储存,所以需要将文件分割成很多数据块chunk来进行分布式储存。这样利用很多廉价的机器就可以存储大量的数据。 GFS基本结构——GFS master、GFS chunkServer、client GFS master(主服务器)、GFS chunkServer(数据块服务器)、client(客户端)三者可简单理解为图书馆关系。clie

2021-08-22 13:01:18 2242

原创 JAVA给JTextArea添加滚动条

JTextArea本身不自带滚动和换行,滚动需要用到JScrollPane JTextArea text = new JTextArea(5,40); //给JTextArea设置换行 text.setLineWrap(true); //激活自动换行功能 text.setWrapStyleWord(true); // 激活断行不断字功能 //实现滚轮 frame.add(new JScrollPane(text)); //将text放入JScrollPane内

2021-02-11 19:32:22 354

原创 一文秒杀哈希表

哈希表的概念 哈希表,即散列表,本质上是一个数组也是一个列表,每个数组的元素都是一个链表的初始节点。 为什么要哈希表 众所周知,如果没有搜索功能,我们要在手机通讯录的一大串联系人里找到我们的目标联系人十分困难,但是这些联系人在经过首字母分类后,我们只需要找到目标联系人名字的首字母,就可快速找到目标联系人。可以说,哈希表,就是一个经过分类得出的数组,就如这里所说的手机通讯录一样。 哈希函数 哈希函数,即散列函数,实际上就相当于取首字母这一操作,它完成了我们需要的分类任务,是所有数据元素被分类的一种规则,即一种

2021-02-03 18:12:25 50

原创 JAVA视频通信的优化

传输优化 按之前的发送图片时一张图片假如一个一个遍历发送则要分开发送很多次,若一张图片是400,400,则要进行160000次的dout.writeInt(),这个过程十分耗费时间,效率极低,故可将这个二维数组化成一个一维的byte类型数组,则只需要进行一次从客户端到服务端的过程。同样服务器也只需要接受一次。 这里我是自己写了一个int[][]转成byte[]的方法,但这个方法应该不是最优 我们知道了图片长度,即可知道byte数组的长度应是image.getWidth() * image.getHeight

2021-02-02 18:03:18 187

原创 JAVA中双缓存画布

BufferedImage 在用画布画图时,每一次g.drawLine()都经历了一系列过程最终到达显示屏上,故我们先将图形画在缓存上,即可减少卡顿 简要方法如下 将所有的内容绘制到缓存上,再将缓存绘制到界面上。 //1、创建缓存 BufferedImage buffer = new BufferedImage(宽度,高度,图像类型); //2、获取缓存的画布 Graphics bufferG = buffer.getGraphics(); //3、利用缓存画布绘图 bufferG.draw…… //

2021-02-02 17:38:18 124

原创 JAVA从零实现简单的网络视频通信

JAVA从零实现简单的网络视频通信1、服务器和客户端的创建服务器的创建客户端的创建2、服务器和客户端间的信息传输服务器向客户端传输视频的获取视频的处理传输的协议服务器的接收 1、服务器和客户端的创建 服务器的创建 创建服务器通过实现服务器套接字,java.net包下的ServerSocket,并指定服务器对象绑定的端口port, java.net.ServerSocket s = new java.net.ServerSocket(int port) 然后等待客户机进入,若无客户机连接,则阻塞在这一步 j

2021-02-02 17:33:46 823

原创 JAVA中接口事件

接口 接口定义:1、官方解释:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。2、个人理解:一种特殊的类,不能直接创建对象,用来制定标准规范,为抽象类,方法均为抽象方法 关键字:interface 格式:public interface 接口名 { } 接口的属性 格式:[public static final] 属性类型 属性名 = 属性初始值; static 静态的,修饰内容

2020-05-24 15:16:44 266

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除