自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 线程、程序、进程的基本概念及之间的关系

简单来说,一个进程就是一个执行中的程序,它在计算机中一个指令接着一个指令地执行着,同时,每个进程还占有某些系统资源如CPU时间,内存空间,文件,输入输出设备的使用权等等。从另一个角度来说,进程属于操作系统的范畴,主要是同一段时间内,可以通过是执行一个以上的程序,而线程则是在同一程序内几乎同时执行一个以上的程序段。与进程不同是同类的多个线程共享同一块内存空间和一组系统资源所以系统在产生一个线程或是在各个线程意见做切换工作时,负担要比进程小得多,也正因为如此,线程也被称为轻量级进程。

2023-07-31 09:18:14 172

原创 泛型中K T V E ? object等的含义

Object - 是所有类的根类,任何类的对象都可以设置给该Object引用变量,使用的时候可能需要类型强制转换,但是用使用了泛型T、E等这些标识符后,在实际用之前类型就已经确定了,不需要再进行类型强制转换。E - Element (在集合中使用,因为集合中存放的是元素)- 表示不确定的java类型(无限制通配符类型)T - Type(Java 类)N - Number(数值类型)V - Value(值)K - Key(键)

2022-11-11 14:18:11 316 1

原创 安装wsl ubuntu22.04.01LTS时,遇到somthing went wrong

打开ubuntu22.04.01LTS时,提示something went wrong。在window11中安装ubuntu22.04.01LTS后,3、然后重新打开ubuntu22.04.01LTS应用即可。1、使用管理员身份打开window的cmd命令行;

2022-11-02 14:20:35 742

原创 idea2022.2.1 保存控制台日志到本地

idea保存控制台日志

2022-10-18 17:59:56 2333

原创 关闭windows笔记本自带键盘

关闭windows笔记本自带键盘。

2022-07-20 16:44:32 419

原创 【Java】堆排序

【Java】堆排序。

2022-07-20 15:51:08 134

原创 【Java】推排序

【Java】推排序。

2022-07-19 17:08:14 166

原创 【Java】希尔排序

【Java】希尔排序。

2022-07-19 16:07:18 111

原创 【Java】快速排序

【Java】快速排序。

2022-07-19 15:42:02 194

原创 【Java】归并排序

【Java】归并排序。

2022-07-19 15:33:48 93

原创 【java】冒泡排序

【java】冒泡排序。

2022-07-19 15:21:10 172

原创 【Java】插入排序

【Java】插入排序。

2022-07-19 15:15:03 50

原创 【Java】选择排序

排序算法之选择排序

2022-07-19 15:10:21 153

原创 Runnable、Thread、Callable

2022-04-22 12:45:30 77

原创 重构之何时重构

何时重构在软件开发编码的过程中,有些人认为“重构”就应该在软件开发完成后,专门找时间来进行,不然就不叫重构了。但我们反对专门拔出时间来重构,重构应该随时随地进行。不应该为了重构而重构,你之所以重构,是因为你想做出别的什么事,重构可以帮助你把那些事做好。三次法则(The Rule of Three)第一次做某件事时只管去做;第二次做类似的事会产生反感,但无论如何还是做了;第三次再做类似的事,你就应该重构。【Tips:事不过三,三则重构(Three strikes and you refactor)

2021-03-24 22:14:23 193

原创 重构之常见的不良编码习惯

常见的不良编码习惯什么样的代码需要被重构呢?《重构——改善既有代码的设计》一书中已经有了非常全面的论述,下面就是从该书中,总结出来的“代码的坏味道”。Duplicated Code(重复的代码)重复代码是最常见的异味,往往是由于Copy&Paste造成的,最单纯的重复的代码就是“同一个类(class)内的两个函数含有相同的表达式(expression)”.Long Method(过长的函数)过长的函数是面向结构程序开发带来的后遗症,降低了程序的可读性。Large Class

2021-03-24 22:07:25 171

原创 重构 Refactoring

定义和特性说明敏捷本身提倡与重视的就是“以人为本,以代码为核心”的思想。因此面向代码的设计、持续优化和测试等技术成为敏捷开发的核心技术。重构的理论基础源自William Griswold于1991年的博士论文《Program Restructuring as an Aid to Software Maintenance》,但是作为一项敏捷实践广为应用的推动力,确实源自Martin Fowler的经典著作《重构–改善既有代码的设计》。Martin Fowler 在书中这样定义重构:所谓重构就是这样一个过程

2021-03-24 00:38:00 211

原创 敏捷开发知识体系

敏捷开发方法框架ScrumXPOpen UPLean敏捷开发管理实践项目管理迭代式开发多级项目规划完整团队风险价值生命周期冲刺规划每日站会任务版燃尽图故事点评估开发代码规范测试测试管理变更管理团队变更管理敏捷开发工程实践需求管理产品订单业务流程草图用例驱动开发用户故事架构演进的架构演进的设计基于组件的架构设计开发结对编程测试驱动开发重构测试单元测试并行测试测试分层变更管理持续集成自动构建

