程序员 程序 日记java

java序列化和反序列化

感觉网上很多博客对这个的解释实在太官方了,也没说为什么一定要实现序列化接口。 去看看rpc框架源码,或者java网络编程或者向磁盘进行序列化就知道了。 首先这是个标记接口,就是用来告诉程序某某对象是可序列化对象,像dubbo框架,要传输对象就必须序列化。 网络编程已经告诉你了,想要向另一个网络输出的 ......
序列 java

仿微信聊天程序 - 09. 聊天信息

本文是仿微信聊天程序专栏的第九篇文章,主要记录了【聊天信息】的逻辑实现,下面涉及代码是《仿微信聊天程序 - 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 ......
性能 try-catch 业务 catch Java

day07 7.1 Java中的面向对象之类与对象

# day07 7.1 Java中的面向对象之类与对象 # 【一】类与对象 ## 【1】类定义规范 - 类与对象的关系 - 类 是实体对象的概念模型,笼统的,不具体的, - 比如人类、动物类、鸟类 - 对象 又称为实体,类具体化的表现 - 小红/小明 - 小猫一号/小狗一号 - 对象中有属性,有方法 ......
对象 Java day 7.1 07

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中数组和链 ......
性能 数组 Java

仿微信聊天程序 - 02. 注册界面

本文是仿微信聊天程序专栏的第二篇文章,主要记录了【注册界面】的实现。 ## 界面设计 仿微信聊天程序的注册界面,是一个表单,由三个输入框和一个按钮组成,具体UI展示如下图所示: ![](https://img2023.cnblogs.com/blog/3033437/202307/3033437-2 ......
界面 程序 02

仿微信聊天程序 - 03.登录界面

本文是仿微信聊天程序专栏的第三篇文章,主要记录了【登录界面】的实现。 ## 界面设计 仿微信聊天程序的登录界面跟注册界面差不多,只是比注册界面少了一个昵称输入框,如下图所示: ![](https://img2023.cnblogs.com/blog/3033437/202307/3033437-20 ......
界面 程序 03

仿微信聊天程序 - 04. 主界面

本文是仿微信聊天程序专栏的第四篇文章,主要记录了【主界面】的实现。 ## 界面设计 仿微信聊天程序的主界面总体跟微信的主界面差不多,但是比微信的主界面简单得多,如下图所示: ![](https://img2023.cnblogs.com/blog/3033437/202307/3033437-202 ......
界面 程序 04

仿微信聊天程序 - 05. 聊天列表

本文是仿微信聊天程序专栏的第五篇文章,主要记录了【聊天列表】的界面实现。 ## 界面设计 聊天列表在主界面左边,主要显示最近的聊天记录,以及添加好友的信息等,总体界面设计如下: ![](https://img2023.cnblogs.com/blog/3033437/202307/3033437-2 ......
程序 05

仿微信聊天程序 - 06. 好友列表

本文是仿微信聊天程序专栏的第六篇文章,主要记录了【好友列表】的界面实现。 ## 界面设计 好友列表在主界面左边,界面UI风格跟聊天列表类似,只不过相比聊天列表更加简单,不需要显示聊天信息,时间等,总体界面设计如下: ![](https://img2023.cnblogs.com/blog/30334 ......
好友 程序 06

仿微信聊天程序 - 07. 好友信息

本文是仿微信聊天程序专栏的第七篇文章,主要记录了【好友信息】的界面实现。 ## 界面设计 这里的好友信息界面没有处理复杂的功能,仅仅显示好友信息,支持在此界面中发起聊天而已,总体的界面设计如下图所示: ![](https://img2023.cnblogs.com/blog/3033437/2023 ......
好友 程序 信息 07

仿微信聊天程序 - 08. 聊天窗口

本文是仿微信聊天程序专栏的第八篇文章,主要记录了【聊天窗口】的界面实现。 ## 界面设计 聊天窗口是整个聊天程序的核心控件,比较复杂,大致可以分为上中下三个部分,上面显示用户昵称以及一些操作菜单,中间是聊天内容显示区域,下面的信息发送的区域,总体界面设计如下: ![](https://img2023 ......
程序 08

仿微信聊天程序 - 01. 开篇

本文是仿微信聊天程序专栏的第一篇文章,主要简要说明仿微信聊天程序的功能需求及架构设计。 仿微信聊天程序专栏主要记录了使用JavaFX + Netty开发仿微信聊天程序 米虫IM。 ## 功能需求 米虫IM已经完成的功能如下: * 用户注册功能 * 用户登录功能 * 搜索好友功能 * 添加好友功能 * ......
开篇 程序 01

尝试使用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 ......
发展史 java

WSL环境中安装过Java并配置VSCode

