- 博客(21)
- 资源 (1)
- 收藏
- 关注
原创 一步步教你mybatis分页,mybatis分页拦截器 使用,mybatis拦截器分页
mybatis 分页详解、mybatis分页查询,mybatis分页拦截器使用、struts2下mybatis分页 mybatis默认是支持分页的,内部通过创建可滚动的ResultSet(ResultSet.TYPE_FORWARD_ONLY)对结果集指针进行跳转以达到分页控制的目的。实际使用,需要传入RowBounds类型参数来告知mybatis做分页控制,RowBo...
2018-07-24 20:05:15 4564
原创 Tomcat8.5类加载简述
JVM的类加载机制JVM默认内置3种类加载器,分别是:1.BootstrapClassLoader 引导类加载器,由c++实现,用于加载java的核心类库,如rt.jar,提供了调用java自定义类main方法的入口,java环境下无法获取其引用。默认加载的类路径由系统变量sun.boot.class.path指定,默认是JRE_HOME/lib,可以通过两种方式指定引导的类路径:1. 使用-Xbootclasspath指定要加载的核心类库如:-Xbootclasspath:...
2020-09-25 21:08:43 909 1
原创 ThreadLocal
package java.lang;import java.lang.ref.*;import java.util.Objects;import java.util.concurrent.atomic.AtomicInteger;import java.util.function.Supplier;public class ThreadLocal<T> { private final int threadLocalHashCode = nextHashCode();...
2020-06-08 18:01:47 184
原创 ReentrantReadWriteLock
package java.util.concurrent.locks;import java.util.concurrent.TimeUnit;import java.util.Collection;//不同线程之间读锁和写锁互斥(有读就不能写,有写不能读),有读可继续读(读锁可以多个),有写不能再写(写锁只能1个)//同一个线程之间,获取读锁后不能再获取写锁,但如果获取了写锁当前线程可以再获取读锁,但其它线程无法获取读/写锁public class ReentrantReadWrite...
2020-06-08 17:59:22 212
原创 Phaser
package java.util.concurrent;import java.util.concurrent.TimeUnit;import java.util.concurrent.TimeoutException;import java.util.concurrent.atomic.AtomicReference;import java.util.concurrent.locks.LockSupport;public class Phaser { privat...
2020-06-08 17:57:06 272
原创 StampedLock
package java.util.concurrent.locks;import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.ReadWriteLock;import java.util.concurrent.locks.LockSu...
2020-05-28 18:25:12 154
原创 ScheduledThreadPoolExecutor
package java.util.concurrent;import static java.util.concurrent.TimeUnit.NANOSECONDS;import java.util.concurrent.atomic.AtomicLong;import java.util.concurrent.locks.Condition;import java.util....
2020-05-06 18:53:25 344
原创 FutureTask
package java.util.concurrent;import java.util.concurrent.locks.LockSupport;public class FutureTask<V> implements RunnableFuture<V> { private volatile int state; //初始状...
2020-05-06 18:51:32 124
原创 ThreadPoolExecutor
ThreadPoolExecutorpackage java.util.concurrent;import java.security.AccessControlContext;import java.security.AccessController;import java.security.PrivilegedAction;import java.util.concurrent...
2020-04-26 18:02:49 170
原创 CyclicBarrier
package java.util.concurrent;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.ReentrantLock;public class CyclicBarrier { private static class Generation { ...
2020-04-21 17:16:10 117
原创 AbstractQueuedSynchronizer
AbstractQueuedSynchronizer是个模板类,里面所包含的protected方法都应该由子类实现package java.util.concurrent.locks;import java.util.concurrent.TimeUnit;import java.util.ArrayList;import java.util.Collection;import ...
2020-04-14 11:02:45 117
原创 ReentrantLock
package java.util.concurrent.locks;import java.util.concurrent.TimeUnit;import java.util.Collection;public class ReentrantLock implements Lock, java.io.Serializable { private static fi...
2020-04-02 14:25:57 92
原创 Semaphore
package java.util.concurrent;import java.util.Collection;import java.util.concurrent.locks.AbstractQueuedSynchronizer;public class Semaphore implements java.io.Serializable { private sta...
2020-04-01 18:49:40 199
原创 SynchronousQueue
SynchronousQueue是一个典型的生产者与消费者队列,当一个线程A向队列中放入数据,除非其它线程将数据取走,否则线程A将一直阻塞。E transfer(E e, boolean timed, long nanos) { QNode s = null; // constructed/reused as needed ...
2020-03-24 18:27:09 166
原创 使用keytool与openssl创建Tomcat证书
1级自签名证书的创建使用openssl创建证书:1.创建rsa私钥,并使用des3对私钥加密(-des3),如果没有-des3参数将不对私钥加密openssl genrsa -des3 -out ./serverkey-pkcs1_p123456.pem 1024输入通行密语123456后生成serverkey-pkcs1_p123456.pem文件,文件格式是PKCS1(BEGIN R...
2019-10-14 20:13:51 498
原创 clientX、pageX、offsetX、screenX的区别
clientX、clientY:相对于浏览器窗口可视区域的X,Y坐标。pageX、pageY:类似于clientX、clientY,相对于浏览器窗口可视区域的X,Y坐标加上滚动条滚动的长度,说白了就是文档坐标。套用公式就是:pageX = clientX + document.documentElement.scrollLeft- document.documentElemen...
2018-10-25 14:36:35 773
原创 Tomcat中文乱码,Tomcat编解码原理
解决tomcat中文乱码,了解乱码背后的原因Tomcat接受浏览器请求,在处理数据时产生乱码,原因是:tomcat不知道浏览器发来数据的编码格式,此时tomcat会使用默认的ISO8859-1去解析,导致乱码。让tomcat选择正确的编码解析是解决乱码的根本。请求编码的处理1. GET请求:Connect...
2018-08-15 16:41:02 4024
原创 Java获取所有网卡IP地址
Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces(); while (networkInterfaces.hasMoreElements()) { NetworkInterface networkInterface = ...
2018-08-13 10:41:57 2639
原创 Java字符串格式化工具
MessageFormatter这是一个字符串格式化工具,主要完成两个功能1.对于字符串“ hello {0}, {1}“在转换过程中会将{0}替换为所传参数数组下标为0的参数值,{1}则替换为下标为1的参数值。好处是支持任意的下标值,而jdk自带的MessageFormatter下标值只能是0-9调用方式MessageFormatter.formatter(str, params);...
2018-08-09 17:05:14 2266
原创 Java国际化工具实现
Java国际化工具详解,国际化工具实现本工具具有很强的实用性,可以拷贝代码直接使用1.MessageFormatter这是一个字符串格式化工具,主要完成两个功能1.对于字符串“ hello {0}, {1}“在转换过程中会将{0...
2018-08-09 16:50:09 1590
原创 数据库事务隔离级别详解
不同的数据库本身在对记录进行DML操作时会使用不同的锁机制,以保证数据操作的安全,按锁定对象不同,锁可分为表锁、页锁、行锁,表锁对整个表进行锁定,页锁对一页记录锁定,行锁只锁定特定的记录行。而锁类型分又分为共享锁和独占锁等等。共享锁可阻止独占锁获取,但允许其它共享锁获取,而独占锁可阻止其它独占锁和共享锁的获取。一般情况下update,delete和select for update语句都会隐私采用...
2018-07-30 15:27:12 247
Tomcat架构解析(带书签)
2018-07-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人