java的养成方法
文章平均质量分 88
小豪GO!
Go!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HTTPS原理
HTTP 是明文传输HTTPS 只是在 HTTP 的基础上引入加密机制那 HTTPS 是如何加密的?原创 2025-12-17 22:33:43 · 704 阅读 · 0 评论 -
JVM--
Java 程序从.java文件编译为.class文件(存储在硬盘上),当运行 Java 进程时,JVM 需要读取.class文件内容并执行其中的指令。这个过程就是类加载- 将类的字节码从硬盘加载到内存中的元数据区,并创建对应的类对象。JVM 的垃圾回收机制通过可达性分析识别垃圾,采用分代回收策略结合多种算法,在开发效率与运行效率之间取得平衡。理解这些机制有助于编写更高效的 Java 程序并进行性能优化。原创 2025-09-22 01:57:42 · 978 阅读 · 0 评论 -
HTTP和HTTPS
HTTP(HyperText Transfer Protocol):应用层协议,主要用于客户端和服务器之间的数据传输。不仅能传输文本,还能传输图片、音频、视频及其他数据。最主流版本为HTTP/1.1,升级到 HTTP/2.0 兼容性成本较高。客户端发请求,服务器返回响应。User-Agent是 HTTP 请求头中的一个字段,简称UA。当前请求来自什么操作系统、什么浏览器、什么版本等详细信息。Cookie是浏览器为网站提供的一种“客户端存储数据”的机制。本质上是浏览器本地持久化存储的。原创 2025-09-21 21:19:08 · 1758 阅读 · 0 评论 -
TCP/IP
内核中的内存空间,每个 socket 对象都有一个接收缓冲区。类似阻塞队列:生产者-消费者模型。原创 2025-09-19 17:33:19 · 781 阅读 · 0 评论 -
网络编程-
短连接:适合低频、简单请求场景,易于实现但效率低。长连接:适合高频、实时通信场景,推荐用NIO等高效方式实现,能极大提升并发性能。短连接/请求型服务:可以用线程池(如),但要注意线程数量风险。高并发长连接服务:建议用IO多路复用技术,避免线程池资源耗尽。原创 2025-09-09 10:54:20 · 1027 阅读 · 0 评论 -
网络原理-
协议,就是在约定通信双方、交互数据的“规则”。协议确定了,双方就在一个频道上了,才能进行有意义的通信。原创 2025-09-06 17:51:19 · 891 阅读 · 0 评论 -
文件操作和IO
关于 InputStream 的实现类有很多,基本可以认为不同的输入设备都可以对应一个 InputStream 类。如果你希望\追加内容而不是覆盖,可以使用它的一个特殊构造方法(append)。使用字符流读取数据时,Java 标准库会自动根据数据的编码进行转码。InputStream 只是一个抽象类,要使用还需要具体的实现类。读取文件的两种方法.相比较而言,后一种的IO次数更好,性能更好.当用 char 表示汉字时,不再使用 UTF-8,而是使用。计算机中的输入输出,都是以 cpu 视角来谈的。原创 2025-09-06 12:09:03 · 856 阅读 · 0 评论 -
Java多线程初阶
死锁指的是两个或多个线程在执行过程中,因争夺资源而造成一种互相等待的现象,导致所有线程都无法继续运行。内存可见性问题指的是在多线程环境下,一个线程对共享变量的修改,另一个线程无法及时“看到”最新的值,导致程序出现逻辑错误。单例模式是一种常用的设计模式,保证一个类在整个进程中只有一个实例。应用场景:配置信息管理器、连接池、日志系统等。基于数组实现循环队列。用保证线程安全。用waitnotify实现阻塞和唤醒。i < n;t.start();原创 2025-08-30 18:53:39 · 1012 阅读 · 0 评论 -
计算机系统基础与操作系统笔记
例如,在Windows环境下开发的程序,无法直接在Linux或macOS系统上运行。C++ 进行编程时高度依赖操作系统的原生 API,但对 Java 程序员来说不需要——JVM 包办一切了。现在最主要的进程间通信方式有且只有一个:通过网络(socket),这个是后续重点内容。PCB(进程控制块)是一个非常复杂的结构体,包含众多属性。:通过数据结构,把多个结构体串联起来,并进行增删改查。C++ 会讲得更多一些,Java就不做过多讨论了。:通过结构体/类,把进程的各种属性表示出来。的结构体来描述进程信息。原创 2025-07-31 16:49:04 · 908 阅读 · 0 评论 -
JavaLamdba表达式
/ 无返回值无参数// 无返回值一个参数// 无返回值多个参数// 有返回值无参数int test();// 有返回值一个参数// 有返回值多个参数Lambda可以理解为:Lambda就是匿名内部类的简化,实际上是创建了一个类,实现了接口,重写了接口的方法。@Override。原创 2025-04-23 14:36:55 · 1244 阅读 · 0 评论 -
Java枚举
枚举类型使用enum关键字定义。在这个例子中,Day是一个枚举类型,它定义了一周的七天作为常量。原创 2025-04-20 21:22:35 · 454 阅读 · 0 评论 -
Java反射
Java反射是一种用于在运行时动态地检查和操作类、接口、字段以及方法的机制。通过反射,程序可以在运行时获取关于类的详细信息,包括类的结构、方法、构造函数和字段等,并能够动态创建对象、调用方法和访问字段。反射使得Java程序更加灵活和动态,因为它允许程序在运行时处理未知的类和对象。原创 2025-04-19 23:30:56 · 917 阅读 · 0 评论 -
数据结构-Map和Set
哈希桶是哈希表中的一个重要概念,它是用来处理哈希冲突的机制之一。在哈希表中,哈希桶通常是指存储在特定哈希索引处的一个容器,用于存放所有映射到该索引的键值对。哈希表是一种数据结构,用于存储键值对(key-value pairs),它通过哈希函数将键映射到数组中的一个位置,以实现快速的数据存取。哈希桶在许多哈希表的实现中被广泛使用,尤其是在需要处理大量数据且存在高概率冲突的情况下。通过合理的哈希函数与哈希桶的设计,可以显著提高哈希表的性能和效率。它不允许重复的键,但可以有重复的值。它不保证元素的顺序。原创 2025-04-18 23:35:45 · 1139 阅读 · 0 评论 -
数据结构-八大排序
当增量为1时,进行一次标准的插入排序,此时整个数组已经基本有序,所以效率较高。原创 2025-04-18 12:05:09 · 1104 阅读 · 0 评论 -
数据结构-PriorityQueue
队列是一种先进先出(FIFO)的数据结构,但有些情况下,操作的数据可能带有优先级,一般出队列时,可能需要优先级高的元素先出队列。优先级队列中的元素按照优先级进行排序,具有更高优先级的元素会在队列中被优先处理。底层使用了堆这种数据结构,而堆实际就是在完全二叉树的基础上进行了一些调整。从堆的概念可知,堆是一棵完全二叉树,因此可以层序的规则采用顺序的方式来高效存储,注意:对于非完全二叉树,则不适合使用顺序方式进行存储,因为为了能够还原二叉树,空间中必须要存储空节点,就会导致空间利用率比较低。2.3 堆的创建2原创 2025-03-24 11:12:25 · 1100 阅读 · 0 评论 -
数据结构-二叉树
满二叉树和完全二叉树是二叉树的两种特定类型。二叉树的存储结构分为:顺序存储和类似于链表的链式存储。通过递归函数来创建二叉树,适合于根据特定规则生成树。手动创建二叉树可以直接定义节点,适合于小规模的树。原创 2025-03-23 10:56:06 · 989 阅读 · 0 评论 -
数据结构-Stack和Queue
栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out) 入队列:进行插入操作的一端称为。从上图中可以看到,Stack继承了Vector,Vector和ArrayList类似,都是动态的顺序表,不同的是Vector是线程安 全的。它是一个基于数组实现的双端队列(Deque),可以高效地模拟栈的行为。在Java中,Queue是个接口,底层是通过链表实现的。原创 2025-03-22 10:08:12 · 777 阅读 · 0 评论 -
数据结构-LinkedList
Java中的LinkedList的底层是双向链表结构(链表后面介绍),由于链表没有将元素存储在连续的空间中,元素存储在单独的节 点中然后通过引用将节点连接起来了,因此在在任意位置插入或者删除元素时,不需要搬移元素,效率比较高。存储结构,数据元素的。原创 2025-03-21 20:26:03 · 290 阅读 · 0 评论 -
数据结构-ArrayList
线性表是一种在实际中广泛使用的数据结构,常见线性表:顺序表、链表、栈、队列…但是在物理上不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。底层是基于数组实现的,插入或删除元素时,所有后续元素需要整体移动,导致时间复杂度为 O(N)。增容时需要重新分配新空间,并将旧数组的数据拷贝到新数组中,这会带来性能开销。增容时容量通常增长为原来的 2 倍,会导致未使用的空间浪费。原创 2025-03-19 23:36:48 · 995 阅读 · 0 评论 -
Java数据结构相关知识
接口,或者需要多种排序方式时,可以使用。方法对对象集合进行排序。用于集合中对对象的排序。原创 2025-03-18 11:28:02 · 484 阅读 · 0 评论 -
Java泛型(Generics(
泛型(Generics)是 Java 中的一种特性,允许在类、接口和方法中定义类型和参数,从而实现参数的类型化。泛型的主要目的是提高代码的重用性和类型安全性。原创 2025-03-13 16:12:15 · 1147 阅读 · 0 评论 -
Java接口
java接口原创 2025-03-07 00:52:29 · 425 阅读 · 0 评论
分享