自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java垃圾回收机制

Java中的垃圾回收机制是自动管理内存的一个过程,通过回收不再被应用程序引用的对象来释放内存空间,它的重要性在于减少了程序员手动管理内存的负担,降低了内存泄漏和其他内存错误的风险。

2024-08-28 11:49:11 531

原创 Java类加载机制

由上图可见,我们编程的java文件在经过javac编译后变成了后缀为class的文件,而类加载机制,就是jvm将这些class文件转化为二进制流加载进JVM内存中并且生成该类型的Class对象,为后续程序运行提供资源的动作。Java的类加载机制(Class Loading Mechanism)是指Java虚拟机(JVM)如何将类文件加载到内存中,并在运行时将其转换为能够执行的对象的过程。

2024-08-23 18:09:18 338

原创 JMM 内存模型

JMM是一种和多线程相关的规范,有了这种规范,相同的并发程序,才能在不同的虚拟机上得到相同的结果。JMM抽象出主存储器和工作存储器两种:主存储器对应实例对象,所有线程共享;工作存储器对应线程所拥有的作业区,存有主存储器中的必要部分拷贝;这样的方式使得线程与线程之间只能通过主存来进行通信。

2024-08-20 20:13:45 266

原创 有关java中JDK、JRE、JVM的介绍和理解

如果你把java当成一门要学习的科目,JDK就是你的文具盒;把java当成一个机器,jdk就是你的工具包。JDK是整个Java开发的核心。

2024-08-18 18:54:31 342

原创 用Java从0开始实现Socket编程视频直播通信06—————聊天UI以及选择列表中的对象发送信息功能实现

UI整体采用边框布局,左侧为好友列表,中间的聊天部分单独采用流式布局以此加入消息框,南部加入消息发送框以及发送按钮。再在客户端一方实现好友列表以及消息的传输,这需要重构一个新的方法用于对象流传输。username,userManage,mClient三个对象传输过去分别用于实现聊天窗口命名,好友列表获取,以及聊天功能的实现所需的客户端。然后我们实现一个新的ChatUI类 ,这个类的实现要在登陆成功之后才能实现。接口改一下,因为实现的功能多了,用整形排列比较便于后面的实现。首先把服务端和客户端的。

2024-08-17 08:50:13 147

原创 Java里集合的选择与使用(上半部分)

在Java中,集合是用于存储和操作一组对象的数据结构。Java提供了丰富的集合框架,主要包括(List)列表,集(Set),映射(Map),队列(Queue),先说结论ArrayListLinkedListTreeSetHashMapTreeMap下面我们分别介绍。

2024-08-15 19:13:05 566

原创 用Java从0开始实现Socket编程视频直播通信05—————注册功能实现

3,服务端先检索用户名进行对比,若找到相同用户名,返回error,客户端提示,账号已被注册。然后在UserManage类上写好返回Boolean的方法。然后在之前写登录的分支上用此方法完成注册的分支。若没有找到,则将新用户加入列表,并且提示注册成功。要考虑到已经注册的账号,避免发生冲突。同样,先在界面写好其的按钮监听器。接着到线程中,完善相关的方法。完整代码:服务端Server。想要试试的小伙伴可以先用用看。其实跟实现登录内容很相似。新注册的账号成功登录。1,提取文本框的信息。

2024-08-13 19:14:10 274

原创 用Java从0开始实现Socket编程视频直播通信04—————界面以及登陆功能实现

LOGIN+":"+username+":"+password的形式发送给服务端并且读取返回的结果,最后以boolean的形式返回。有了前面的基础下,我们现在需要写一个界面,把客户端的界面用java.awt和java.swing写出来,设置一下基本参数和布局。在改进一下服务端,加入一些默认的好友用于测试,同时因为收发消息的功能应该位于登录之后,将其删除,并将这些数据传给线程。然后,我们先解决登录的问题,这需要读取文本框里的内容,并建立一个保存账号密码的数组与之进行比对,然后将结果输出。

2024-08-11 19:09:01 204

原创 JAVA基础——接口

接口的设计初衷是是一系列方法的声明,是一些方法特征的集合,。通俗的说,就是你在设计多个java类的时候,会存在要重复写一些类似的方法,或者想要多继承情况。一个一个写很麻烦,你为了方便,就把这些方法类似的地方单独写一个类,然后在需要的时候给它拿出来用。举个简单的例子:你想要收集班级里同学的信息,包括名字性别身高体重。你要是拿着一张纸一个一个问,然后写,很麻烦。于是你把性别身高体重输入到文档里,在每一项后面留一个空写成一个表,打印之后分发给同学填写,然后再收上来。提高了效率这个表格就是接口的概念。

2024-08-10 19:16:49 343

原创 用Java从0开始实现Socket编程视频直播通信03—————实现自定义客户端

看上面的一个服务端和3个客户端都处于运行状态,接着我们测试私聊的功能,在Client3中向Client1发送消息,然后观察Client1和Client2。前面的几篇我们已经实现了一些简单通信的基本功能,现在我们来写一个自定义的客户端,这样就不需要telnet了,可以直接在环境下同时运行服务端和多个客户端。接下来测试一下客户端是否有问题,先打开之前的服务端MServer点击运行,然后打开刚刚写的MClient运行,我这里示范运行3个。首先,依照之前学过的内容创建客户端。这样,就实现了自定义客户端的创建。

2024-08-09 16:37:25 227

原创 用Java从0开始实现Socket编程视频直播通信02—————多任务服务器,实现群聊私聊

但是其实我们并没有实现群聊和私聊的区分,所以我们建立一个map,分别用Integer和Socket来存储用户和消息,并且通过分割符来对输入内容进行辨别,然后借此达到群聊和私聊的目的。运行代码后在用户3输入对用户1的私聊,以及@对全部的群聊,能够实现预期的效果。要实现多任务的服务器,就离不开线程的使用,首先通过使用Runnable接口来进行线程操作,改一改代码。所以我们对代码进行一些改进,用一个列表来保存在线的客户,然后同过循环使一个人发的消息可以被所有人接收到。成功了,两不同的客户端的输入被拦截。

2024-08-09 15:36:53 277

原创 用Java从0开始实现Socket编程视频直播通信01-------自定义server

在运行上面代码的时候,打开命令提示符输入telnet (IP地址) 8899(代码中的)然后进行代码编写,通过调用就Java中Socket类来实现我们的目的。接下来我们尝试简单的实现发送和接收消息的功能,先尝试一个字符的内容。改进一下,令其达到可以发连续的字符,并且通过回车键换行,利用了。这里利用的是电脑自带的Telnet客户端来实现。像这样,就实现了一个简单的服务端和客户端、这样就完成了一个简单的自定义srever。看来成功了,发了一个a出去。然后回车,会得到这样的结果。trim()清除末尾等方法。

2024-08-08 19:19:31 235

原创 Java中runnable接口与Thread类的比较

在大多数情况下,推荐使用Runnable接口。Runnable相比来说使用起来更灵活方便维护,但是有特殊需求的时候要用到Thread类会好一些,比如当你需要直接控制线程或在特殊情况下进行线程管理时。

2024-01-27 16:55:52 775

原创 用Java构建基本的生产消费模型

本篇介绍了用Java构建基本的生产消费模型,采用了多线程以及关键字、介绍了有关竞态条件等知识。

2024-01-23 21:26:43 681

原创 java中的继承

有关java继承讲解

2023-08-12 17:31:07 40

原创 java类和对象

有关java类与对象的介绍和一些拓展

2023-08-10 17:27:32 170 1

空空如也

空空如也

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

TA关注的人

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