自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 资源 (2)
  • 收藏
  • 关注

原创 面试题汇总

怎么理解协议?

2021-08-18 16:36:46 122

原创 JMH工具

JMH是Java性能测试工具

2021-08-18 15:03:07 135

原创 实战DDD

DDD

2021-08-18 13:44:56 132

原创 微服务-Dubbo原理探险

Dubbo加载机制Dubbo扩展点机制Dubbo服务暴露/消费原理Dubbo远程调用Dubbo集群Dubbo过滤器

2021-08-13 19:32:53 109

原创 中间件-Redis-运维经验总结

一、Redis缓存更新策略1、当内存超过maxmemory阈值后,对数据进行剔除,具体选择的剔除算法可通过maxmemory-policy配置LRU/LFU算法。一致性最差,是保底的策略。2、给缓存数据设置超时时间,过期后自动删除。存在一个数据不一致的窗口。3、主动更新。一致性最好。二、Redis缓存穿透缓存穿透导致不存在的数据每次请求都会到存储层查询,失去了缓存保护存储层的意义。1、缓存空对象。会带来数据不一致的问题。2、布隆过滤器拦截。三、集群节点过多对批量操作的影响。

2021-08-12 22:46:09 298

原创 中间件-ES-中文拼音多音字插件

需求背景:中文拼音多音字分词。例如:三一重工,默认拼音分词会解析成sanyizhonggong,但业务需要的是解析成:sanyizhonggong、sanyichonggong。解决办法:首先,查看了ES用的中文拼音插件elasticsearch-analysis-pinyin的github中的issue,是有人提出类似需求,但也没有合适的方案:https://github.com/medcl/elasticsearch-analysis-pinyin/issues。然后:百度了各方面资料,没有

2021-08-11 21:41:56 1352 1

原创 微服务-Spring Cloud核心组件原理分析

一、服务治理二、客户端负载均衡三、断路器-Hystrix四、新断路器-Resilience4j五、声明式调用-OpenFeign六、网关ZuulGateway七、配置中心-Config八、全链路追踪-Sleuth

2021-08-11 20:57:48 388

原创 基础-开发需要了解的数据库知识

一、范式数据库范式 范式 描述 反例 第一范式 字段都是原子的,不能再分解 字段是json串 第二范式 表必须有主键,非主属性必须完全依赖,不能部分依赖主键 好友关系表中,主键是关注人ID+被关注人ID,但该表中还存储了名字、头像等,这些字段只依赖组合主键的其中一个字段,而不是完全依赖主键 第三范式 没有传递依赖,非主属性必须直接依赖主键而不间接依赖主键 员工表中,有个部门ID字段,还有其他部门字段,比如部门名称等,这些字段直接依赖部门ID,

2021-08-11 15:52:46 235

原创 中间件-Redis集群详解

Redis Cluster是Redis的分布式解决方案。就是按照hash分区规则将Redis数据映射到多个Redis节点。

2021-08-11 10:00:23 138

原创 网络抓包和分析

tcpdump使用

2021-01-11 12:55:07 131

原创 GitHub使用手册

一、GitHub提供的主要功能1、Git仓库2、Issue:将一个任务或问题分配给一个Issue进行追踪和管理的功能。可以像Bug管理系统或TiDD的Ticket一样使用。每一个功能更改或修正都对应一个Issue。3、Wiki:可以随时对一篇文章进行更改并保存,因此可以多人共同完成一篇文章。4、Pull Request:开发者向GitHub的仓库推送更改或功能添加后,可以通过P...

2018-05-08 19:09:21 159

原创 机器学习入门

1、机器学习是什么?机器学习是数据通过算法构建出模型并对模型进行评估,评估的性能如果达到要求就拿这个模型来测试其它数据,如果达不到要求就要调整算法来重新建立模型,再次进行评估,如此循环往复,最终获取满意的经验来处理其它数据2、机器学习分类1)监督学习2)无监督学习3)半监督学习4)强化学习3、机器学习算法1)回归算法试图采用对误差的衡量来探索变量之间关系的一...

