![](https://img-blog.csdnimg.cn/20190918140053667.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java知识点
文章平均质量分 78
一些小知识点
soberw-
这个作者很懒,什么都没留下…
展开
-
浅谈java代理模式
讲解java代理模式文章目录讲解java代理模式何谓代理模式静态代理动态代理JDK动态代理CGLIB动态代理何谓代理模式代理模式,即Proxy Pattern,23种java常用设计模式之一。代理模式提供了对目标对象额外的访问方式,即通过代理对象访问目标对象,这样可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。代理模式的主要作用是为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作原创 2022-02-13 20:36:28 · 480 阅读 · 1 评论 -
简单模拟Java中反射的应用场景
有人说Java是一门静态语言。那么何为静态语言,动态语言又是什么?1、动态语言是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以 被引进,已有的函数可以被删除或是其他结构上的变化。通俗点说就是在运 行时代码可以根据某些条件改变自身结构。 主要动态语言:Object-C、C#、JavaScript、PHP、Python、Erlang。2、静态语言与动态语言相对应的,运行时结构不可变的语言就是静态语言。如C、 C++。Java不是动态语言,但也不能简单的说成静态语言。Java可原创 2021-12-31 13:09:18 · 888 阅读 · 0 评论 -
浅谈Java之反射
反射四种获取Class实例的方法定义测试结构获取属性结构获取方法结构获取构造器结构(包括父类泛型)获取实现的接口获取所在包获取注解获取并创建指定构造器获取指定属性获取并运行指定方法四种获取Class实例的方法调用运行时类的属性通过运行时类的对象,调用getClass()调用Class静态方法:forName(String classPath) 开发中最常用使用类的加载器:ClassLoader (了解就行)package day_12_29;import org.junit.Te原创 2021-12-30 20:50:35 · 475 阅读 · 1 评论 -
Java多线程之读写锁机制
Java多线程中有很多的锁机制,他们都有各自的应用场景,例如今天我说的这种锁机制:读写锁读写锁,见名知意,主要可以进行两种操作,读和写操作,他们之间结合使用起来又是各不相同的。比如多个线程之间可以同时读,但不可以同时写,也不可以一边读一边写,有点类似于数据库中的共享锁以及排它锁,下面我具体事例演示:需要注意的是,不管是进行读操作还是写操作,一定要成对去调用方法,就是开启锁后一定要关闭,且为了保险起见,关闭最好要写在finally语句块中去。另外,我们在声明对象时,有两种方式(有参数和无参数),若为t原创 2021-12-27 20:17:35 · 370 阅读 · 0 评论 -
浅谈Java之属性赋值的先后顺序
Java一个类可以包含有:属性(成员变量),构造器, 方法(或者叫函数), 代码块(程序段),内部类。那么结合这些,我们就有了对属性可赋值的位置:> 1):默认初始化> 2):显示初始化> 3):构造器中赋值> 4):代码块中赋值> 5):有了对象之后,通过“对象.属性“或者“对象.方法”赋值原创 2021-12-02 11:19:09 · 1236 阅读 · 2 评论 -
浅谈Java面向对象之抽象类(abstract)
java语言,声明类时格式为: `abstract` class Db{} 说明Db类为抽象类。抽象方法是说没有方法的实现(方法体)此方法为抽象方法,只有抽象类和接口中才可以有抽象方法。简而言之,含有抽象方法的类一定是抽象类;关键字是`abstract`原创 2021-12-01 18:42:39 · 1361 阅读 · 0 评论 -
详解Java12新增语法switch表达式
在Java 12中,Java新引入了switch表达式**Switch Expressions**,我们都知道,switch 语句如果漏写一个 break,那么逻辑往往就跑偏了,这种方式既繁琐,又容易出错。那么Switch Expressions为我们提供勾勒出了Java 语法进化的一个趋势,将开发者从复杂繁琐的低层次抽象中逐渐解放出来,以更高层次更优雅的抽象,既降低代码量,又避免意外编程错误的出现,进而提高代码质量和开发效率。原创 2021-11-25 11:41:37 · 1083 阅读 · 1 评论 -
浅谈Java中重写与重载的区别
重载和重写是Java中两个截然不同的概念。但是却因为名字相近导致很多人经常混淆。在Java中,**重载(overloading)** 发生在**本类**。方法名相同,参数列表不同,与返回值无关,只和方法名、参数列表、参数的类型有关。**重写(overriding)** 发生在**父类子类**之间,一般都是表示子类和父类之间的关系,其主要的特征是:方法名相同,参数相同,但是具体的实现不同。原创 2021-11-30 18:44:00 · 122 阅读 · 0 评论 -
浅谈Java正则表达式
正则表达式我们都知道,它定义了字符串的模式,可以用来搜索、编辑或处理文本。我们在某些特定场景中用起来是非常方便的。它等于是给我们划定了一个范围,让我们可以精准的匹配到我们想要的结果。比如我想判断一个几十页的文件中是不是含有邮箱地址,如果用传统的方法,我还要从头到尾遍历筛选一遍,工作量很大,但有了正则我们就可以划定模式去判断,非常之方便。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。下面我就正则表达式在Java中的应用来举例说明其基本用法。浅谈正则表达式1.正则表达式可以用来干什么2.如何使原创 2021-12-08 13:18:10 · 440 阅读 · 0 评论 -
浅谈Java中linkedlist和arraylist区别
在Java中,关于集合框架有这样一个体系结构:其主要由两个接口派生而出:Collection和Map,然后再衍生出各自的一些实现类(比如Collection接口又被继承与Set和List接口,而他们各自又实现了具体的类)。今天我就简要分析一下,实现List的两个类(ArrayList和LinkedList),他们的区别是什么,我们在使用过程中有哪些注意事项。区别首先最显要的区别就是,他们的底层结构完全不同,ArrayList底层实现是数组,LinkedList底层实现是链表。这也就导致了他们在对数原创 2021-12-10 09:01:55 · 564 阅读 · 0 评论 -
了解Java格式化输出printf,一篇就够了
在JavaSe5中,推出了C语言中printf()风格的格式化输出。这不仅使得控制输出的代码更加简单,同时也给与Java开发者对于输出格式与排列更大的控制能力。原创 2021-11-23 16:42:19 · 1096 阅读 · 1 评论