![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
文章平均质量分 68
开源项目
DO your like
冇七年
展开
-
复杂的maven项目构建思路和方案
项目的pom还有其它引入方式,此处引入的是实际开发中用到的一种比较合理和易读的方式。也有些方式不会把module的依赖引到project.pom,此时如果module1依赖module2,则要在module1.pom中引入module2的依赖时加上version。sub_module3.pom文件。project.pom文件。module4.pom文件。原创 2024-07-05 18:36:38 · 336 阅读 · 0 评论 -
Git使用
Git的创始人是Linus Torvalds,当时创建Git的原因是因为要管理庞大的linux内核源码(刚开始使用BitKeeper,由于某种原因最后不能被免费使用了)所以决定开发一套自己的版本控制系统,Linus Torvalds仅仅花了两周时间就完成了Git的第一版,Linuxs对Git的要求是原创 2020-02-03 23:26:55 · 180 阅读 · 0 评论 -
String类为何final修饰
展开全部主要是为了“效率” 和 “安全性” 的缘故。若 String允许被继承, 由于它的高度被使用率, 会降低性能,所以String被final修饰。带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String。为String类指定final防止了人们覆盖length()方法。另外,如果指定一个类为final,则该类所有的方法都是final。Java编译器会寻找机会内联(inline)所有的final方法(这和具体的...转载 2022-05-27 03:43:53 · 424 阅读 · 0 评论 -
StringUtil
StringUtils 方法的操作对象是 Java.lang.String 类型的对象,是 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 null 则不会抛出 NullPointerException ,而是做了相应处理,例如,如果输入为 null 则返回也是 null 等,具体可以查看源代码)。除了构造器,StringUtils 中一共有130多个方法,并且都是 static 的,所以我们可以这样调用 StringUtils.xxx()转载 2022-05-13 21:35:06 · 800 阅读 · 0 评论 -
ThreadLocal
ThreadLocal对于每一位Java读者而言我想可能都不陌生,因为面试基本都会被问到。ThreadLocalJDK1.2的版本中就提供java.lang.ThreadLocal类,每一个ThreadLocal能够放一个线程级别的变量, 它本身能够被多个线程共享使用,并且又能够达到线程安全的目的,且绝对线程安全。ThreadLocal包含了四个方法:void set(Object value)设置当前线程的线程局部变量的值。public Object get()该方法返回当前线.转载 2022-05-07 11:40:32 · 319 阅读 · 0 评论 -
面向对象设计模式
开闭原则定义Software entities like classes,modules and functions should be open for extension but closed for modifications 一个软件实体, 如类, 模块, 函数等应该对扩展开放, 对修改封闭.这也是开放封闭原则的核心思想:对扩展开放,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况。 对修改封闭,意味着类一旦设计完成,就可以独立完成其工作,而不要对已有代码进行任原创 2022-05-06 17:23:13 · 116 阅读 · 0 评论 -
Nacos程序连接MySQL8.0+ NullPointerException
1、报错问题:Nacos改用MySQL存储后,启动Nacos服务出现报错com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.Nat...原创 2022-04-22 01:20:41 · 630 阅读 · 0 评论 -
Filter、FilterChain、FilterConfig 介绍
一、Filter 的基本工作原理1、Filter 程序是一个实现了特殊接口的 Java 类,与 Servlet 类似,也是由 Servlet 容器进行调用和执行的。 2、当在 web.xml 注册了一个 Filter 来对某个 Servlet 程序进行拦截处理时,它可以决定是否将请求继续传递给 Servlet 程序,以及对请求和响应消息是否进行修改。 3、当 Servlet 容器开始调用某个 Servlet 程序时,如果发现已经注册了一个 Filter 程序来对该 Servlet 进行拦截,那么容器转载 2022-03-20 13:51:10 · 523 阅读 · 0 评论 -
反射机制——字节码管理器
一、啥是反射机制Java反射机制在运行状态中,对于任意一个类,都能够拿到这个类的所有属性和方法,对于任意一个对象,都能够动态调用他们的任意属性和方法,这种动态获取类信息和动态调用对象的资源功能就是反射机制。二、在JDK中,主要由下面类来实现JAVA的反射机制,这些类位于java.lang.reflect包中—— Class 类:代表一个类,这是最根本类—— Field 类:代表类的成员变量—— Method 类:代表类的成员方法—— Constructor 类:代表类的构..原创 2021-12-06 09:23:13 · 100 阅读 · 0 评论 -
jdbc
https://blog.csdn.net/qq_43674132/article/details/95171884?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161792137616780261948152%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=161792137616780261948152&biz_id=0&原创 2021-04-09 21:20:10 · 64 阅读 · 0 评论 -
JSP原理图
JSP经过Tomcat编译后,生成 *_jsp.java和*_jsp.class文件,放在Tomcat的work\Catalina\localhost\目录下主要包括三种方法:init():初始化JSP/Servlet的方法 service():对用户请求生成响应的方法。 destroy():销毁JSP/Servlet之前的方法 JSP文件经过编译后的继承HttpJspB...原创 2020-02-24 11:37:07 · 1034 阅读 · 0 评论 -
Java_IO流
按读写:Reader 和 Writer按输入输出:InputStream 和 OutputStream按类别:节点流 和 处理流(比如缓冲流)其实IO流的学习让我头疼的是对编码集的不了解,通过不断测试算是有了些结论,以下是一些个人理解:Java的io流很有意思,首先我们要知道java.exe会自动识别Java文件的编码格式,Java文件被编译后会以Unicode格式编码为class文件 Javac.exe执行,JVM 对 class 文件做解密,并通过执行引擎执行该代码 很多人可能会纳闷原创 2020-07-31 14:21:34 · 124 阅读 · 0 评论 -
分布式系统唯一id生成的几种方式
转载地址:https://www.cnblogs.com/haoxinyue/p/5208136.html分布式系统唯一ID生成方案汇总系统唯一ID是我们在设计一个系统的时候常常会遇见的问题,也常常为这个问题而纠结。生成ID的方法有很多,适应不同的场景、需求以及性能要求。所以有些比较复杂的系统会有多个ID生成的策略。下面就介绍一些常见的ID生成策略。1. 数据库自增长序列或字段最常见的方式。利用数据库,全数据库唯一。优点:1)简单,代码方便,性能可以接受。2)数字ID天然排序,对转载 2020-07-23 21:51:51 · 183 阅读 · 0 评论 -
JDK1.7中的LinkedList
14原文12原文https://juejin.im/post/5bb3026b5188255c393f7cf2https://cloud.tencent.com/developer/article/1336307最近在看jdk1.7的时候,发现LinkedList 和1.6中的变化。首先,简单介绍一下LinkedList:LinkedList是List接口的双向链表实现。由于是链表结构,所以长度没有限制;而且添加/删除元素的时候,只需要改变指针的指向(把链表断开,插入/删除元素,再把链表连起来)即转载 2020-07-19 20:36:12 · 232 阅读 · 0 评论 -
集合(泛型、主要实现对实例的 增、删、改、查、插、长度、遍历)
在项目中主要使用 List 和 Map 集合1.1、Collection接口常用方法: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 add(Object obj), addAll(Collection coll), size(), isEmpty(), clear();原创 2020-07-18 18:42:49 · 402 阅读 · 0 评论 -
原型模式
java深克隆和浅克隆基本概念浅复制(浅克隆)被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所拷贝的对象,而不复制它所引用的对象。其实说白了就是对象 A复制了对象 B 以后,新对象的内存会为其基本数据成员分配空间重新创建,而引用类型成员则仍然是指向 A 对象的引用成员变量。这就是说如果你通过set方法修改了 A 对象的引用成员的内部属性值,那么 B 对象调用该引用成员时,会实时同步为刚才修改的内部属性值深复制(.转载 2020-07-18 18:37:54 · 105 阅读 · 0 评论 -
字符引用
Java类从加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括,加载,验证,准备,解析,初始化,卸载,总共七个阶段。其中验证,准备,解析统称为连接。而在解析阶段会有一个步将常量池当中二进制数据当中的符号引用转化为直接引用的过程。符号引用:符号引用以一组符号来描述所引用的目标。符号引用可以是任何形式的字面量,只要使用时能无歧义地定位到目标即可,符号引用和虚拟机的布局无关。个人理解为:在编译的时候一个每个java类都会被编译成一个class文件,但在编译...转载 2020-07-11 12:47:25 · 482 阅读 · 0 评论 -
正则表达式
regular expression可以帮助开发者实施很快的字符串操作,常见的操作比如像匹配、切割、替换和获取尽管不像python那样具有优秀的reptile潜力,但是个人认为搞起来还是很不错的,个人推荐项目https://github.com/xiepuhuan/reptile.git1、匹配:比如String str = "15225723153",我们需要判断该字...原创 2020-04-05 10:34:40 · 156 阅读 · 0 评论 -
Socket通信Demo
Java提供了非常强大的网络功能,借助网络类库可以实现网络底层的通信。TCP/IP网络中常用的传输协议是TCP与UDP,传输层通过协议控制端点到端点的通信,其中每一个端点便是由socket定义。socket可分为无连接的数据报socket和面向连接的流模式socket,分别对应与UDP和TCP服务。无连接的数据报socket对应的是UDP传输协议,它不提供可靠性,在传送数据报之前不需要与接...原创 2020-02-03 23:49:21 · 229 阅读 · 0 评论 -
类加载机制
在介绍双亲委派机制的时候,不得不提ClassLoader。说ClassLoader之前,我们得先了解下Java的基本知识。 Java是运行在Java的虚拟机(JVM)中的,但是它是怎么就运行在JVM中了呢?我们在IDE中编写的Java源代码被编译器编译成.class的字节码文件。然后由我们得ClassLoader负责将这些class问价加载到JVM中去执行。 JVM中提供了三层的C...原创 2020-02-03 23:03:51 · 122 阅读 · 0 评论 -
java基本分區
1. 寄存器(register)。这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。2. 堆栈(stack)。位于通用RAM中,但通过它的“堆栈指针”可以从处理器哪里获得支持。堆栈指针若向下移动,则分配新的内存;若向上移动,则释放那些内存。这是一种快速有效的分...转载 2019-03-06 12:52:41 · 93 阅读 · 0 评论 -
泛型的具体应用
通过定义一个普通类和一个泛型类进行对比:(1)普通类:class Bag{private Object data;public void add(Object obj){data=obj;}public Object get(){return data;}}(2) 泛型类:class Bag<T>{private T data;p...原创 2019-01-13 21:50:49 · 168 阅读 · 1 评论 -
泛型
泛型出于JDK1.5版本,c++的泛型技术个人感觉比Java要好。举个例子:import Java.util.*;public classNoGenericTest{public static void main(String[] args){ArrayList al=new ArrayList();list.add("List");list.add("哈啊哈");...原创 2019-01-13 21:15:03 · 96 阅读 · 0 评论 -
匿名类的特点和使用条件
匿名类是快速创建的内部类,只可以被使用一次,其本身也不可以被重复使用 匿名类是依靠外包类的构造器和堆内存存活,依赖性高于其他内部类 匿名类的创建前提:继承了父类和重写了方法 或者 实现了接口和重写了方法 匿名类没有构造器和静态成员...原创 2019-01-13 20:52:44 · 2169 阅读 · 0 评论 -
匿名类的特点和使用条件
匿名类是一个木有类名的快捷内部类,适合创建仅需要使用一次的类 匿名类不可以重复使用 创建匿名类前提:需要继承父类和重写方法或者实现接口和重写方法 创建的匿名类没有构造方法和静态成员...原创 2020-04-03 10:37:25 · 478 阅读 · 0 评论 -
内部类的特点和使用
1. 内部类的特点:(1)内部类与其他成员并行,可以互相访问 (2)外包类和内部类不同名,内部类的作用域仅在声明它的类和方法体中,如果内部类要在外部引用则必须用:外部类类名 .内部类类名 内部对象引用名=外部类对象名.new 内部类构造名();或外部类类名.内部类类名 内部对象引用名=new 外部类构造名.内部类构造名(); (3)支持四种基本权限 (4)如果加上sta...原创 2019-01-13 20:35:14 · 1350 阅读 · 1 评论 -
内部类
一、内部类定义 内部类(nested classes),面向对象程序设计中,可以在一个类的内部定义另一个类。嵌套类分为两种,即静态嵌套类和非静态嵌套类。静态嵌套类使用很少,最重要的是非静态嵌套类,也即是被称作为内部类(inner)。内部类是JAVA语言的主要附加部分。内部类几乎可以处于一个类内部任何位置,可以与实例变量处于同一级,或处于方法之内,甚至是一个表达式的一部分。 ...原创 2019-01-13 20:08:52 · 209 阅读 · 0 评论 -
内部类的继承
内部类可以是abstract和final类型,也可以是接口。类可由其他内部类继承,接口则可由其他的内部类实现。此处讲述内部类继承,内部类继承通常有三种:一、同一外包类中的内部类之间的继承如:A.Innerclass_child 继承 A.Innerclass_parenteg:class outer{ class inner_1{ public inner(S...原创 2019-01-13 18:58:13 · 1139 阅读 · 5 评论 -
equals方法
个人是初学者,对Object认识尚微,不过对其几个重要的方法还是有一定的初步了解的1、使用:equals()方法在任何类中都可使用,其功能是比较两个同类型对象的地址是否相同。例如: class Person {private int age;public Person(int age){this.age=age;}}public class Equals{public static void...原创 2018-05-27 06:58:45 · 822 阅读 · 0 评论 -
instanceof 关键词
java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。用法: result = object instanceof class 参数: Result:布尔类型。 Object:必选项。任意对象表达式。 Class:必选项。任意已定义的对象类。 说明: ...原创 2018-05-27 10:07:45 · 143 阅读 · 0 评论