`
文章列表
4. long double 32位,分高低位存放,非原子性操作,其他基本数据类型是原子性 基本数据类型的线程安全 ------------------------------------------- ------------------------------------------ @JrdLoginCheck 注解使用方式 通过AOP获取接口是否带有该注解 PCSecurityInterceptor ------------------------------------------ SELECT COUNT(0) FROM p2p_td_project WHE ...
分页实现 jr-MyBatis PageBean PageBeanPlugin Spring-MyBatis.xml sqlSessionFactory 问题:分库分表 为每个表添加一个公共的状态位,但不修改PO MAPPER 如何实现? 是否可以参考此处的分页实现原理?在SQL提交前进行语句的拼接及修改 --------------------------------- EXPLAIN SELECT COUNT(0) FROM p2p_td_notice site WHERE site.C_TIME > IFNULL(( SELECT lk.C_NOTICE_TI ...
查询时应注意的事项 1.从库查询,减轻主库压力 2.缓存,不是实时要求的数据,放入缓存 Excel导入异常Cannot get a text value from a numeric cell解决 http://blog.csdn.net/ysughw/article/details/9288307 doubleCheck问题 ABA问题    CAS  加version 乐观 ...
2017年12月01日 笔试题目 1. final finally finalize 的区别 2. String str = new String("xyz"); 创建几个对象 3. start()会执行run(),为什么不能直接运行run() 4. 线程 t1 t2 t3 按顺序执行,编程 countdownlacht ,对方说用 join完成 5.排序算法 ----------------------------------------- 面试 问:数据用的是 答:MySQL 问:分页是如何实现的 答:limit 偏移量,每页数量 问:写SQL时应注意 ...
问题:一个的日志文件中存放IP地址,按照访问量对IP地址取访问量最大的IP,内存大小4M 解答: 1.由于内存大小的限制,分而治之 2.IP地址,0.0.0.0 ~ 255.255.255.255 , 255(10) = 11111111(2) 共 4*8 = 32 bit 表示一个IP地址 每位上共两种变化,所以共  2^32 个不同的IP地址 拆分为1024文件 2^32 / 2^10 = 2^22 = 4M,每份文件中最多存放4M个不同的IP地址  3.计算IP地址的HASH值 IP.hash % 1024 ,让IP地址落在不同的文件中 计算Hash值再取余, 类比Has ...
问题描述: 建表,字段类型 tinyint 长度 1 ,映射为PO类中的字段类型为 Boolean tinyint(3) --> Byte tinyint(1) --> Boolean 问题原因: 1.MySQL中无Boolean类型数据;MySQL中将Boolean==》tinyint(1) 2.BOOL, BOOLEAN These types are synonyms(同义词) for TINYINT(1). A value of zero is considered(认为是) false. Nonzero(不为0) values are considered true ...

Number

Number 一、总结 1.jdk 1.8.0 2. 二、源码分析 /** * The abstract class {@code Number} is the superclass of platform * classes representing numeric values that are convertible to the * primitive types {@code byte}, {@code double}, {@code float}, {@code * int}, {@code long}, and {@code short}. * ...

Unsafe

Unsafe 一、总结 1.jdk 1.8.0 2.不可仿照 AtomicInteger 的方式直接调用 Unfase // 声明全局的静态变量,运行时会出现异常 SecurityException("Unsafe") private static final Unsafe unsafe = Unsafe.getUnsafe(); 3.从源码注释得知,这个类是用于执 ...

CAS

CAS CAS:Compare and Swap, 翻译成比较并交换。 java.util.concurrent包中借助CAS实现了区别于synchronouse同步锁的一种乐观锁。 CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做。 无阻塞算法:一个线程的失败或者挂起不应该影响其他线程的失败或挂起的算法 原子性操作:CAS通过调用JNI的代码实现的。JNI:Java Native Interface为JAVA本地调用,允许java调用其他语言 缺点: ABA问题。因为CAS需要在操作值的时候检查下值有没 ...

volatile

volatile 一、总结 1.作用:保证线程间的数据是可见的(共享的)
乐观锁和悲观锁 1. 悲观锁与乐观锁         我们都知道,cpu是时分复用的,也就是把cpu的时间片,分配给不同的thread/process轮流执行,时间片与时间片之间,需要进行cpu切换,也就是会发生进程的切换。切换涉及到清空寄存 ...
AtomicInteger 一、总结 1.jdk 1.8.0 2. 基于CAS的乐观锁实现 基于JNI调用硬件级别的锁实现原子性操作 CAS算法,此算法是由unsafe的底层代码实现,它是一个原子的操作,CAS(V,E,N) V 变量,E expected  预期的旧值,N new 新值,Compare And Swap 比较交换,仅当 V中存放的值与E相等时,才将V赋值为N;否则,不做任何处理 语言层面不做处理,我们将其交给硬件—CPU和内存,利用CPU的多处理能力,实现硬件层面的阻塞,再加上volatile变量的特性即可实现基于原子操作的线程安全。所以说,CAS并不是无阻塞,只是阻 ...
问题描述: 根据前端同事提供的HTML页面嵌套JSP页面 删除了顶部的 <!DOCTYPE html> 倒置样式错乱 问题解释: 不是简单的注释,而是标明当前的解析格式。
ReferenceQueue 一、总结 1.jkd 1.8.0 2.作用 该队列作为引用中的一员,可以和上述三种引用类型组合使用,该队列的作用是:创建Reference时,将Queue注册到Reference中,当该Reference所引用的对象被垃圾收集器回收时,会将该Reference放到该队列中,相当于一种通知机制。 二、源码分析 /** * Reference queues, to which registered reference objects are appended by the * garbage collector after the appropri ...
Reference 一、总结 1.jdk 1.8.0 2.引用级别 FinalReference,不对外提供使用,类的访问权限为默认 protect,即使抛出 out of memory 异常也不会回收所占内存 SoftReference,在内存不够用时,在抛出 out of memory 前回收内存空间 WeakReference,第 ...
Global site tag (gtag.js) - Google Analytics