1 源码下载 2 OSGi.NET插件应用架构概述 3 漂亮界面框架原理概述 4 漂亮界面框架实现  4.1 主程序  4.2 主程序与插件的通讯   4.2.1 主程序获取插件注册的服务   4.2.2 插件获取主程序注册的服务   4.2.3 服务接口  4.3 权限管理插件的登录窗体  4.4 界面框架插件   4.4.1 导航服务   4.4.2 界面框架扩展实现  4.5 插件   4.5.1 插件引用了第三方程序集   4.5.2 一个程序集如何让所有插件都直接使用   4.5.3…
Shiro框架(原理分析与简单实现) 有兴趣的同学也可以阅读我之前分享的:Java权限管理(授权与认证)CRM权限管理   (PS : 这篇博客里面的实现方式没有使用框架,完全是手写的授权与认证,可以帮助理解Shiro框架) https://www.cnblogs.com/yly-blog/p/7283541.html 如果发现分享的内容有不合理或者的不对地方,请留言,我会及时定位分析,感谢!!! 1.介绍 1.1 什么是权限管理? 基本上涉及到用户参与的系统都要进行权限管理,权限管理属于系统安…
对于Java数据库的连接,由最初学习的每次全部手工代码,到后面的不断利用知识简化代码量:这是不断学习的过程,就像人类由原始社会的钻木取火到当代的文明,都是一步步过来的! 本文不从最开始的JDBC入门开始总结,只总结被很多人忽略的地方:自己写框架,或者更确切说是框架的原理! 先说使用框架的好处,也可以说是使用工具的好处,就如同使用记事本编程和eclipse之间的区别,很明显使用工具大大的提高了我们的编程效率,使我们在编程时候可以几乎避免垃圾代码或重复代码的痛苦! 但是这样做其实也有不好的地方:不少…
1.制作流程1.在vs中建立一个wpf程序2.建立一个主页面(.cs)(注:C#程序每一个页面都由两个文件构成一个xaml一个cs,一个前端文件一个后台文件)3.在主页面中添加按钮,按钮中嵌入图片,这样就可以在在后台动态更改界面显示的效果,每次点击都更改图片,显示出不同的图片4.在主页面中添加ContentContro控件5.新建副页面(里面的内容自己编写)6.在主cs文件中控制ContentControl显示不同的副页面,这样一个有层次感的页面程序就显示出来了 2.项目感想 1.关键是掌握主要…
先了解什么是注解 注解 Jdk1.5新增新技术,注解.很多框架为了简化代码,都会提供有些注解.可以理解为插件,是代码级别的插件,在类的方法上写:@XXX,就是在代码上插入了一个插件. 注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用. 注解分类:内置注解(也成为元注解 jdk 自带注解).自定义注解(Spring框架) 什么是内置注解 (1) @SuppressWarnings   再程序前面加上可以在javac编译中去除警告--阶段是SOURCE(2) @Deprecated   带有标…
前言 前情回顾 上一篇讲了Ribbon的初始化过程,从LoadBalancerAutoConfiguration 到RibbonAutoConfiguration 再到RibbonClientConfiguration,我们找到了ILoadBalancer默认初始化的对象等. 本讲目录 这一讲我们会进一步往下探究Ribbon和Eureka是如何结合的. 通过上一讲ILoadBalancer 我们已经可以拿到一个服务所有的服务节点信息了,这里面是怎么把服务的名称转化为对应的具体host请求信息的呢…
uC/OS II(Micro Control Operation System Two)是一个可以基于ROM运行的.可裁减的.抢占式.实时多任务内核,具有高度可移植性,特别适合于微处理器和控制器,是和很多商业操作系统性能相当的实时操作系统(RTOS).ucos由于它的开源性得到了几位广泛的应用.我这次阅读的主要目的也是通过它加深自己对操作系统相关概念的认识. 一.ucos的代码结构 由于ucos可以在不同平台上移植,其代码分为于处理器无关的的代码和与应用程序相关的代码.具体如下图: : 二.uc…
我们通常会使用工具jstack 去跟踪线程信息,其如何实现使用attach 的方式还是ptrace 的方式,这些可以去参考本人的博客的其他文章. 但这些方式都是外部使用的方式,如何直接使用java代码得到当前进程的线程的信息,方便监控jvm的整个运行状态,就不的不提到了ManagementFactory 通过调用方法 ThreadMXBean tmbean = ManagementFactory.getThreadMXBean(); 通过得到 ThreadMXBean 可以得到非常多的threa…
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABfEAAAJwCAYAAAAp7ysfAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjw…