自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (1)
  • 收藏
  • 关注

原创 基数排序

这个是以10为基数的排序,不需要比较数组每一项的大小,在最坏的情况下,时间复杂度和快排一样。缺点是占用空间多一倍。在数值不大的情况下,效率比快排高。public class BaseSort { public static void main(String[] args) { Random random=new Random(); int []a=new...

2018-08-24 14:22:32 172

转载 SQLServer 日期函数大全

SQLServer 日期函数大全 原文https://www.cnblogs.com/zhangpengnike/p/6122588.html 一、统计语句 1、–统计当前【>当天00点以后的数据】 SELECT * FROM 表 WHERE CONVERT(Nvarchar, dateandtime, 111) = CONVERT(Nvarchar, GETDATE(), 111...

2018-08-23 10:31:23 464

转载 sqlserver常用语句

–删除主键 alter table 表名 drop constraint 主键名 –添加主键 alter table 表名 add constraint 主键名 primary key(字段名1,字段名2……) –添加非聚集索引的主键 alter table 表名 add constraint 主键名 primary key NONCLUSTERED(字段名1,字段名2……)...

2018-08-22 14:56:18 2210

原创 java虚拟机(七)--常用指令

一、常量入栈指令 分为const,push,ldc。const系列,常量包含在指令本身里, push指令主要包括 bipush(8位),sipush(16位)。比如 bipush 50 ldc接收 8位参数(指向常量池中int,float,string的索引),ldc_w接收16位参数。ldw2_w接收的参数指向常量池long,double类型索引。 二、局部变量压栈 xload(i...

2018-08-20 16:11:03 1187

原创 背包问题

假设有砝码:11,8,7,6,5kg各一个,背包只能装m kg,如果要刚好装满,则应该放入哪几个? 代码:public class Knapsack { public int[] weights = {11, 8, 7, 6, 5}; public List<Integer> list = new ArrayList<>(); int b...

2018-08-20 14:40:47 110

原创 汉诺塔

展示移动过程: public static void main(String[] args) { doTowers(3,'A','B','C'); } public static void doTowers(int topN,char from,char inter,char to){ if (topN==1) ...

2018-08-20 12:01:52 283

原创 自定义访问rabbitmq的框架(三)

UdConsumerContainer这个类是用于消费端的,复用信道池。public void start() throws Exception,调用start方法,会绑定所有消费者到相应的队列(每个消费者绑定的队列可以不同)。这个类的处理模式是,先将消息缓存到本地队列中,然后用户自定义的消息处理器再从本地队列中获取并处理,根据设定的消息队列处理模式,给予rabbitmq相应的回应。B...

2018-08-20 10:03:17 807

原创 自定义访问rabbitmq的框架(二)

RabbitMQHelper这个类,用于声明交换机,声明队列、发送消息等操作。 dedicatedChannels 用于存放当前线程中的信道,声明交换机、队列等操作发生在多个方法中,为了共享信道,所以放在局部线程变量中。public class RabbitMQHelper { protected final Logger logger = LoggerFactory.getLogg...

2018-08-20 09:51:30 341

原创 Launcher类解析--系统类加载器

sun.misc.Launcher类,类中定义了几个类加载器。AppClassLoader 系统类加载器 ExtClassLoader 扩展类加载器 关于类加载器的一些东西,可以看这篇类加载Launcher的getClassPath(String classPath):private static File[] getClassPath(String classPath) { ...

2018-08-17 15:34:29 1400

原创 权限控制器AccessController

引用这篇文章做参考在测试这个功能时,也遇到了一些坑。关键在授权文件这里file:/D:/项目/study/out/production/study/必须是目标类的根目录, 比如com.tt.Testaa 这个类,希望给它赋予写权限,那么 file:/D:/项目/study/out/production/study/com/* file:/D:/项目/study/out/product...

2018-08-16 16:44:42 3364

原创 链表

单链表:节点内容下一个节点的引用一个单链表实例:public class LikeNode { public int iData; public double dData; public LikeNode next; public LikeNode(int iData, double dData) { this.iData = i...

2018-08-15 14:28:37 108

原创 java虚拟机(六)--类的装载

类加载器 类的加载分为3步, 1.加载:查找并加载类的二进制数据,在元数据区中生成class的数据结构(jvm内部的C++对象) 2、验证、解析:验证加载的类的正确性,(文件格式,元数据,字节码,符号引用) 为类的静态变量分配内存,并初始为默认值 解析,把常量池中的符号引用转换为直接引用(也就是把符号引用,转换为目标方法在方法表中的位置) 3、初始化:执行静态变量和静态...

2018-08-15 14:15:24 382 1

原创 自定义访问rabbitmq的框架(一)

这是由spring amqp框架简化而来的一个自定义框架,去除了很多平时用不到的东西,同时也根据自己的需要,在特定的地方做了一些修改。核心类是下面的4个: CacheConnectionFactory 这个工厂,缓存了连接和信道 UdConsumerContainer 消费者池 BlockingQueueConsumer 消费者 RabbitMQHelper 帮助类(提供了各种...

2018-08-10 16:32:31 446

原创 shiro框架源码解析与改造(十)---关于登陆的一些问题

为了让后登陆的人,挤掉先登陆的人。在登陆成功时,记录该账号对应的sessionID,那么在后来验证是否登陆时,就可以取出这个值做比较。 protected boolean onLoginSuccess(AuthenticationToken token, Subject subject, ServletRequest request, ServletResponse response) { ...

2018-08-10 16:02:55 211

原创 shiro框架源码解析与改造(九)---FormAuthenticationFilter

FormAuthenticationFilter是登陆已经认证的关键过滤器。父类是AuthenticationFilter 由onPreHandle方法为起点,先判断当前用户是否已经登陆,然后当前账号是否是当前用户最后登陆的,如果不是,则拒绝,onAccessDenied,重定向到登陆界面 auth认证, protected boolean onPreHandle(ServletRe...

2018-08-10 15:56:57 1298

原创 shiro框架源码解析与改造(八)---PermissionsAuthorizationFilter

PermissionsAuthorizationFilter是权限验证的关键过滤器。@Override protected boolean onPreHandle(ServletRequest request, ServletResponse response, Object mappedValue) throws Exception { return this.i...

2018-08-10 15:38:29 2466

原创 shiro框架源码解析与改造(七)---session与cookie创建及相关

session与cookie创建,是在第一次进入shiro域时,访问jsp页面之前。 此时调用了getSession方法。 public HttpSession getSession(){ return getSession(true); } public HttpSession getSession(boolean create) { Htt...

2018-08-10 15:12:07 2294

原创 解析算术表达式

下面是用栈结构解析算术表达式并计算的方法,只适用于操作数是个位数的(如果需要处理多位数,则修改后缀表达式的存储方式即可)。由中缀表达式获得后缀表达式public class StackX { private int maxSize; private char[] stackArray; private int top; public StackX(int ...

2018-08-10 13:46:45 839

原创 ASM框架使用(二)--类的简单变动以及工具类的使用

asm 包是asm框架的core包。 这篇介绍怎么用asm创建和修改编译后的class。Java源码中类型,在字节码中是用以下类型代表的: 方法描述(方法名不在方法描述中,在常量池中): asm创建和改变Java字节码是通过ClassVisitor抽象类, class vistor必须按照以下执行顺序: classreader用来解析一个已存在的类。 下面是模仿ja...

2018-08-02 17:07:50 5899 1

原创 ASM框架使用(一)--初识

ASM框架是一个致力于字节码操作和分析的框架,它可以用来修改一个已存在的类或者动态产生一个新的类。ASM提供了一些通用的字节码转换和分析算法,通过这些算法可以定制更复杂的工具。ASM提供了其它字节码工具相同的功能,但是它更关注执行效率,它被设计的更小更快,它被用于以下项目:openjdk,实现lambda表达式调用, Nashorn编译器Groovy和Kotlin编译器Cobertura...

2018-08-02 10:38:58 30164 2

原创 shiro自定义版--关于ajax请求无权限路径的处理

对于同步请求,在用户没有权限时,shiro会把用户重定向到指定页面,但是ajax请求,这个就不好用了,ajax请求每次获取的可能是页面,也可能是数据。针对这种情况,做了以下处理: if (httpRequest.getHeader("X-Requested-With") == null || !httpRequest.getHeader("X-Requested-With").equal...

2018-08-01 14:54:50 1316

ASM-all 6.2

asm开发的jar包。

2018-10-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除