
学习记录
文章平均质量分 79
w7486
这个作者很懒,什么都没留下…
展开
-
Java四大引用(强、软、弱、虚)
目录强引用软引用弱引用虚引用强引用也是我们平时用得最多的,new一个对象就是强引用,例如 Object obj = new Object(); 当JVM的内存空间不足时,宁愿抛出OutOfMemoryError使得程序异常终止 也不愿意回收具有强引用的存活着 的对象!记住是存活着,不可能是你new一个对象就永远不会被GC回收。 如果将引用赋值为null时,你的对象就表明不是存活着,这样就会可以被 GC回收了当内存不足的时候,jvm开始垃圾回收,对于强引用的对象,就算.原创 2022-02-19 23:43:47 · 313 阅读 · 0 评论 -
正则表达式
正则表达式的常见应用场景批量提取、替换有规律的字符串在各种高级文本编辑器中的使用在各类办公软件(Office等)中使用各种开发语言中的使用(C#、Java、JS、Perl、PHP等)用户输入的合法性验证(IP地址、特殊的订单号要求等)模板引擎的标签库开发网络爬虫(抓取机器人)的开发批量的文本高效处理...原创 2022-01-12 14:48:04 · 318 阅读 · 0 评论 -
HTTP与HTTPS
三次握手与四次挥手三次握手与四次挥手原创 2022-01-03 14:34:58 · 1008 阅读 · 0 评论 -
IP基本了解
目录1.什么是IP2.IP地址的格式3.IP的头4.地址分类5.分类网络6.子网掩码7.无类寻址8.子网框架案例1.什么是IPIP地址用由句点分隔的四组数字组成 IP地址被分配给网络上设备的网络接口卡,并且我们的IP地址被分为两部分。它具有网络部分和主机部分2.IP地址的格式IP地址以四个十进制数字的格式写入比如:203.0.113.103.IP的头每一行都32位version:版本 IPv4 或 IPv64.地址分类网络地址.原创 2022-01-02 19:20:44 · 1058 阅读 · 0 评论 -
JAVA NIO(New IO)
一.了解NIO1.什么是NIO首先我们要明白传统IO比如InputStream,OutputStream,在执行read()和write()时是会阻塞的,直到数据准备好才会被唤醒。NIO,是一种非阻塞IO,NIO 从JDK1.4提出的,本意是New l0,它的出现为了弥补传统I0的不足,提供了更高效的方式NIO在处理网络数据时底层用到(select/poll)模型 多路复用 (可以提升服务端处理连接的数量)jdk1.5使用了epoll代替了select/poll2.NIO的新特性.原创 2021-12-26 17:52:58 · 679 阅读 · 1 评论 -
5种IO模型
一.阻塞IOrecvfrom:c语言中接受数据的方法当进程没有拿到数据的返回结果前一直是阻塞的状态二.非阻塞IO当进程发送调用请求后,如果数据没准备好。他会返回一个状态码,他并不会阻塞你这个进程。我们需要使用轮询的方式判断数据是否准备好,当他准备好数据时,就会返回数据。三.IO复用优势是处理多个连接的情况。1.select/pollselect/poll:单个进程可以同时处理多个客户端的连接相当于把多个服务器连接注册到select上,监听器一起监听,一旦发现..原创 2021-12-25 16:59:44 · 604 阅读 · 0 评论 -
同步与异步,阻塞与非阻塞
一.阻塞与非阻塞阻塞状态:什么事也不能做非阻塞状态:可以做其他的事二.同步与异步1.同步什么是同步?同步就是,客户端发起一个请求,这个请求需要同步等待结果,在等待结果之前,这个客户端一直处于阻塞状态。相当于我们去饭店买菜,我们点完菜之后什么也不能做,只能在饭店等着厨师做完饭后,我们拿到菜后(相当于程序拿到返回值),才可以做后续的事,比如去超市买瓶饮料。2.异步什么是异步?异步就是,客户端发起一个请求后,不需要等待继续做其他的事情,然后服务端异步返回请求结果。相当于原创 2021-12-25 15:10:35 · 241 阅读 · 0 评论 -
基于Socket手写实现RPC框架
目录服务端搭建客户端执行结果RPC就是从一台机器(客户端)上通过参数传递的方式(就像调用了本地方法一样)调用另一台机器(服务器)上的一个方法(可以统称为服务)并得到返回的结果。服务端搭建IHelloService接口(就是客户端想远程调用的)public interface IHelloService { String sayHello(String str);}HelloServiceImpl IHelloService的实现类public cla.原创 2021-12-24 21:06:56 · 1700 阅读 · 0 评论 -
网络IO与磁盘IO
Java中的IO体系:在Java中I/0流操作的类很多,但是核心体系实际上就只有File、lnputStream、OutputStream、Reader、Writer.IO流的分类:IO流的数据来源1.网络2.磁盘 //磁盘 FileInputStream fi = null; //创建管道 try { fi = new FileInputStream("d:/111/123.txt"); //存放在磁盘..原创 2021-12-22 19:11:49 · 1907 阅读 · 0 评论 -
注解的了解与使用
1.什么是注解?定义︰注解(Annotation ) ,也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。2.注解的作用编写文档:通过代码里标识的注解生成文档【生成文档doc文档】 代码分析:通过代码里标识的注解对代码进行分析【使用反射】 编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查【Override】3.JDK预...原创 2021-12-19 19:30:03 · 840 阅读 · 0 评论 -
Java反射与类加载
一.类加载的过程加载把类加载到内存中,并产生一个与之对应的class对象链接给static资源分配空间,会在方法区进行分配初始化执行类构造器<clinit>()方法的过程。类构造器<clinit>()方法是由编译期自动收集类中所有类变量的赋值动作和静态代码块中的语句合并产生的。(类构造器是构造类信息的,不是构造该类对象的构造器)。 当初始化一个类...原创 2021-12-18 18:43:54 · 533 阅读 · 0 评论 -
泛型的了解与使用
本质:参数化类型泛型的擦除:泛型只在编译阶段有效,编译之后VM会采取去泛型化的措施. 泛型在运行阶段是没有效果泛型通配符的介绍1.无边界通配符List<?>//所有类型都可以2.上边界通配符List<? extends Number>//表示 Number以及以下的都可以 例如 Number IntegerLong Double 都可以Object就不行3.下边界通配符List<? super Intege...原创 2021-12-17 00:46:15 · 183 阅读 · 0 评论 -
集合源码分析
一.集合的基本数据结构1.数组特点:内存地址连续,使用之前必须要指定数组长度 可以通过下标访问的方式访问成员,查询效率高 增删操作会给系统带来性能消耗[保证数据下标越界的问题,需要动态扩容]2.链表特点:灵活的空间要求,存储空间不要求连续 不支持下标的访问,支持顺序遍历检索 针对增删效率会更高些,只和操作节点的前后节点,无需移动元素存储位置3.树二叉树优点:某节点的左子树节点值仅包含小于该节点值 某节点的右子树节点值仅包含大于该节点值 左右子树每个也必须是二叉查找原创 2021-12-15 00:21:52 · 1096 阅读 · 0 评论