随笔分类 - Java基础
发表于 2022-10-08 13:43阅读:1407评论:1推荐:0
摘要:介绍 Apache commons-pool本质上是"对象池",即通过一定的规则来维护对象集合的容器;commos-pool在很多场景中,用来实现连接池和任务worker池等,大家常用的dbcp数据库连接池,也是基于commons-pool实现. commons-pool实现思想非常简单,它主要的作
阅读全文 »
发表于 2022-06-07 18:17阅读:8896评论:6推荐:7
摘要:使用线程池 线程池的基本概念 线程池,本质上是一种对象池,用于管理线程资源。 在任务执行前,需要从线程池中拿出线程来执行。 在任务执行完成之后,需要把线程放回线程池。 通过线程的这种反复利用机制,可以有效地避免直接创建线程所带来的坏处。 线程池的优缺点 优点 降低资源的消耗。线程本身是一种资源,创建
阅读全文 »
发表于 2022-06-06 17:26阅读:77评论:0推荐:1
摘要:ForEach forEach 和Map 通常的方式循环map Map<String, Integer> items = new HashMap<>(); items.put("A", 10); items.put("B", 20); items.put("C", 30); items.put("D
阅读全文 »
发表于 2022-04-16 10:15阅读:164评论:0推荐:0
摘要:转自:https://github.com/ZhongFuCheng3y/athena 一、fastjson入门 以下内容来源:https://github.com/alibaba/fastjson/wiki/Quick-Start-CN 它可以解析JSON格式的字符串,支持将Java Bean序列
阅读全文 »
发表于 2022-03-23 09:43阅读:165评论:0推荐:0
摘要:概述 LinkedBlockingQueue内部由**单链表实现,只能从head取元素,从tail添加元素。添加元素和获取元素都有独立的锁,也就是说LinkedBlockingQueue是读写分离的,读写操作可以并行执行。LinkedBlockingQueue采用可重入锁ReentrantLock*
阅读全文 »
发表于 2022-02-12 12:30阅读:122评论:0推荐:0
摘要:Java反射机制概述 Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。 加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象
阅读全文 »
发表于 2022-01-30 21:10阅读:70评论:0推荐:0
摘要:网络通信要素概述 通信双方地址 IP 端口号 一定的规则(即:网络通信协议。有两套参考模型) OSI参考模型:模型过于理想化,未能在因特网上进行广泛推广 TCP/IP参考模型(或TCP/IP协议):事实上的国际标准。 通信要素1:IP和端口号 IP的理解与InetAddress类的实例化 IP 地址
阅读全文 »
发表于 2022-01-29 11:34阅读:68评论:0推荐:0
摘要:File类的使用 File类的实例化 java.io.File类:文件和文件目录路径的抽象表示形式,与平台无关 File 能新建、删除、重命名文件和目录,但File 不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。 想要在Java程序中表示一个真实存在的文件或目录,那么必须有
阅读全文 »
发表于 2022-01-28 21:30阅读:84评论:0推荐:0
摘要:为什么要有泛型 泛型的设计背景 集合容器类在设计阶段/声明阶段不能确定这个容器到底实际存的是什么类型的对象,所以在JDK1.5之前只能把元素类型设计为Object,JDK1.5之后使用泛型来解决。因为这个时候除了元素的类型不确定,其他的部分是确定的,例如关于这个元素如何保存,如何管理等是确定的,因此
阅读全文 »
发表于 2022-01-23 11:58阅读:68评论:0推荐:0
摘要:集合框架概述 集合框架与数组的对比及概述 一方面,面向对象语言对事情的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储。另一方面,使用Array存储对象方面具有一些弊端,而Java集合就像一种容器,可以动态地把多个对象地引用放入容器中。 集合、数组都是对多个数据进行存储操作的结构,
阅读全文 »
发表于 2022-01-22 16:44阅读:52评论:0推荐:0
摘要:理解Annotation 从JDK5.0开始,Java增加了对元数据(MetaData)的支持,也就是Annotatio(注解) Annotation其实就是代码里的特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行相应的处理。通过使用Annotation,程序员可以在不改变原有逻辑的情况下
阅读全文 »
发表于 2022-01-16 18:57阅读:71评论:0推荐:0
摘要:枚举类的使用:入门 枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类 当需要定义一组常量时,强烈建议使用枚举类 如果枚举类中只有一个对象,则可以作为单例模式的实现方式 比如:星期、季节等 定义枚举类 自定义枚举类 public class SeasonTest { public stat
阅读全文 »
发表于 2022-01-03 16:06阅读:59评论:0推荐:0
摘要:字符串相关的类 String String:字符串,使用一对""引起来表示 String声明为final的,不可被继承 String实现了 Serializable接口:表示字符串是支持序列化的 Comparable接口:表示String可以比较大小 String内部定义了final char[]
阅读全文 »
发表于 2022-01-01 14:52阅读:62评论:0推荐:0
摘要:基础概念:程序、进程、线程 程序 program 是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象 进程 process 是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程——生命周期 程序是静态的,进程是动态的 进程作为资
阅读全文 »
发表于 2021-12-26 14:59阅读:125评论:0推荐:0
摘要:异常处理 异常概述 异常 在Java语言中,将程序执行中发生的不正常情况称为 "异常"。(开发过程中的预发错误和逻辑错误不是异常) 异常事件可分为两类: Error:java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源耗尽等严重情况。比如:StackOverflowError 和 OOM(
阅读全文 »
发表于 2021-10-23 20:31阅读:50评论:0推荐:0
摘要:static关键字 当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过new关键字才会产生出对象,这时系统才会分配内存空间给对象,其方法才可以供外部调用。我们有时候希望无论是否产生了对象或无论产生了多少对象的情况下,某些特定的数据在内存空间里只有一份 1、sta
阅读全文 »
发表于 2021-10-04 23:51阅读:74评论:0推荐:0
摘要:面向对象特征之二:继承性 为描述和处理个人信息,定义类Person import java.util.Date; class Person { public String name; public int age; public Date birthDate; public String getIn
阅读全文 »
发表于 2021-06-05 16:01阅读:139评论:0推荐:0
摘要:类和对象 类(Class)和对象(Object)是面向对象的核心概念。 类是对一类事物的描述,是抽象的、概念上的定义 对象是实际存在的该类事物的每个个体,因而也称为实例(instance) java类及类的成员 属性(field):对应类中的成员变量 (也叫成员变量、域、字段) 方法(method)
阅读全文 »
发表于 2021-05-31 00:35阅读:219评论:0推荐:0
摘要:数组的概述 数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。 数组的常见概念 数组名 下标(或索引) 元素 数组的长度 数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型。 创建数组对象会在
阅读全文 »