2021-03-19 21:07:27 188

原创 markdown新手指引

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档这是文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入

2021-03-19 20:56:55 121

原创 JDK命令行工具

jps命令:只用与列出Java的进程。直接运行jps不加任何参数,可以列出Java程序的进程ID以及Main函数等名称。jps -q :参数-q指定jps只输出进程ID,而不输出类的短名称,jps -m:参数-m用于输出传递给Java进程(主函数)的参数,jps -l:用于输出主函数的完整路径,jps -v:可以显示传递给JVM的参数jstat命令:用于观察Java应用程序运行时信息的工...

2019-10-11 11:02:51 94

原创 位运算

左移运算符m<<n表示把m左移n位。在左移的时候,最左边的n位将被丢弃,同时在最右边补上n个0。比如:00001010<<2 = 0010100010001010<<3 = 01010000右移运算符m>>n表示把m右移n位。在右移n位的时候,最右边的n位将被丢弃。但右移时处理最左边位的情性要复杂一点。如果数字时一个无符号数值,则用0填补最左边...

2019-06-28 11:32:39 77

原创 创建远程服务

步骤1: 创建Remote接口 步骤2: 实现Remote 步骤3: 用rmic产生stub与skeleton 步骤4: 启动RMI registry (rmiregistry)步骤5: 启动远程服务

2019-05-19 19:01:25 253

原创 分布式计算

如果所有组件都在同一台计算机的同一个Java虚拟机的同一个堆空间上执行是简单的,但有时候就是办不到。如果用户端只是个能够执行Java的装置怎么办?如果为了安全性的理由只能让服务器上的程序存取数据怎么办?想象一下电子商务的情境。有时候程序的某些部分就是得在服务器上执行,而客户端会在不同的用户的计算机上执行。Java远程的远程程序调用(Remote Method Invocation,RMI)技术...

2019-05-19 11:26:17 137

原创 下面有一些事件,请排列出在JWS应用程序上面发生的正确顺序

(1)用户点击网页上的链接(2)浏览器对服务器要求.jnlp文件(3)服务器发出.jnlp给浏览器(4)浏览器启动JWS的helper app(5)helper app要求取得JAR文件(6)Web服务器送出JAR给JWS的helper app(7)helper app调用JAR上的mian()方法...

2019-05-19 11:04:35 83

原创 JDO

Java数据对象(Java Data Object,JDO)是一个用于存取某种数据仓库中的对象的标准化API,它使开发人员能够间接的访问数据库。JDO是JDBC的一个补充,它提供了透明的对象存储,因此对开发人员来说,存储数据对象不需要额外的代码(例如JDBC API的使用)。这些繁琐的工作已经转移到JDO产品提供商身上,是开发人员解脱出来,从而集中时间和精力在业务逻辑上。另外,相较于JDBC,J...

2019-04-29 19:08:04 1299

原创 sleep()方法与yield()方法的区别

1)sleep()方法给其他线程运行机会时不考虑线程的优先级,因此会给优先级低的线程以运行的机会,而yield()方法只会给相同优先级或者更高优先级的线程以运行机会。2)线程执行sleep()方法后会转入阻塞状态,所以,执行sleep()方法的线程在指定的时间内肯定不会被执行,而yield()方法只是使当前线程重新回到可执行状态,所以执行yield()方法的线程有可能在进入到可执行状态后马上又被...

2019-04-28 20:08:38 5564

原创 赋值运算符函数的关注点

class CMyString{ public: CMyString(char* pData = nullptr); CMString(const CMyStirng& str); ~CMyString(void); private: char* m_pData;};是否把返回值的类型声明为该类型的引用,并在函数结束前返回实例自身的引用(*this)。只返回一个...

2019-04-22 17:25:36 98

原创 向HashMap中添加键值对

步骤:首先,调用key的hashcode()方法生成一个hash值的h1,如果这个h1在HashMap中不存在,那么直接将<key, value>添加到HashMap中;如果这个h1已经存在,那么找出HashMap中所有hash值为h1的key。然后分别调用key的equals()方法判断当前添加的key是否与已经存在的key值相同。如果equals()方法返回true,说明当前需...

2019-04-16 20:10:54 6020

转载 TCP/IP建立连接和断开连接过程

TCP连接建立过程:首先Client端大宋连接请求报文,Server端接收连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server端发送ACK报文,并分配资源,这样,TCP连接就建立了。TCP连接断开过程:假设Client端发起中断连接请求,也就是发送FIN报文。Server端接收到FIN报文后,意思是说“我Client端没有数据要发给你了”,但是如果你还没有...

2019-04-13 10:39:25 999

原创 组的作用域

(1)通用组:有通用作用域的组可以将其成员作为来自域树或树林中任何Windows server 2003域的组合账户,并且在域树或树林中的任何域中国都可获得权限。有通用作用域的组成为通用组。(2)全局组:有全局作用域的组可将其成员作为进来自组所定义的域的组和账户并且在树林中的任何域中都可获得权限。有全局作用域的组成为全局组。(3)本地组:具有域本地作用域的组可以将其作为来自Window ...