2016-10-29 05:52:21 165

原创 ssh配置免密码登录

1.生成公钥和私钥Shell代码  ssh-keygen -t rsa 默认在 ~/.ssh目录生成两个文件: id_rsa :私钥 id_rsa.pub :公钥2.导入公钥到认证文件,更改权限 2.1 导入本机Shell代码cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 2.2...

2016-08-11 20:21:17 142

原创 远程调用性能分析

影响性能的三个主要原因:1、网络传输方式问题,传统的RPC框架或者基于RMI等方式的远程服务调用采用了同步阻塞I/O,当客户端的并发压力或者网络时延增大后,同步阻塞I/O会由于频繁地wait导致I/O线程经常性的阻塞,I/O处理能力下降。根据不同的应用场景,所以可以选择BIO、NIO和AIO作为IO模型2、序列化性能差 Java序列化机制是java内部的一种对象编解码技术,无法跨...

2016-07-16 10:25:21 393

原创 基础-高性能IO模型浅析

常见的IO模型:同步阻塞、同步非阻塞、IO多路复用(Reactor设计模式,也叫异步阻塞IO)、异步IO(Proactor设计模式)异步和同步的区别:是描述用户线程和内核的交互方式。同步:用户线程发起IO请求后需要等待或轮询内核IO操作完成后才能继续执行;异步:用户线程发起IO请求后仍可继续执行,当内核操作IO完成后会通知用户线程,或调用用户线程注册的回调函数;阻塞和...

2016-07-16 10:13:48 116

原创 mybatis-plus和mybatis原理

mybatis-plus和mybatis原理

2016-07-16 09:11:18 466

原创 基础-多线程实战分析

一日凌晨,手机疯狂报警,短信以摧枯拉朽之势瞬间以百条的速度到达,我在睡梦中被惊醒,看到短信的部分内容如下:Caused by: java.lang.OutOfMemoryError: unable to create new native thread at java.lang.Thread.start0(Native Method) at java.lang.Thre...

2016-07-16 07:54:17 214

原创 通信框架

1、长连接还是短连接?选择长连接,原因:更节约资源,多个消息复用同一个链路。2、BIO还是NIO?BIO通信模型最大的问题是系统缺乏弹性伸缩能力,服务端线程个数和客户端个数并发访问数呈现1:1比例,线程膨胀后,系统性能急剧下降,系统发生堆栈溢出,创建新线程失败,造成进程僵死等现象。多路复用技术:把多个IO的阻塞复用到同一个select的阻塞上,从而使得系统在单线程的情况下可以同...

2016-07-03 20:44:03 384

原创 第三方 starter pom

名称地址Handlebars Vaadin Apache Camel WRO4J Spring Batch HDIV Jade Templates Actitivi   

2016-07-03 09:31:28 126

原创 官方starter pom

名称描述spring-boot-starter核心starter,包含自动配置、日志、yaml配置文件等支持spring-boot-starter-actuator准生产特性,用来监控和管理应用spring-boot-starter-remote-shell提供基于ssh协议的监控和管理spring-boot-starter-amqp使用...

2016-07-03 09:25:19 151

原创 支付账户的一点理解

1、账户是什么?账户本质是服务于权益的存储和支取;服务于资金权益的是资金账户,服务于会员权益的是会员账户,服务于特定商品购买权益的是特定商品账户。账户的权益人就是账户的主体,账户属性对应着人的特定属性,如QQ账户对应着人的社交属性、支付和资金账户对应着人的金融属性,市民卡账户对应着人的身份属性,游戏账户对应着人的娱乐属性等。 2、电子支付时代的账户服务特点?1)账户围绕式服务,...

2016-06-26 18:15:18 486

原创 Java8-Lambda

