
Java
孤海岛主
这个作者很懒,什么都没留下…
展开
-
JVM DNS缓存修改
第三方域名对应IP不定期发生变化时,需要将dns缓存时间设置为0,即不对域名进行缓存,每次都进行域名解析原创 2023-01-04 14:38:24 · 953 阅读 · 0 评论 -
为指定任务分配线程数量执行
为制定任务分配线程数量提交线程池进行执行任务原创 2022-11-21 10:28:07 · 558 阅读 · 0 评论 -
maven 401 Unauthorized
1.检查本地maven配置文件中是否配置了服务器的认证信息maven-conf-settings.xml<servers> <server> <id>releases</id> <username>xxxx</username> <password>xxxxxx</password> </server> <server>原创 2021-12-28 17:53:07 · 9519 阅读 · 0 评论 -
替换文本中${xxxx}类型的变量
public static void main(String[] args) { /** * 原文本:${name},你最近常看的主播${actor}悄悄关注了你,并申请加你为好友 * 目标文本:%s,你最近常看的主播%s悄悄关注了你,并申请加你为好友 */ String message = "${name},你最近常看的主播${actor}悄悄关注了你,并申请加你为好友"; String res...原创 2021-12-23 14:54:08 · 403 阅读 · 0 评论 -
mybatis-plus 数组包含查询(postgreSql)
使用场景:商品标签筛选:商品标签字段为标签id用逗号分隔的字符串,前端传入标签id逗号分隔的字符串与数据库字符串分隔成数组后进行包含比较。实例:数据库标签id集合为:1,2,3 前端传入1,2;1,3都可以被筛选出来,传入1,4则无法被筛选出来解决方案:queryWrapper.apply("string_to_array(tags,',') @> {0}::text[]", "{"+tagArrayStr+"}");tags:为数据库字段名 tagArrayS...原创 2021-03-16 15:41:03 · 3008 阅读 · 2 评论 -
两个线程交替打印1-100
package com.cm.example.handler;public class TestClass { private static final Object lock = new Object(); public static volatile boolean flag = false; public static void main(String[] args) { Thread t1 = new Thread(new Runnable() {原创 2020-11-25 19:40:40 · 193 阅读 · 0 评论 -
成员变量、局部变量
变量的分类成员变量:类变量、实例变量 局部变量非静态代码块的执行:每次创建实例对象都会执行方法的调用规则:调用一次执行一次局部变量与成员变量的区别声明的位置局部变量:方法体{}中,形参,代码块{}中成员变量:类中方法外类变量:有static修饰实例变量:没有static修饰修饰符局部变量:final成员变量:public、protected、private、final、static、volatile、transient值存储的位置局部变量:栈 (虚拟.原创 2020-10-28 11:24:56 · 175 阅读 · 0 评论 -
方法重写
哪些方法不可以被重写?final方法 静态方法 private等子类中不可见方法对象的多态性子类如果重写了父类的方法,通过子类对象调用的一定是子类重写过的代码 非静态方法默认的调用对象是this this对象在构造器或者说<init>方法中就是正在创建的对象...原创 2020-10-28 11:10:17 · 160 阅读 · 0 评论 -
实例初始化过程
实例初始化就是执行<init>()方法<init>()方法可能重载有多个,有几个构造器就有几个<init>方法 <init>()方法由非静态实例变量显示赋值代码和非静态代码块、对应构造器代码组成 非静态实例变量显示赋值代码和非静态代码块代码从上到下顺序执行,而对应构造器的代码最后执行 每次创建实例对象,调用对应构造器,执行的就是对应的<init>方法 <init>方法的首行是super()或super(实参列表),即对应父类原创 2020-10-28 11:07:35 · 232 阅读 · 0 评论 -
类的初始化过程
1、一个类要创建实例需要先加载并初始化该类 main方法所在的类需要先加载和初始化 2、一个子类要初始化需要先初始化其父类3、一个类的初始化就是执行<clinit>()方法 <clinit>()方法由静态类变量显示赋值代码和静态代码块组成 类变量显示赋值代码和静态代码块代码从上到下顺序执行 <clinit>()方法只执行一次 ...原创 2020-10-28 11:03:22 · 320 阅读 · 0 评论 -
Arrays.asList()无法增删的原因
通过Arrays.alist()的实现源码可以知道,Arrays.asList()方法的返回值并不是ArrayList这个对象,而是在Arrays类中和ArrayList同名的一个内部类,又因为这个内部类继承了AbstractList并且实现了List<T>这个接口,所以其整个过程相当于实对List这个接口对象的实例化,只不过内部类没有覆盖父类中的add和remove方法,并且内部类中是一个数组,所以asList()方法返回的是一个固定长度的List。@SafeVarargs@Su.原创 2020-09-09 18:33:32 · 486 阅读 · 0 评论 -
String数组转List对象集合
T user(name,age)List<String> data = ['zhangsan',22,'lisi',23]List<T>=List<User>/***List<String> data*Class<T> clazz**/private <T> List<T> stringArray2...原创 2019-03-23 15:10:38 · 13726 阅读 · 0 评论 -
JAVA的垃圾回收与.net中的GC,C++析构函数之间的异同点?
垃圾回收的缩写就是GC。无论java还是C#的GC都是相应的虚拟机用来释放无用内存的机制,不同之处在于他们用的虚拟机不同。C++的析构函数是程序员手动写的回收内存和善后处理的函数。其功能相当与java的GC(回收内存)和finallize(善后处理)方法加起来。转载 2017-11-27 09:51:15 · 820 阅读 · 0 评论