
java基础
当归. z Z
这个作者很懒,什么都没留下…
展开
-
Jackson LocalDate设置格式
【代码】Jackson LocalDate设置格式。原创 2024-06-07 14:54:06 · 225 阅读 · 1 评论 -
Stream API
Stream 是数据渠道,用于操作数据源(集合、数组等)所生成的元素序列。Stream 和 Collection 集合的区别:Collection 是一种静态的内存数据结构, 讲的是数据,而 Stream 是有关计算的,讲的是计算。前者是主要面向内存, 存储在内存中,后者主要是面向 CPU,通过 CPU 实现计算。原创 2024-04-04 20:31:07 · 647 阅读 · 0 评论 -
反射Reflection
Reflection(反射)是被视为动态语言的关键,反射机制允许程序在运行期间借助于 Reflection API 取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。加载完类之后,在堆内存的方法区中就产生了一个 Class 类型的对象(一个类只有一个 Class 对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一面镜子,透过这个镜子看到类的结构, 所以,我们形象的称之为:反射。// 反射// 创建实例// 调用属性。原创 2024-04-03 20:12:23 · 869 阅读 · 0 评论 -
Class类
在 Java 的日常应用程序开发中,类的加载几乎是由上述 3 种类加载器相互配合执行 的。在必要时,我们还可以自定义类加载器,来定制类的加载方式体现 Java 语言强大生命力和巨大魅力的关键因素之一便是,Java 开发者可以自定义类加载器来实现类库的动态加载,加载源可以是本地的 JAR 包,也可以是网络上的远程资源。同时,自定义加载器能够实现应用隔离,例如 Tomcat,Spring 等中间件和组件框架都在内部实现了自定义的加载器,并通过自定义加载器隔离不同的组件模块。原创 2024-04-03 18:30:32 · 1072 阅读 · 0 评论 -
简易聊天室
【代码】简易聊天室。原创 2024-04-01 21:14:19 · 233 阅读 · 0 评论 -
TCP网络编程
从客户端发送信息,服务端接收数据并打印在控制台上。原创 2024-03-31 21:30:33 · 563 阅读 · 0 评论 -
TCP/UDP协议
之后客户端进入 TIMEWAIT (时间等待)状态,服务器收到 ACK 应答报文段后,服务器就进入 CLOSE(关闭)状态,到此服务器的连接已经完成关闭。客户端处于 TIMEWAIT 状态时,此时的 TCP 还未释放掉,需要等待 2MSL 后,客户端才进入 CLOSE 状态。由于这种面向连接的特性,TCP 协议可以保证传输数据的安全,所以应用十分广 泛,例如下载文件、浏览网页等。TCP 协议中,在发送数据的准备阶段,客户端与服务器之间的三次交互,以保证连接的可靠。释放已建立的连接,效率低。原创 2024-03-31 20:20:03 · 877 阅读 · 0 评论 -
InetAddress
InetAddress 类的一个实例就代表一个具体的 ip 地址。原创 2024-03-31 19:59:33 · 144 阅读 · 0 评论 -
对象序列化机制
对象序列化机制允许把内存中的 Java 对象转换成平台无关的二进制流,从而允许把这种二进制流持久地保存在磁盘上,或通过网络将这种二进制流传输到另一个网络节点。当其它程序获取了这种二进制流,就可以恢复成原来的 Java 对象。序列化的好处,在于可将任何实现了 Serializable 接口的对象转化为字节数据,使其在保存和传输时可被还原。如果需要让某个对象支持序列化机制,则必须让对象所属的类及其属性是可序列化的,为了让某个类是可序列化的,该类必须实现。类保存基本类型数据或对象的机制。原创 2024-03-30 20:17:05 · 1012 阅读 · 0 评论 -
File和IO流
处理流:不直接连接到数据源或目的地,而是“连接”在已存在的流(节点流或处理流)之 上,通过对数据的处理为程序提供更为强大的读写功能。I/O 流中的 I/O 是 Input/Output 的缩写, I/O 技术是非常实用的技术,用于处理设 备之间的数据传输。如读/写文件,网络通讯等。Java 程序中,对于数据的输入/输出操作以“流(stream)” 的方式进行,可以看做是 一种数据的流动。– 字节流 :以字节为单位,读写数据的流。原创 2024-03-28 20:09:23 · 478 阅读 · 0 评论 -
HashMap的添加操作底层详解
首先会调用 key1 所在类的 hashCode()方法,计算 key1 的哈希值 1, 此哈希值 1 再经过某种运算(hash()),得到哈希值 2。位置 2、位置 3:(key1,value1) 与现有的元素以链表的方式存储在 table 数组索引 i 的位置,新添加的元素指向旧添加的元素。(2.1) 如果哈希值不同,则(key1,value1)直接添加成功 ------位置 2。(1)如果数组索引为 i 上的数据为空,则(key1,value1)直接添加成功 ------位置 1。原创 2024-03-26 21:05:17 · 1130 阅读 · 0 评论 -
泛型和通配符
当我们在类或接口中定义某个成员时,该成员的相关类型是不确定的,而这个类型需要在使用这个类或接口时才可以确定,那么我们可以使用泛型类、泛型接口。① 我们在声明完自定义泛型类以后,可以在类的内部(比如:属性、方法、构造器中)使用类的泛型。② 我们在创建自定义泛型类的对象时,可以指明泛型参数类型。一旦指明,内部凡是使用类的泛型参数的位置,都具体化为指定的类的泛型类型。原创 2024-03-24 20:22:12 · 1065 阅读 · 1 评论 -
Collections工具类
排序操作:reverse(List):反转List 中元素的顺序 shuffle(List):对 List 集合元素进行随机排序 sort(List):根据元素的自然顺序对指定 List 集合元素按升序排序 sort(List,Comparator):根据指定的 Comparator 产生的顺序对 List 集合元素进行排序 swap(List,int, int):将指定 List 集合中的 i 处元素和 j 处元素进行交换查找:Object max(Collection):根据元素的自原创 2024-03-21 21:38:02 · 330 阅读 · 1 评论 -
Java排序Comparable和Comparator
【代码】Java排序Comparable和Comparator。原创 2024-03-19 20:48:01 · 144 阅读 · 1 评论 -
Java日期相关API的基本使用
【代码】Java日期相关API的基本使用。原创 2024-03-19 19:57:13 · 135 阅读 · 1 评论 -
多线程
而在多核 CPU 系统中,则这些可以并发执行的程序便可以分配到多个CPU上,实现多任务并行执行,即利用每个处理器来处理一个可以并发执行的程序,这样多个程序便可以同时执行。目前电脑市场上说的多核 CPU,便是多核处理器,核越多,并行处理的程序越多,能大大的提高电脑运行的效率。在操作系统中,启动了多个程序,并发指的是在一段时间内宏观上有多个程序同时运行,这在单核 CPU 系统中,每一时刻只能有一个程序执行,即微观上这些程序是分时的交替运行,只不过是给人的感觉是同时运行,那是因为分时交替运行的时间是非常短的。原创 2024-03-15 19:52:05 · 1083 阅读 · 1 评论 -
Annotation注解
未来的开发模式都是基于注解的,JPA是基于注解的,Spring2.5以上都是基于注解的,Hibernate3.x以后也是基于注解的,Struts2有一部分也是基于注解的了。在JavaSE中,注解的使用目的比较简单,例如标记过时的功能,忽略警告等,在JavaEE/Android中注解占据了更重要的角色,例如用来配置应用程序的任何切面,代替JavaEE旧版中所遗留的繁冗代码和XML配置等。Annotation可以像修饰符一样被使用,可用于修饰包、类、构造器、方法、成员变量、参数、局部变量的声明。原创 2024-03-13 19:10:59 · 418 阅读 · 0 评论 -
枚举类
【代码】枚举类。原创 2024-03-12 21:41:31 · 414 阅读 · 1 评论 -
Interface接口
属性:必须使用public static final修饰方法:jdk8之前:声明抽象方法,修饰为public abstractjdk8:声明静态方法、默认方法jdk9:声明私有方法。原创 2024-03-12 20:29:30 · 348 阅读 · 1 评论 -
抽象类和抽象方法
包含抽象方法的类必须是抽象类。原创 2024-03-12 16:49:56 · 346 阅读 · 1 评论 -
单例设计模式
如果我们要让类在一个虚拟机中只能产生一个对象,我们首先必须将类的构造器的访问权限设置为private,这样,就不能用new操作符在类的外部产生类的对象了,但在类内部仍可以产生该类的对象。因为在类的外部开始还无法得到类的对象,只能调用该类的某个静态方法以返回类内部创建的对象,静态方法只能访问类中的静态成员变量,所以,指向类内部产生的该类对象的变量也必须定义成静态的。采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。原创 2024-03-11 19:42:31 · 431 阅读 · 0 评论 -
面向对象特征:封装、继承、多态
内聚:一个模块内各个元素彼此结合的紧密程度,意味着重用和独立;耦合:一个软件结构内不同模块之间互连程度的度量,意味着牵一发而动全身。原创 2024-03-09 21:17:50 · 959 阅读 · 0 评论 -
JavaBean
好比你做了一个扳手,这个扳手会在很多地方被拿去用。这个扳手也提供多种功能(你可以拿这个扳手扳锤、撬等等),而这个扳手就是一个组件。有属性,且有对应的get、 set方法。有一个无参的公共的构造器。原创 2024-03-09 18:56:44 · 338 阅读 · 0 评论 -
不同包下同名类的使用
对于同名类使用全类名的方式。原创 2024-03-09 17:11:27 · 487 阅读 · 0 评论 -
println在打印数组时的方法重载
输出结果:char[]的输出打印了数组内容,而其他输出打印地址值。在打印char[]和其它数组时调用了不同的函数。原创 2024-03-08 22:48:55 · 334 阅读 · 1 评论 -
面向过程和面向对象
面向过程:关注的焦点是过程:过程就是操作数据的步骤。如果某个过程的实现代码重复出现,那么就可以把这个过程抽取为一个函数 如C语言 代码结构以函数为组织单位 是一种“执行者思维”,适合解决简单问题。扩展能力差、后期维护难度较大面向对象:关注的焦点是类:参照现实中事物,将事物的属性特征、行为特征抽象出来,用类来表示 如Java,C#,C++,Python 代码结构以类为组织单位,每种事物都具备自己的属性和行为(或功能) 是一种“设计者思维”,适合解决复杂问题。代码扩展性强、可维护性高原创 2024-03-08 20:54:55 · 354 阅读 · 1 评论 -
排序
【代码】排序。原创 2024-03-07 16:29:02 · 362 阅读 · 0 评论 -
二分查找
【代码】二分查找。原创 2024-03-07 16:24:23 · 339 阅读 · 0 评论 -
访问控制修饰符
在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。: 在同一类内可见。使用对象:变量、方法。: 对所有类可见。使用对象:类、接口、变量、方法: 对同一包内的类和所有子类可见。使用对象:变量、方法。。:被声明为 protected 的变量、方法和构造器能被同一个包中的任何其他类访问;:那么在子类中,子类实例可以访问其从基类继承而来的 protected 方法,而不能访问基类实例的protected方法。原创 2024-03-05 22:16:30 · 394 阅读 · 0 评论 -
java基础
内存泄漏:垃圾没有及时清理。原创 2024-03-04 21:50:35 · 337 阅读 · 0 评论