![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
wocan23
编程爱好者
展开
-
ip校验是否符合范围
自己实现的符合ip范围的方法1.支持直接匹配2.支持ip段如,192.168.1-4.23 或者 192.168.1.1-503.支持\*如 192.168.1.* /** * 校验ip是否符合规则,一个符合规则为符合 * @param rules * @param ip * @return */ public static boolean checkIpByRules(String[] rules, String ip){原创 2020-11-12 14:11:37 · 1055 阅读 · 4 评论 -
java看门狗程序实现
看门狗用于监听某个线程,当某个线程结束后,该监听程序也随之结束该程序改进后可以再redis分布式锁超时续约时使用,防止锁时间固定时候不正当解锁时使用,看门狗负责续约,主程序结束不续约,则能保证锁时间不再无限续约看门狗:package com.test;import java.lang.ref.WeakReference;import java.util.Enumeration;import java.util.concurrent.ConcurrentHashMap;/** *原创 2020-11-12 14:04:11 · 2917 阅读 · 2 评论 -
源码解析公平锁和非公平锁区别
ReentrantLock锁lock时```public void lock() { sync.lock(); } final void lock() { acquire(1);} /** * Acquires in exclusive mode, ignoring interrupts. Implemented *...原创 2020-01-14 16:57:33 · 353 阅读 · 0 评论 -
Unsafe类Unsafe_CompareAndSwapInt解析
对应的cpp代码为UNSAFE_ENTRY(jboolean, Unsafe_CompareAndSwapInt(JNIEnv *env, jobject unsafe, jobject obj, jlong offset, jint e, jint x)) UnsafeWrapper("Unsafe_CompareAndSwapInt"); oop p = JNIHandles::...原创 2020-01-10 11:01:27 · 1107 阅读 · 0 评论 -
Hashmap源码解析(jdk1.8)
关于容量的计算 static final int tableSizeFor(int cap) { int n = cap - 1; // cap = 38, n = 37 : 100101 最终得出 应该是 111111 n |= n >>> 1; // 100101 | 010010 = 110111 移动一位发现把...原创 2020-01-10 10:19:51 · 148 阅读 · 0 评论 -
java值传递(参数为对象)分析
java代码package com.test;public class User { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; ...原创 2019-06-15 12:11:32 · 253 阅读 · 0 评论