程序员 程序 日记java
java序列化和反序列化
感觉网上很多博客对这个的解释实在太官方了,也没说为什么一定要实现序列化接口。 去看看rpc框架源码,或者java网络编程或者向磁盘进行序列化就知道了。 首先这是个标记接口,就是用来告诉程序某某对象是可序列化对象,像dubbo框架,要传输对象就必须序列化。 网络编程已经告诉你了,想要向另一个网络输出的 ......
仿微信聊天程序 - 09. 聊天信息
本文是仿微信聊天程序专栏的第九篇文章,主要记录了【聊天信息】的逻辑实现,下面涉及代码是《仿微信聊天程序 - 09. 聊天窗口》的基础上进行完善的。 ## 实现效果 在《仿微信聊天程序 - 09. 聊天窗口》章节中,已经实现了基本的聊天界面框架,《09. 聊天信息》这里只是补充实现聊天内容部分功能。 ......
Java性能优化-测试try-catch放在循环内和外的性能对比与业务区别
场景 Java中使用JMH(Java Microbenchmark Harness 微基准测试框架)进行性能测试和优化: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/131723751 使用如上方式测试Java中try-catc ......
day07 7.1 Java中的面向对象之类与对象
# day07 7.1 Java中的面向对象之类与对象 # 【一】类与对象 ## 【1】类定义规范 - 类与对象的关系 - 类 是实体对象的概念模型,笼统的,不具体的, - 比如人类、动物类、鸟类 - 对象 又称为实体,类具体化的表现 - 小红/小明 - 小猫一号/小狗一号 - 对象中有属性,有方法 ......
C#-使用脚本启动程序并传入参数
winform和控制台的程序入口都是program.cs中的Main函数。 我们可以F5启动程序,也可以双击bin目录下的exe启动。现在我想通过exe启动程序时,给程序传入参数,程序根据收到的参数进行逻辑处理。 首先给Main函数增加参数: static void Main(string[] ar ......
Java性能优化-测试数组和链表在查询和添加删除时性能对比
场景 Java中使用JMH(Java Microbenchmark Harness 微基准测试框架)进行性能测试和优化: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/131723751 上面在使用JMH时测试了Java中数组和链 ......
仿微信聊天程序 - 02. 注册界面
本文是仿微信聊天程序专栏的第二篇文章,主要记录了【注册界面】的实现。 ## 界面设计 仿微信聊天程序的注册界面,是一个表单,由三个输入框和一个按钮组成,具体UI展示如下图所示: ![](https://img2023.cnblogs.com/blog/3033437/202307/3033437-2 ......
仿微信聊天程序 - 03.登录界面
本文是仿微信聊天程序专栏的第三篇文章,主要记录了【登录界面】的实现。 ## 界面设计 仿微信聊天程序的登录界面跟注册界面差不多,只是比注册界面少了一个昵称输入框,如下图所示: ![](https://img2023.cnblogs.com/blog/3033437/202307/3033437-20 ......
仿微信聊天程序 - 04. 主界面
本文是仿微信聊天程序专栏的第四篇文章,主要记录了【主界面】的实现。 ## 界面设计 仿微信聊天程序的主界面总体跟微信的主界面差不多,但是比微信的主界面简单得多,如下图所示: ![](https://img2023.cnblogs.com/blog/3033437/202307/3033437-202 ......
仿微信聊天程序 - 05. 聊天列表
本文是仿微信聊天程序专栏的第五篇文章,主要记录了【聊天列表】的界面实现。 ## 界面设计 聊天列表在主界面左边,主要显示最近的聊天记录,以及添加好友的信息等,总体界面设计如下: ![](https://img2023.cnblogs.com/blog/3033437/202307/3033437-2 ......
仿微信聊天程序 - 06. 好友列表
本文是仿微信聊天程序专栏的第六篇文章,主要记录了【好友列表】的界面实现。 ## 界面设计 好友列表在主界面左边,界面UI风格跟聊天列表类似,只不过相比聊天列表更加简单,不需要显示聊天信息,时间等,总体界面设计如下: ![](https://img2023.cnblogs.com/blog/30334 ......
仿微信聊天程序 - 07. 好友信息
本文是仿微信聊天程序专栏的第七篇文章,主要记录了【好友信息】的界面实现。 ## 界面设计 这里的好友信息界面没有处理复杂的功能,仅仅显示好友信息,支持在此界面中发起聊天而已,总体的界面设计如下图所示: ![](https://img2023.cnblogs.com/blog/3033437/2023 ......
仿微信聊天程序 - 08. 聊天窗口
本文是仿微信聊天程序专栏的第八篇文章,主要记录了【聊天窗口】的界面实现。 ## 界面设计 聊天窗口是整个聊天程序的核心控件,比较复杂,大致可以分为上中下三个部分,上面显示用户昵称以及一些操作菜单,中间是聊天内容显示区域,下面的信息发送的区域,总体界面设计如下: ![](https://img2023 ......
仿微信聊天程序 - 01. 开篇
本文是仿微信聊天程序专栏的第一篇文章,主要简要说明仿微信聊天程序的功能需求及架构设计。 仿微信聊天程序专栏主要记录了使用JavaFX + Netty开发仿微信聊天程序 米虫IM。 ## 功能需求 米虫IM已经完成的功能如下: * 用户注册功能 * 用户登录功能 * 搜索好友功能 * 添加好友功能 * ......
尝试使用vb写出能搞一点小破坏的程序
Const OverwriteExisting=Trueset shell=createobject("wscript.shell")msgbox "点击"currentpath = createobject("Scripting.FileSystemObject").GetFolder("."). ......
java发展史
java的发展史 1972年C语言诞生 贴近硬件,运行快,效率高 操作系统,编译器,数据库,网络系统等 指针和内存管理 1982年C++诞生 面向对象 兼容C 图形领域,游戏等 JAVA发展 高可用,高并发,高性能。 构建工具:Ant,Maven,Jekins 应用服务器: Tomact,Jetty ......
WSL环境中安装过Java并配置VSCode
WSL环境已经配置好,现在开始在Ubuntu里面安装Java! 一 下载tar包方式手动安装 1.1 下载地址:https://www.oracle.com/java/technologies/downloads/ 1.2 在上面的地址中选择合适的版本进行下载,然后将下载的安装包拷贝到wsl系统所在 ......
程序员基本认知
> 内容来至: 人月神话,代码大全,程序员修炼之道 # 架构认知 ## Easier To Change 优秀的设计比糟糕的设计更容易变化,为你指向正确的设计方向。 ### 可逆性 > 想想薛定谔的猫,把你的代码比喻为装100只猫的盒子,需求比喻为猫的话,想想你的代码为多少可能提供了支持? 因为改变 ......
Java扩展Nginx之六:两大filter
### 欢迎访问我的GitHub > 这里分类和汇总了欣宸的全部原创(含配套源码):[https://github.com/zq2599/blog_demos](https://github.com/zq2599/blog_demos) ### 本篇概览 - 本文是《Java扩展Nginx》系列的第 ......
java中synchronized和Lock的区别?
synchronized和Lock是Java中两种不同的实现线程同步的机制。下面是它们之间的主要区别: 可重入性: synchronized是可重入的,同一个线程可以多次获得同一个锁。 Lock也是可重入的,同一个线程可以多次获得同一个锁。但需要手动释放相同次数的锁。 粒度: synchronize ......
JAVA----线程池
线程池 线程的状态:1新建状态(没启动) 2 可运行状态(可能在运行,也可能等待cpu时间片) 3 阻塞(等待获取排他锁,或者等待其他线程唤醒,不醒无法获取时间片)4 限期等待(一段时间后被系统自动唤醒) 5 死亡:可能任务执行结束或产生异常结束。 线程池的状态: RUNNING:运行状态,可以接受 ......
JAVA面试题----Redis
Redis redis快的原因:完全基于内存操作,请求都在内存中所以快;它是单线程,省去了线程切换的时间和锁竞争的开销。采用io多路复用,多路指多个网络,对单个线程进行复用,避免了大量无用的操作。 为什么使用redis:速度快,支持丰富的数据类型,redis集群不支持事务,内部单节点支持事务,操作都 ......
JAVA面试题----MYSQL
MYSQL。 mysql使用的引擎是InnoDB,它有四大特性:1 插入缓冲 2 二次写 3 自适应hash索引(ahi),就不用走B+树了;4预读。使用InnoDB因为它是事务安全的存储引擎,它具备提交,回滚以及崩溃恢复的功能以及保护用户数据。 MYSQL的索引分类:1主键索引2,唯一索引 3.复 ......
Java学习笔记--Markdown
Markdown #空格+标题名字回车 为一级标题 ##空格+标题名字回车 为二级标题 字体 hello word 黑体 前后各两个** 两边各一个*是斜体 两边各三个星号是 黑体且斜体 两边各两个波浪号是删除 引用 大于号+空格表示引用 三个-回车会变成横线 三个*回车会变成横线 图片 网上的图片 ......
cuda驱动程序入口点访问分析
cuda驱动程序入口点访问分析 1. 简介 Driver Entry Point Access APIs提供了一种检索 CUDA 驱动程序函数地址的方法。从 CUDA 11.3 开始,用户可以使用从这些 API 获取的函数指针调用可用的 CUDA 驱动程序 API。 这些 API 提供的功能类似于它 ......
Java方法
# Java方法 ## 何为方法? - **System.out.println(),那么它是什么呢?** - **Java方法是语句的集合,它们在一起执行一个功能。** - **方法是解决一类问题的步骤的有序组合** - **方法包含于类或对象中** - **方法在程序中创建,在其他方法被引用** ......
每个程序员必读的经典书籍
作为程序员,面对日新月异的技术,我们必须不断的坚持学习来拓展知识面,加深技术理解,提高自身竞争力。但是技术相关的书籍浩如烟海,如何选择成为摆在我们眼前的问题?今天我从**编程语言、算法与数据结构、数据库、网络编程、软件开发**等5个方面聊下有哪些经典书籍值得我们仔细阅读。在最后我也总结了所有书籍的p ......
study java Day01
Markdown学习 标题 三级标题 四级标题 字体 Hello,World! Hello,World! Hello,World! Hello,World! 引用 选择狂神说java 分割线 图片 超链接 点击跳转到秦始皇帝陵博物院 列表 A B C A B C 表格 名字性别生日 张三 男 199 ......
study java Day02
基本的Dos命令 打开CMD的方式 开始+系统命令提示符 Win键+R+输入CMD打开控制台(推荐) 在任意位置,按住shift键+鼠标右键点击在此处打开命令行窗口 资源管理器的地址栏前面加上cmd Windows系统+命令提示符+以管理员身份运行 常用的DOS命令 #盘符切换#查看当前目录下的所有 ......