Lambda表达式可以理解为表示可传递的匿名函数的一种方式,可以简明地传递代码,例如排序://java8前的旧方式public void sortByOld() {   Comparator<Apple> byWeight = new Comparator<Apple>() {       @Override       public int com...

2016-06-26 16:15:39 98

原创 分布式服务框架设计指标

1、功能特性特性名功能名说明 服务订阅发布 配置化发布和引用服务 支持通过xml配置的方式发布和导入服务 服务自动发现机制 支持服务实时自动发现,由注册中心推送服务提供者地址,消费者不需要配置服务提供者地址,地址透明化 服务在线注册和取消注册 支持运行态注册和取消服务 服务路由 默认提供随机路由、轮询、基于权重的策略等...

2016-06-26 08:14:45 176

原创 行为面试-技术面试问题样例

1、请详细介绍,你曾经确立了一个比较高的目标,然后如何达成这个目标;2、你曾经如何领导一群人共同努力并达成目标;3、工作中,如何把不利因素变成有利因素,并达成目标;4、举例,如何通过沟通技巧和事实去说服别人;5、举例,如何与他人有效合作完成一件任务;6、举例一个你提出的创新想法,并成功的达成目标;7、举例你如何评估形式,把精力放在最重要的事情上,最后取得了比较好的结果;...

2015-09-20 20:31:03 566

原创 行为面试-技术面试流程

1、看简历、熟悉候选人;2、介绍自己、面试时间和流程;3、对方自我介绍;4、基于以往行为的问题;5、引导候选人回答问题;6、评估表现和各种事实根据;7、填表;8、决定;...

2015-09-20 20:22:59 236

原创 Android学习第二天

1、理解开发环境Android开发工作的准备、环境的搭建及配置理解ADT、SDK的功能;AVD:Android Virtual Device,是一个经过配置的模拟器,可以配置模拟器影像大小、触摸屏、轨迹球、摄像头、屏幕分辩率、键盘、GSM、GPS、SD卡支持、缓冲区大小等 2、DDMS使用Logcat使用android.util.Log类,其包括如下5个静态方法,它...

2013-10-23 13:38:15 79

原创 mysql之sql性能调优

一、优化查询SQL语句第一课1、理解EQP含义执行SQL语句时生成的QEP并不确定,每次执行相同的SQL也可能会由于周围环境因素的变化而生成不同的QEP2、通过Explain来分析sql语句    理解: key的含义、rows的含义3、验证表结构和确认表大小验证表结构:show create table 表名 \G确认表大小:show table status li...

2013-10-21 11:54:16 111

原创 Android学习第一天

1、Android系统架构,参考图2、应用层      Java语言编写的程序,由基于android平台的开发者开发3、应用框架层      为应用层提供核心功能API,包括组件有View、Content Providers、Resource Manager、Notification Manager、Activity Manager、Window Manager、Package...

2013-10-17 13:28:01 82

原创 JVM的垃圾回收

一、思考的三个问题1、哪些内存需要回收2、什么时候回收3、如何回收二、哪些内存需要回收1、引用计数算法使用的语言:Python、Squirrel、COM问题:无法解决循环引用的问题2、根搜索算法使用称为GC Roots的对象作为起点,从它们开始搜索,搜索所经过的路径称为引用链,当一个对象到GC Roots没有任何引用链时,可以判断该对象是可以回收的。可以作...

2013-10-16 06:17:02 89

原创 企业集成模式

一、企业应用集成模式1、文件传输集成模式     能共享数据,但缺乏时间特性2、共享数据库集成模式     把应用的数据存储在一个共享数据库中来集成应用,并制定数据库模式来处理不同应用的各种需求。     困难:提出一个统一的模式满足所有应用的需要;数据库会成为性能瓶颈点;3、远程方法调用集成模式     存在时序问题,即要按特定的顺序完成某个工作。4、消息传输集...

2013-05-22 15:19:44 361

原创 javascript基础

