7 yysx

尚未进行身份认证

我要认证

努力就有收获自信才有未来

等级
TA的排名 2k+

CGLIB动态代理原理分析

原理采用字节码技术,动态生成代理类,并在代理类中做回调处理完成方法增强。假设业务类User,我们现在要对其进行处理。CGLIB动态代理会生成User的代理类UserProxy,其中UserProxy继承自User。既然是继承,那么必然User的方法他也有,除非用final修饰。因此,我们可以在UserProxy中对User的方法做处理,实现代理的作用。实例现在通过代码看下:业务类Use...

2020-02-19 17:39:52

Java反射——Proxy和动态代理

概述上篇文章《Java反射——Class和ClassLoader 》,我们简单介绍了反射的基本概念及相关类。这里介绍下,反射的一个主要应用——动态代理。动态代理JDKCGLIBAPI小结...

2020-02-04 11:30:58

Java反射——Class和ClassLoader

这里写自定义目录标题概述特点场景API概述特点场景API反射相关的类主要在java.lang 和 java.lang.reflect包下。其中,java.lang下主要有以下两个。1、Class类是对象的抽象,Class就是所有类的抽象。也可以说,Class表示类的类类型。public final class Class<T> implements java.io....

2020-01-26 13:56:09

【机器学习】常用算法系列之——分类算法KNN

背景监督学习中数据是有标签的,比较入门。而在监督学习中,有分类和回归两个任务。其中分类又是比较简单的,那我们从分类入手,介绍第一个基础分类算法——KNN。简介KNN,全称K-NearestNeighbor,也叫K近邻。是监督学习中的一种基础的常用分类算法。所谓K近邻,即选取k个最近的邻居,来代表每个样本。说起来比较抽象,我们从图上来看一下。已分类数据:图中有两个类别:红色的三角形和...

2019-02-04 10:30:57

从“三门问题”引出的条件概率、全概率和贝叶斯推导

条件概率现有事件A、事件B,如果事件B已发生,此时事件A发生的概率是多少?即P(A|B)=?用集合表示的话,更加直观。1)计算P(A)或者P(B)时,是以Ω为样本空间的。2)而计算P(A|B)时,意味着P(B)已发生。即样本空间已经从Ω变成了B。当事件B已发生时,事件A如果要发生,就只能是在A∩B的部分,即P(AB)。因此,P(A|B)=P(AB)/P(B)小试牛刀:一...

2019-02-03 10:38:48

“学习金字塔”理论

“学习金字塔”是一种阐述不同学习方式对学习效率影响的理论。首先,学习方式或方法可以分为两大类:主动学习和被动学习。 在塔尖,第一种学习方式——“听讲”,也就是老师在上面说,学生在下面听,这种我们最熟悉最常用的方式,学习效果却是最低的,两周以后学习的内容只能留下5%。 第二种,通过“阅读”方式学到的内容,可以保留10%。 第三种,用“声音、图片”的方式学习,可以达到20%。 第四种,是“...

2018-08-17 18:37:44

“芝诺悖论”

“芝诺悖论”是由古希腊哲学家芝诺提出的一系列悖论的统称。与其他学者不同,芝诺更善于从反面看待事物,而非直接证明。后人也称其为辩证法的创始人。 芝诺提出的悖论,都是与现实差异较大但又没办法解释清楚。有人说他是在诡辩,但也无法说出原理。很多悖论都隐含着很多物理学、微积分的思想,值得思考。在这些悖论中,其中“阿基利斯与乌龟赛跑”就是一个十分典型的例子。1.阿基利斯和乌龟赛跑,假设...

2018-08-17 14:50:22

SpringCloud——Feign实例及原理

一、实例1、配置feign添加依赖在maven的pom中添加feign <dependency> <groupId>org.springframework.cloud</groupId>

2018-08-06 11:19:27

越努力越幸运!(2017年终总结)

开篇   今天是2018年02月20日,农历正月初五。年前工作节奏比较快,有段时间没有更新博客了。不过一年结束了,还是觉得要总结下这一年的工作和生活,也为来年确定好目标和方向。正文  “越努力越幸运”,这是小编给今年的总结词。无论是生活还是工作,幸运不会那么巧的到来,它不会看谁最爱笑,也不会看谁最可怜。你需要努力,在机遇到来的时刻,幸运...

2018-02-20 15:02:17

Mac OS安装mysql教程

前两天为了开发方便,在自己电脑上装了一个mysql,发现Mac上的安装步骤中还是有些注意事项的,于是整理了这篇博客。1、下载进入官网www.mysql.com下载所需的mysql版本和安装包格式。 注:Mac需下载dmg格式文件。下载完毕后,点击pkg安装包,next进行安装。2、安装安装完毕后,进入系统偏好设置,找到mysql。 点击Start Mysql Server,显示启动成功。