2019-04-11 21:40:13 1703

原创 网络地址与主机地址的区别

首先了解网络地址和主机地址的关系:IP地址包含 网络地址+主机地址,即IP地址=网络地址+主机地址网络地址和主机地址的区别:网络地址:1、如果是192的C段地址,那么,网络地址就是:192.168.1.0,地址掩码是:255.255.255.0。2、如果地址掩码是:255.255.0.0,那么网络地址就是:192.168.0.0。3、网络地址很大一部分是地址掩码决定的。主机地址:如...

2019-04-11 20:28:42 46864 4

转载 交换机、路由器、网关

1)交换机在计算机网络系统中,交换机是针对共享工作模式的弱点而推出的。交换机拥有一条高带宽的背部总线和内部交换矩阵。交换机的所有的端口都挂接在这条背 部总线上,当控制电路收到数据包以后,处理端口会查找内存中的地址对照表以确定目的MAC(网卡的硬件地址)的NIC(网卡)挂接在哪个端口上,通过内部 交换矩阵迅速将数据包传送到目的端口。目的MAC若不存在,交换机才广播到所有的端口,接收端口回应后交换机...

2019-04-11 20:21:02 309

原创 可变式分区分配方案

可变分区分配方式下,当收回主存时,应检查是否有与归还区相邻的空闲区,若有,则应合并成一个空闲区。相邻可能有上邻空闲区、下邻空闲区、既上邻又下邻空闲区、既无上邻又无下邻空闲区。 若有上邻空闲区,只修改上邻空闲区长度(为收回的空闲区长度与原上邻区长度之和)即可; 若有下邻空闲区,改记录这个下邻空闲区记录的地址为收回空闲区的地址,长度为下邻空闲区的长度和收回空闲区的长度即可; 若既有上邻又有下邻空闲区,...

2019-04-11 20:20:50 5194 2

转载 TCP的三次握手过程?为什么会采用三次握手,若采用二次握手可以吗?

建立连接的过程是利用客户服务器模式,假设主机A为客户端,主机B为服务器端。(1)TCP的三次握手过程:主机A向B发送连接请求;主机B对收到的主机A的报文段进行确认;主机A再次对主机B的确认进行确认。(2)采用三次握手是为了防止失效的连接请求报文段突然又传送到主机B,因而产生错误。失效的连接请求报文段是指:主机A发出的连接请求没有收到主机B的确认,于是经过一段时间后,主机A又重新向主机B发送连接...

2019-04-09 11:33:40 702

原创 DNS域名系统

当DNS客户机需要在程序中使用名称时,它会查询DNS服务器来解析该名称。客户机发送的每条查询信息包括三条信息:包括:指定的DNS域名,指定的查询类型,DNS域名的指定类别。基于UDP服务,端口53. 该应用一般不直接为用户使用,而是为其他应用服务,如HTTP,SMTP等在其中需要完成主机名到IP地址的转换。...

2019-04-09 11:32:56 265

转载 TCP和UDP的区别

TCP提供面向连接的、可靠的数据流传输,而UDP提供的是非面向连接的、不可靠的数据流传输。TCP传输单位称为TCP报文段,UDP传输单位称为用户数据报。TCP注重数据安全性,UDP数据传输快,因为不需要连接等待,少了许多操作,但是其安全性却一般。TCP对应的协议和UDP对应的协议TCP对应的协议:(1) FTP:定义了文件传输协议,使用21端口。(2) Telnet:一种用于远程登陆的...

2019-04-09 11:32:26 132

转载 在浏览器中输入www.baidu.com后执行的全部过程

1、客户端浏览器通过DNS解析到www.baidu.com 的IP地址220.181.27.48,通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到220.181.27.48,然后通过TCP进行封装数据包,输入到网络层。2、在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口,如服务器使用80端口监听客户端的请求,客户端由系统随机选择一个端口如5000,与服...

2019-04-09 11:30:18 274

原创 TCP三次握手和四次挥手的全过程

三次握手:第一次握手:客户端发送syn包(syn=x)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服...

2019-04-09 11:29:27 39371

原创 RARP协议

RARP是逆地址解析协议,作用是完成硬件地址到IP地址的映射,主要用于无盘工作站,因为给无盘工作站配置的IP地址不能保存。工作流程:在网络中配置一台RARP服务器,里面保存着IP地址和MAC地址的映射关系,当无盘工作站启动后,就封装一个RARP数据包,里面有其MAC地址,然后广播到网络上去,当服务器收到请求包后,就查找对应的MAC地址的IP地址装入响应报文中发回给请求者。因为需要广播请求报文,因此...

2019-04-09 11:28:54 10223

原创 计算机网络协议

ICMP协议: 因特网控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。TFTP协议: 是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。HTTP协议: 超文本传输协议,是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。NAT协议:网络地址转换属接入广域网...

2019-04-09 11:28:20 89

空空如也

空空如也

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

TA关注的人

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