简介:javascript是一门函数式的面向对象编程语言javascript是由对象和简单类型组成。1、简单类型:数字、字符串、布尔值、null值和undefined值2、对象:对象是可变的键控集合,在javascript中,数组、函数、正则表达式都是对象,对象是属性的容器,其中每个属性都拥有名字和值,属性的名字可以是包括空字符串在内的任意字符串,属性值可以是除了undefined值外...

2012-11-13 11:42:44 95

原创 关于maven使用

一、依赖管理1、依赖查找2、依赖传递和冲突处理3、聚合和继承4、依赖范围5、版本管理二、仓库管理本地仓库--〉私有仓库--〉中心仓库私有仓库:nexus工具三、生命周期和插件管理//////////////////////////////////////////////////////////////////////1、maven初步...

2012-11-12 09:58:15 69

原创 java解惑

java解惑

2012-11-12 09:58:04 101

原创 设计模式

单例模式Singleton Repository模式:一种用来封装存储,读取和查找行为的机制,它模拟了一个对象集合。将领域模型从客户代码和数据映射层之间解耦出来。  ...

2012-11-12 09:57:54 96

原创 CSS样式

1、样式优先级规则:由上到下,优先级第增   外嵌样式表、内联样式表、行内样式表 2、CSS语法:选择器{property:value} 3、选择器选择器组成:元素选择器:p{font-size:20;color:red}类选择器:p.center{font-size:20;color:red}id选择器:例如:p#green{color:green} ...

2012-11-12 09:57:41 92

原创 sql语句由浅入深

一、常用函数1、decode函数:decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)举例:select monthid , decode (sale,1000,'D',2000,'C',3000,'B',4000,'A',’Other’) sale from output2、nvl函数3、sign函数:根据某个值是0、正数还是负数,分别返回0、1、-...

2012-11-06 18:24:36 122

原创 java虚拟机

一、java虚拟机生命周期结束情况1、程序正常结束2、System.exit3、程序异常结束4、操作系统异常导致虚拟机结束二、类的加载、连接与初始化1、加载:查找并加载类的二进制数据1)将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区中,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。2)加载.class文件的方式,从...

2012-11-04 18:11:17 102

原创 数据结构和算法-java

一、数学知识复习1、指数2、对数:指数和对数关系3、级数二、数组1、排序算法1)冒泡排序2)交换排序3)归并排序4)快速排序a、选择枢纽元(pivot) 错误经验,选择第一个元素或选取前两个互异的元素中值较大的那个作为枢纽元。 安全做法:随机选取枢纽元,但是随机数开销比较大 三数中值分割法:b、分割策略5)堆排序2...

2012-11-04 06:45:59 103

原创 ognl与struts

OGNL是一种用于访问和设置对象数据的强大表达式语言,它可以自动导航对象图的结构,实现字段类型转换,调用对象方法,访问类的静态成员和方法。一、为什么使用OGNL它提供了比jsp内置表达式语言更为强大的功能,例如类型转换功能、静态或实例方法调用、跨集合投影、动态lambda表达式定义等。二、OGNL基础1、OGNL上下文的根对象2、OGNL表达式集合操作、投影、选择等三、...

2012-11-04 06:45:45 320

原创 memcache

它是一个高性能的分布式的内存对象缓存系统,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等,用于在动态应用中减少数据库负载,提升访问速度。memcached是什么?它是一个应用软件,是作为缓存服务器的服务器端运行在服务器上,需要使用特定的语言编写客户端与其进行通信来进行数据的缓存和获取。memcached的内存分配和重用机制:它采用预申请的方式管理内存分配,...

2012-10-29 12:28:06 89

JMeter中文使用手册

JMeter中文使用手册,Apache JMeter被用来测试包括基于静态和动态资源程序的性能.

2012-08-14

thinking in java 练习题答案

thinking in java 第2版 练习题答案,非常不错,对基础知识的掌握非常有用

2010-03-29

空空如也

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

TA关注的人

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