- 博客(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
4714
原创 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
1040
原创 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
237
原创 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
258
原创 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
317
原创 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
194
原创 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
392
原创 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
164
原创 ThreadPoolExecutor
ThreadPoolExecutor package 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
221
原创 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
154
原创 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
152
原创 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
122
原创 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
283
原创 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
208
原创 使用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
607
原创 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
867
原创 Tomcat中文乱码,Tomcat编解码原理
解决tomcat中文乱码,了解乱码背后的原因 Tomcat接受浏览器请求,在处理数据时产生乱码,原因是:tomcat不知道浏览器发来数据的编码格式,此时tomcat会使用默认的ISO8859-1去解析,导致乱码。 让tomcat选择正确的编码解析是解决乱码的根本。 请求编码的处理 1. GET请求: Connect...
2018-08-15 16:41:02
4161
原创 Java获取所有网卡IP地址
Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces(); while (networkInterfaces.hasMoreElements()) { NetworkInterface networkInterface = ...
2018-08-13 10:41:57
2700
原创 Java字符串格式化工具
MessageFormatter 这是一个字符串格式化工具,主要完成两个功能 1.对于字符串“ hello {0}, {1}“在转换过程中会将{0}替换为所传参数数组下标为0的参数值,{1}则替换为下标为1的参数值。好处是支持任意的下标值,而jdk自带的MessageFormatter下标值只能是0-9 调用方式MessageFormatter.formatter(str, params);...
2018-08-09 17:05:14
2376
原创 Java国际化工具实现
Java国际化工具详解,国际化工具实现 本工具具有很强的实用性,可以拷贝代码直接使用 1.MessageFormatter 这是一个字符串格式化工具,主要完成两个功能 1.对于字符串“ hello {0}, {1}“在转换过程中会将{0...
2018-08-09 16:50:09
1689
原创 数据库事务隔离级别详解
不同的数据库本身在对记录进行DML操作时会使用不同的锁机制,以保证数据操作的安全,按锁定对象不同,锁可分为表锁、页锁、行锁,表锁对整个表进行锁定,页锁对一页记录锁定,行锁只锁定特定的记录行。而锁类型分又分为共享锁和独占锁等等。共享锁可阻止独占锁获取,但允许其它共享锁获取,而独占锁可阻止其它独占锁和共享锁的获取。一般情况下update,delete和select for update语句都会隐私采用...
2018-07-30 15:27:12
287
Tomcat架构解析(带书签)
2018-07-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