Java
Java知识分享小能手
选你所爱 爱你所选
这个作者很懒,什么都没留下…
展开
-
String的字符串拼接
在编译时,Java编译器会优化这种字符串常量的连接,实际上它会将这两个字符串合并为一个字符串常量"123234"。因此,a引用的是字符串池中的一个字符串。在Java中,字符串的处理特别是涉及到字符串常量和字符串变量的连接时,会涉及到字符串池(String Pool)和字符串对象的创建方式。这意味着会创建一个新的字符串对象来表示连接后的字符串,并且这个新对象不会被放入字符串池中(除非显式调用.intern()方法)。c是一个在运行时创建的新字符串对象,即使它的内容与a相同,它们在内存中是两个不同的对象。原创 2023-11-20 14:05:40 · 507 阅读 · 0 评论 -
在Java继承关系中变量访问规则
a.get():这里调用的是 AA 类的 get() 方法,因为 a 实际指向一个 AA 对象。由于 AA 类没有重写 get() 方法,所以它继承了父类 A 的 get() 方法,这个方法返回的是 A 类中的 x,值为 0。aa.get():这里调用的是 AAA 类的 get() 方法,因为 aa 实际指向一个 AAA 对象。aa.x:由于 aa 的静态类型是 AA,因此访问的是 AA 类中定义的 x,它的值是 1。a.x:由于 a 的静态类型是 A,因此访问的是 A 类中定义的 x,它的值是 0。原创 2023-11-10 11:15:05 · 74 阅读 · 0 评论 -
Cglib和JDK动态代理实现技术详解
在这个示例中,MyInvocationHandler实现了InvocationHandler接口,Main类创建了一个MyInterface的代理对象,当调用代理对象的doSomething方法时,实际会触发invoke方法,在其中添加了前后的逻辑。Spring AOP主要使用两种类型的代理:基于接口的代理(JDK动态代理)和基于类的代理(CGLIB动态代理)。总之,无论是JDK动态代理还是CGLIB动态代理,Spring都会自动创建代理对象并将切面逻辑织入目标对象的方法中,实现AOP功能。原创 2023-08-02 11:37:48 · 230 阅读 · 0 评论 -
Java为什么不存在引用传递
即传递的是引用的副本。这意味着在方法内部可以修改对象的属性,因为形式参数和实际参数引用的是同一个对象。但是无法通过方法内部改变实际参数引用的对象本身。这意味着在方法内部,形式参数和实际参数引用的是同一个对象,它们具有相同的引用值,指向相同的内存位置。在Java中,对象是通过引用来访问和操作的,而不是直接通过对象本身。当将对象作为参数传递给方法时,当对象作为参数传递时,原创 2023-06-23 19:03:13 · 473 阅读 · 0 评论 -
Java类的初始化
在Java中,类的初始化是自动发生的,无需显式编写代码来执行类的初始化。当满足特定条件时,Java运行时环境会自动触发类的初始化过程。因此,在通常情况下,开发者无需显式编写代码来执行类的初始化。Java运行时环境会在需要的时候自动执行类的初始化过程。原创 2023-06-23 17:11:08 · 730 阅读 · 0 评论 -
java Math.round(value) 四舍五入
十六进制 转 二进制 的 取一分四。二进制 转 八进制 的取三合一;好久不用记录一下,四舍五入算法。原创 2023-03-02 15:39:07 · 167 阅读 · 0 评论 -
蓝桥杯 特殊回文数
【代码】蓝桥杯 特殊回文数。原创 2023-03-01 20:51:29 · 69 阅读 · 0 评论 -
ES聚合后查询操作 version 7.9.3
【代码】ES聚合后查询操作 version 7.9.3。原创 2022-08-25 15:36:47 · 133 阅读 · 0 评论 -
Java中StreamAPI
StreamAPI是对内存中的数据进行操作sql语句是对数据库中的数据进行操作原创 2021-10-13 18:41:57 · 68 阅读 · 0 评论 -
为什么可以通过反射在父类中写调用子类中的方法的代码【此标题不严谨】
一、首先,看如下代码,刚看起来似乎是在父类中调用子类的show()方法,可是仔细想想并不是那么回事,在如下代码的Father类中的hit()方法中用到了反射机制,我们知道反射机制所体现的就是动态性,也就是说,结果只有在运行起来之后(动起来之后)才可以确定结果,代码如下:public class Father { public void hit(String name) throws Exception{ Method show = this.getClass().getDeclar原创 2021-08-27 17:36:01 · 249 阅读 · 0 评论 -
Java中抽象类abstract
原创 2021-08-26 12:01:23 · 87 阅读 · 0 评论 -
Java方法引用之---类名 :: 非静态方法
// 类 :: 实例方法Comparator中的 int comapre(T t1,T t2)String中的 int t1.compareTo(t2)技巧: compare(T t1,T t2)方法的第一个参数t1,作为调用compareTo(t2)方法的对象,Comparator com2 = String :: compareTo;System.out.println(com2.compare(“abd”,“abm”));// 情况三:类 :: 实例方法 (有难度) // Comp.原创 2021-08-10 16:04:00 · 527 阅读 · 0 评论 -
Java8-lambda表达式【函数式接口】
lambda表达式的使用package com.kh.jdk8910;import org.junit.Test;import java.util.Comparator;import java.util.function.Consumer;/** * @author wkh */public class LambdaTest1 { /* 1.举例: (o1,o2) -> Integer.compare(o1,o2); 2.格式: .原创 2021-08-09 18:00:27 · 108 阅读 · 0 评论 -
Java动态代理 vs 静态代理
package com.kh.daililei;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;/** * @author wkh * @create 2021-08-08 22:03 * * 动态代理: */interface Human{ String getBelief(); void eat(原创 2021-08-08 23:00:07 · 92 阅读 · 0 评论 -
java.lang.Class详解
链接: https://blog.csdn.net/mcryeasy/article/details/52344729.原创 2021-08-07 12:29:37 · 327 阅读 · 0 评论 -
JDBC使用PreparedStatement实现CRUD操作
JDBC数据库操作1.操作和访问数据库2.使用Statement操作数据表的弊端3.PreparedStatement的使用3.1 PreparedStatement介绍3.2 PreparedStatement vs Statement3.3 Java与SQL对应数据类型转换表3.4 使用PreparedStatement实现增、删、改操作3.5 使用PreparedStatement实现查询操作4 ResultSet与ResultSetMetaData4.1 ResultSet4.2 ResultSet转载 2021-08-06 13:46:23 · 296 阅读 · 0 评论 -
Java中的IO流操作时一定要注意的文件路径问题
在idea中:在@Test注释的方法中,文件的路径相对于java文件所在module;在main方法中,文件的路径相对于此module所在的project;原创 2021-08-04 15:53:13 · 269 阅读 · 0 评论 -
com.sun.org.apache.xpath.internal.operations.String真是害人 String的构造方法使用不了
当使用不了String类的各种构造方法时,这个时候就要注意了!我们要导的正常的包:java.lang.String但是由于手残不小心导入:com.sun.org.apache.xpath.internal.operations.String就会出现刚才的问题,并且让你干着急,也找不出问题在哪里!一定要看导入的包是哪个,只要是正确的就不会有什么问题!...原创 2021-08-03 20:53:47 · 328 阅读 · 1 评论 -
Java线程的创建和使用及比较--娃娃都理解了
首先纠正一个错误的理解:他的执行是一条线路方式一:多线程的创建:方式一:继承于Thread类1.创建一个继承于Thread的类的子类2.重写Thread类的run(); —>针对方法体,将此线程执行的操作声明在run中3.创建Thread类的子类的对象4.通过此对象调用start():① 启动当前线程② start()调用当前线程的run()方法例子:遍历100以内的所有偶数// 1.创建一个继承于Thread的类的子类class MyThread extends Thr原创 2021-08-02 19:29:51 · 82 阅读 · 0 评论