2017-11-06 17:21:18

Kettle Spoon入门教程

Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定。其中,Spoon是Kettle中的一个组件,其他组件有PAN,CHEF,Encr和KITCHEN等。Spoon通过图形化的页面,方便直观的让你完成数据转换的操作。1、安装配置点我下载最新版本是7.1,小编这里使用的是6.1。下载完毕后,解压即可。因为是Java编写的,需要jdk环

2017-09-05 17:13:12

使用freemark模板生成excel

1、背景文件操作中导入导出功能在项目中十分常见,这里我们要聊的是导出excel这一功能。老话题常谈常新,小编给大家介绍使用freemark模板的方式导出excel。2、实现Demo中采用springBoot+mybatis整合项目,其他项目配置类似。2.1 添加jarpom.xml中配置freemark所需的jar包,如下所示: <dependency> <groupId>org.spr

2017-08-28 14:52:36

《代码整洁之道》读书笔记

背景很早之前就接触过这本书,但当时比较热衷于看架构和设计模式之类的书籍,就把这本《代码整洁之道》排到了后面去看。也是因为从架构中能读懂很多思想和道理来,后又经人推荐,再次拿起这本书来仔细品味。内容整本书洋洋洒洒讲了17章内容,但总结起来,并没有那么复杂。我们还是从接触事物最初的方式来思考,即Why-What-How。如下图所示:1、Why-Why? -为什么要读这本书? -为什么我们需要编写整洁

2017-08-12 17:57:30

同源策略及解决办法

1、跨域来由1.1 同源策略 一种约定,是浏览器最核心也最基本的安全功能。保证用户信息的安全,防止恶意的网站窃取数据。1.1.1 背景 如上图所示:用户登录shopA商城A之后,继续浏览到shopB,这时如果商城B可以拿到商城A的Cookie信息,就会泄露用户的相关隐私信息,也有可能被他人非法使用,甚至破坏等等。1.1.2 含义: 同源策略需要同时满足以下三点要求:1

2017-05-18 09:25:45

Node.js系列——(4)优势及场景

背景之前几篇系列文章简单介绍了node.js的安装配置及基本操作: Node.js系列——(1)安装配置与基本使用 Node.js系列——(2)发起get/post请求 Node.js系列——(3)连接DB接下来,我们就来整体认识下node.jsnode.jsnode.js官网对它的介绍是这样的: Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。

2017-05-05 11:43:20

Node.js系列——(3)连接DB

背景node.js,有人称之为运行在服务器端的JavaScript。以往我们使用JavaScript时,都是依赖后端查询数据库并返回数据,而JavaScript只需要展示即可。问题来了,就不能绕开后端直接查询数据库吗?答案是肯定的。关系型——以mysql操作为例node.js提供了mysql操作的驱动(模块),如果还未安装,需要执行 cnpm install mysql命令来安装。//引入模块va

2017-05-02 13:50:24

Node.js系列——(2)发起get/post请求

服务器与浏览器的交互主要方式有get/post请求。 下面,我们来看一下node.js发起get/post请求。1、get由于get请求的参数在url后面,所以相对比较简单。node.js中的url模块提供了parse函数来处理。具体代码如下://引入模块var http=require('http');var url=require('url');var util=require('uti

2017-04-27 14:52:55

Node.js系列——(1)安装配置与基本使用

1、安装进入下载地址 小编下载的是msi文件,下一步下一步傻瓜式安装。 打印个hello看看: 2、REPL全称Read Eval Print Loop,即交互式解释器,可以执行读取、执行、打印、循环等任务。在该环境下,我们可以在终端输入命令,并接收系统的响应。 输入node命令,进入终端:1、基本运算数字运算 变量运算 循环 2、常用命令Ctrl+C

2017-04-24 15:01:45

小谈加密算法

1、为什么要用加密网站中有很多类似金钱、密码等重要业务数据,一旦被监听、拦截,可能会造成严重的损失。 比如下图:我们可以很容易的看到某个请求的相关参数数据 2、应用场景加密算法有很多种应用场景,最常见的是用户登录、身份验证、验签等等。目的在于通过算法,将明文转换为密文。将明文转换为密文只是第一步,更深一步的做法是结合sessionId、随机数、token或者https等,最大限度的防止信息被盗取

2017-04-18 14:21:13

Ribbon源码解析

SpringCloud中的Ribbon开源项目,提供了客户端的负载均衡算法。这篇文章,我们来介绍下他是如何实现的。为了方便理解,我们以客户端调用的流程来介绍,其中会穿插介绍相关源代码。简单回顾下Ribbon的使用,这里强调两点:  1、在启动类Application中,添加@LoadBalanced注解。@Bean @LoadBalanced RestTemplate re

2017-02-23 16:33:48

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。