flysharkym
码龄16年
关注
提问 私信
  • 博客:250,076
    250,076
    总访问量
  • 26
    原创
  • 1,064,245
    排名
  • 32
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2009-04-18
博客简介:

flysharkym的专栏

查看详细资料
个人成就
  • 获得34次点赞
  • 内容获得16次评论
  • 获得58次收藏
创作历程
  • 3篇
    2017年
  • 3篇
    2016年
  • 15篇
    2015年
  • 4篇
    2014年
  • 9篇
    2013年
  • 5篇
    2012年
  • 3篇
    2011年
  • 6篇
    2010年
成就勋章
TA的专栏
  • algorithm
    5篇
  • java
    23篇
  • C/C++
    5篇
  • linux
    2篇
  • solr
    5篇
  • mysql
    2篇
  • jsp
    2篇
  • web
    1篇
  • redis
    2篇
  • TCP
    2篇
  • java多线程
    11篇
  • spring
    5篇
  • java内存模型
    1篇
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

How to get method parameter names?

如何获取方法参数命名?1.通过javassist获取e()); Class<?>[] paramTypes = method.getParameterTypes(); String[] paramTypeNames = new String[method.getParameterTypes().length]; for (int i = 0; i <
原创
发布博客 2017.01.05 ·
2068 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

基于JDK动态代理和CGLIB动态代理到底有什么区别?

转自:基于JDK动态代理和CGLIB动态代理的实现Spring注解管理事务(@Trasactional)到底有什么区别摘要结论:基于JDK动态代理 ,可以将@Transactional放置在接口和具体类上。基于CGLIB类代理,只能将@Transactional放置在具体类上。因此 在实际开发时全部将@Transactional放到具体类上,而不是接口上。如何启用cglib动态代理如果设置p
转载
发布博客 2017.01.03 ·
2800 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Spring中通配符

转:Spring中通配符内容摘要一、加载路径中的通配符:?(匹配单个字符)*(配除/外任意字符)**/(匹配任意多个目录)二、Spring AOP配置通配符execution(public * *(..))within(com.xyz.service.*)@annotation(org.springframework.transaction.annotation.Transactional)
转载
发布博客 2017.01.03 ·
2015 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

mybatis一级缓存(session cache)引发的问题

mybatis一级缓存(session cache)引发的问题
原创
发布博客 2016.05.14 ·
75018 阅读 ·
6 点赞 ·
1 评论 ·
23 收藏

java热加载技术hotswap

关于hotswap 是一个允许在运行状态下无限制的修改加载类文件的Java虚拟机补丁。当前java虚拟机的动态加载机制只允许修改类的方法体,而打了hotswap补丁以后,可以增加,删除类属性,方法,甚至可以改变一个类的父类。Hotswap补丁是基于GPL v2.
转载
发布博客 2016.04.03 ·
4838 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

java-memory-model

本文是InfoQ上的《深入理解Java内存模型》 java-memory-model 系列文章汇总列表。同时列举了每篇文章的主要内容:深入理解Java内存模型(一)——基础http://www.infoq.com/cn/articles/java-memory-model-1--内容摘要:重排序从java源代码到最终实际执行的
转载
发布博客 2016.03.11 ·
1308 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Mysql新增UTF8MB4编码支持emoji表情

本文转自:MySQL乱码问题以及utf8mb4字符集乱码推荐大家看深入MySQL字符集设置,区分检查client端、server端的编码;最简单暴力的方式,是在所有的环节都显式明确的指定相同的编码。比如使用python的MySQLdb连接MySQL时默认的charset是latin1,需要自己指定charset=’utf8′,即使是在服务器端的init-connect=’SET NAMES utf8
转载
发布博客 2015.06.05 ·
3780 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

利用spring session解决共享Session问题

Spring Session是Spring的项目之一,GitHub地址:https://github.com/spring-projects/spring-session。Spring Session提供了一套创建和管理Servlet HttpSession的方案。Spring Session提供了集群Session(Clustered Sessions)功能,默认采用外置的Redis来存储Session数据,以此来解决Session共享的问题。
原创
发布博客 2015.05.15 ·
85776 阅读 ·
16 点赞 ·
10 评论 ·
80 收藏

ConcurrentLinkedQueue原码解析

ConcurrentLinkedQueue是一个基于单链表的无界线程安全队列,该队列是FIFO的。ConcurrentLinkedQueue/ConcurrentLinkedDeue和LinkedBlockingQueue/LinkedBlockingDeue相比,不同点在于它们不提供阻塞功能,并且是Lock-Free的,而后者则是利用ReentrantLock实现的。
原创
发布博客 2015.04.14 ·
1347 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

ConcurrentSkipListMap原码解析

SkipList介绍1. SkipList(跳表),在理论上能够在O(log(n))时间内完成查找、插入、删除操作。SkipList是一种红黑树的替代方案,由于SkipList与红黑树相比无论从理论和实现都简单许多,所以得到了很好的推广。SkipList是基于一种统计学原理实现的,有可能出现最坏情况,即查找和更新操作都是O(n)时间复杂度,但从统计学角度分析这种概率极小。使用SkipL
原创
发布博客 2015.04.13 ·
1487 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

ReentrantReadWriteLock原理分析

ReentrantReadWriteLock顾名思义是可重入的读写锁,允许多个读线程获得ReadLock,但只允许一个写线程获得WriteLock。原理介绍1. ReentrantReadWriteLock类图:2. ReentrantRead
原创
发布博客 2015.04.09 ·
4093 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

JUC AbstractQueuedSynchronizer原理解析

在J2SE 1.5的java.util.concurrent包(下称j.u.c包)中,大部分的同步器(例如锁,屏障等等)都是基于AbstractQueuedSynchronizer类(下称AQS类),这个简单的框架而构建的。这个框架为同步状态的原子性管理、线程的阻塞和解除阻塞以及排队提供了一种通用的机制。
原创
发布博客 2015.04.03 ·
1167 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

自旋锁、排队自旋锁、MCS锁、CLH锁

原文地址:自旋锁、排队自旋锁、MCS锁、CLH锁注:文中的代码忽略了lock和unlock不成对出现的异常情况。另外文中代码可以通过引入ThreadLocal类来去掉lock/unlock方法的参数。自旋锁(Spin lock)自旋锁是指当一个线程尝试获取某个锁时,如果该锁已被其他线程占用,就一直循环检测锁是否被释放,而不是进入线程挂起或睡眠状态。自
转载
发布博客 2015.04.01 ·
1012 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Spring依赖注入DI

1. Spring是什么?—Spring是一个开源框架,是于2003年兴起的一个轻量级Java开发框架。它是为了解决企业应用开发的复杂性而创建的。—说它是轻量级的是因为从jar包大小与开销两方面而言Spring都是轻量的。Spring框架目的:解决企业应用开发的复杂性Spring框架应用范围:任何Java应用为什么选择使用Spring?现实往往是这样的:前辈
原创
发布博客 2015.04.01 ·
1203 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

HashMap源码分析

转自:HashMap源码分析  需要提到的是,HashMap内部的容量设计为2的幂,是为了方便扩容和取余运算,都只需要采用二进制位运算即可1.扩容:newCapacity 2.取余:当Length=2^n时,hash%Length=hash&(Length-1)学过数论的应该知道,取余运算相对耗时,而把除数设计为2的幂可以简化为按位与运算从而提高程序计算速度。
转载
发布博客 2015.04.01 ·
858 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java 理论与实践: 处理 InterruptedException

Java 理论与实践: 处理 InterruptedException注:这里仅转了文章开头部分内容,详细内容请查看原网页。这样的情景您也许并不陌生:您在编写一个测试程序,程序需要暂停一段时间,于是调用Thread.sleep()。但是编译器或 IDE 报错说没有处理检查到的InterruptedException。InterruptedException 是什么呢,为什么
转载
发布博客 2015.03.30 ·
1003 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ThreadLocal源码解析

ThreadLocal经常被使用到,但是一直没有研究过它的实现原理。在看源码之前,我猜测它是这样设计的:ThreadLocal中包含一个Map<Thread,Map<ThreadLocal, V>>属性,在使用时,通过Thread.currentThread()获取到当前线程,从而根据Key,找到Map<ThreadLocal, V>,后来发现是错的。所以本文通过阅读JDK1.7源码,来解析ThreadLocal的设计思想和原理。
原创
发布博客 2015.03.28 ·
1080 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

sun.misc.Unsafe源代码

转自:源码剖析之sun.misc.Unsafe Unsafe类提供了硬件级别的原子操作,Java无法直接访问到操作系统底层(如系统硬件等),为此Java使用native方法来扩展Java程序的功能。Java并发包(java.util.concurrent)中大量使用了CAS操作,涉及到并发的地方都调用了sun.misc.Unsafe类方法进行CAS操作。Unsafe类还提供了volat
原创
发布博客 2015.03.26 ·
3181 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

大端小端模式

1.大端小端格式详解为什么会有大小端模式之分呢?这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为8bit。但是在C语言中除了8bit的char之外,还有16bit的short型,32bit的long型(要看具体的编译器),另外,对于位数大于8位的处理器,例如16位或者32位的处理器,由于寄存器宽度大于一个字节,那么必然存在着一个如果将多个字节安排的问题
原创
发布博客 2015.03.21 ·
917 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ConcurrentHashMap源码分析

ConcurrentHashMap是HashMap更高效的线程安全版本的实现。不同于Hashtable简单的将所有方法标记为synchronized,它将内部数组分成多个Segment,每个Segment又是一个特殊的hash表,这样设计是为了减少锁粒度。另外它内部通过精巧的实现,让很多读操作(get(),size()等)甚至不需要上锁。
原创
发布博客 2015.03.09 ·
1207 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏
加载更多