WSL环境已经配置好,现在开始在Ubuntu里面安装Java! 一 下载tar包方式手动安装 1.1 下载地址:https://www.oracle.com/java/technologies/downloads/ 1.2 在上面的地址中选择合适的版本进行下载,然后将下载的安装包拷贝到wsl系统所在 ......
环境 VSCode Java WSL

程序员基本认知

> 内容来至: 人月神话,代码大全,程序员修炼之道 # 架构认知 ## Easier To Change 优秀的设计比糟糕的设计更容易变化,为你指向正确的设计方向。 ### 可逆性 > 想想薛定谔的猫,把你的代码比喻为装100只猫的盒子,需求比喻为猫的话,想想你的代码为多少可能提供了支持? 因为改变 ......
程序员 程序

Java扩展Nginx之六:两大filter

### 欢迎访问我的GitHub > 这里分类和汇总了欣宸的全部原创(含配套源码):[https://github.com/zq2599/blog_demos](https://github.com/zq2599/blog_demos) ### 本篇概览 - 本文是《Java扩展Nginx》系列的第 ......
filter Nginx Java

java中synchronized和Lock的区别?

synchronized和Lock是Java中两种不同的实现线程同步的机制。下面是它们之间的主要区别: 可重入性: synchronized是可重入的,同一个线程可以多次获得同一个锁。 Lock也是可重入的,同一个线程可以多次获得同一个锁。但需要手动释放相同次数的锁。 粒度: synchronize ......
synchronized java Lock

JAVA----线程池

线程池 线程的状态:1新建状态(没启动) 2 可运行状态(可能在运行,也可能等待cpu时间片) 3 阻塞(等待获取排他锁,或者等待其他线程唤醒,不醒无法获取时间片)4 限期等待(一段时间后被系统自动唤醒) 5 死亡:可能任务执行结束或产生异常结束。 线程池的状态: RUNNING:运行状态,可以接受 ......
线程 JAVA

JAVA面试题----Redis

Redis redis快的原因:完全基于内存操作,请求都在内存中所以快;它是单线程,省去了线程切换的时间和锁竞争的开销。采用io多路复用,多路指多个网络,对单个线程进行复用,避免了大量无用的操作。 为什么使用redis:速度快,支持丰富的数据类型,redis集群不支持事务,内部单节点支持事务,操作都 ......
Redis JAVA

JAVA面试题----MYSQL

MYSQL。 mysql使用的引擎是InnoDB,它有四大特性:1 插入缓冲 2 二次写 3 自适应hash索引(ahi),就不用走B+树了;4预读。使用InnoDB因为它是事务安全的存储引擎,它具备提交,回滚以及崩溃恢复的功能以及保护用户数据。 MYSQL的索引分类:1主键索引2,唯一索引 3.复 ......
MYSQL JAVA

Java学习笔记--Markdown

Markdown #空格+标题名字回车 为一级标题 ##空格+标题名字回车 为二级标题 字体 hello word 黑体 前后各两个** 两边各一个*是斜体 两边各三个星号是 黑体且斜体 两边各两个波浪号是删除 引用 大于号+空格表示引用 三个-回车会变成横线 三个*回车会变成横线 图片 网上的图片 ......
Markdown 笔记 Java

cuda驱动程序入口点访问分析

cuda驱动程序入口点访问分析 1. 简介 Driver Entry Point Access APIs提供了一种检索 CUDA 驱动程序函数地址的方法。从 CUDA 11.3 开始,用户可以使用从这些 API 获取的函数指针调用可用的 CUDA 驱动程序 API。 这些 API 提供的功能类似于它 ......
驱动程序 入口 程序 cuda

Java方法

# Java方法 ## 何为方法? - **System.out.println(),那么它是什么呢?** - **Java方法是语句的集合,它们在一起执行一个功能。** - **方法是解决一类问题的步骤的有序组合** - **方法包含于类或对象中** - **方法在程序中创建,在其他方法被引用** ......
方法 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 Day 01

study java Day02

基本的Dos命令 打开CMD的方式 开始+系统命令提示符 Win键+R+输入CMD打开控制台(推荐) 在任意位置,按住shift键+鼠标右键点击在此处打开命令行窗口 资源管理器的地址栏前面加上cmd Windows系统+命令提示符+以管理员身份运行 常用的DOS命令 #盘符切换#查看当前目录下的所有 ......
study java Day 02

Java数组

### 0x01 认识数组 #### 1、什么是数组 数组就是用来存储一批同种类型数据的容器。 ```java int[] arr = {20, 10, 80, 60, 90}; String[] names = {"张三", "李四", "王二"}; ``` #### 2、为什么要用数组 假如用变 ......
数组 Java