自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(106)
  • 资源 (4)
  • 收藏
  • 关注

翻译 使用minikube搭建k8s本地环境(Ubuntu20.04)

最初,某些服务(如存储预配程序)可能尚未处于“正在运行”状态。这是群集启动期间的正常情况,会立即自行解决。

2023-03-27 23:27:17 377

原创 Ubuntu + Charles 无法抓包HTTPS,提示证书无效

ubuntu + charles抓包

2022-11-30 16:43:22 962

原创 Spring事务的传播属性

事务的传播属性传播描述REQUIRED如果现有的事务正在运行,当前方法在这个事务中运行,否则应该启动新的事务,并且在自己的事务中运行REQUIRE NEW当前方法必须启动新事务,并且在自己的事务中运行,如果现有的事务正在运行,那么它应该被挂起。SUPPORT当前现有的事务正在运行,当前事务应该运行在这个事务中,否则,它没必要运行在事务中。NOT SUP...

2022-11-06 12:45:27 190

原创 Redis Geo地理位置服务计算性能测试

之前和领导交流的时候,探讨过基于redis的LBS服务,当时他表示“redis geo性能很垃圾,自己亲自压测过,只有200多qps”。为了排除web容器的影响,因此我采用JMeter Java对象测试方式,我们自定义压力测试类编写业务测试逻辑,主要是实现JMeter的接口,然后打成Jar包,丢到JMeter的lib目录下运行。目前根据我自己的测试结果,redis geo操作应该不会存在什么性能瓶颈的问题,至于前面同事说的200qps,可能测试过程中实物导致的。8线程情况下,QPS= 36544。

2022-10-14 15:16:04 1691

原创 Scala基础

变量声明在声明变量时,Scala 允许你决定该变量是不可变(只读)的,还是可变的(读写)。如下所示,不可变的“变量”用 val 关键字声明:val array: Array[String] = new Array(5)Scala 的大部分变量事实上是指向堆内存对象的引用,这一点与 Java 一致。所以,以上代码中的 array 也是一个引用,它不能指向其他 Array,但所指向的 Array 中的元素是可变的,如下所示:一个 val 变量在声明时必须被初始化。类似地,一个可变变量用关键字 var

2021-01-17 17:22:10 441

原创 Hbase入门篇

文档:HBase 简介.note 链接:http://note.youdao.com/noteshare?id=5e8ecdad7e7c8fde3bfdd9f1b4a6b70e&sub=C099341E9E2944AF978013E6FE707C5A第一章 HBase 简介1.1 HBase定义HBase是一种分布式、可扩展、支持海联数据存储的NoSQL数据库。1.2 HBase 数据模型逻辑上,HBase的数据模型同关系型数据库很类似,数据存储在一张表中,有行有列,但从HBas

2020-11-29 20:41:42 353

翻译 windows 流氓软件无法删除

在Win10系统中,很多用户经常在修改、删除或重命名系统文件时会遇到提示:“你需要权限才能执行此操作”,Windows10无法修改文件提示“你需要权限才能执行此操作”怎么办?其实我们只要设置下系统权限,下面小编给大家介绍Windows10无法修改文件提示“你需要权限才能执行此操作”的解决方法。1、右键点击文件,选择属性;2、然后点击【安全】选项卡,再点击【高级】按钮;#f#3、进入高级设置中,再点击“更改”,如下图;4、在选择用户和组中,我们再点击高级,如下图:5、按

2020-09-09 12:56:38 2725

原创 广州细刻面试记录

虽然这家公司不是什么BAT大厂,估计也没有什么人会看到这篇文章,但是作为一个梦想着进Bat的渣渣,怎么能不对自己每次面试进行总结呢?回顾今天的面试,其实整体感觉还Ok的,结合着简历的项目经验问,但是问题就是自己笔试太水了,两道和算法沾边的,自己一道题都没做出来(找个借口,下大雨淋傻了,还有做笔试的时候旁边太吵了)。有一说一还是自己算法太水,平时几乎不关注这些东西,经历都在中间件上面,跟一些中间件的源码,说到底还是自己太水,大学那几年没认真花功夫在编程上,大学的学习只是为了应付期末考。环境很重要,如果可以

2020-08-19 21:09:08 750 2

原创 springsecurity5教程

springsecurity入门体验及源码分析(一)springsecurity @EnableWebSecurity 源码分析(二)spring security Authorize Tag授权标签spring security session共享示例及源码分析

2020-08-01 23:16:07 859

原创 redis6集群安装

redis 集群配置port 7005daemonize yespidfile /user/local/redis/redis/redis-7005-cluster.pidlogfile "7005-cluster.log"bind 0.0.0.0dir "/usr/local/redis/redis/data/cluster"cluster-enabled yescluster-config-file 7005-cluster.confcluster-node-timeout 6000

2020-07-13 23:27:04 804

原创 aliyun安装redis6.0最新版

安装gccredis源码需要编译,因此我们需要先安装gcc,需要保证gcc的版本大于等于5。// 查看gcc版本gcc -v如果不是5以上的版本,安装gcc:#升级到 5.3及以上版本yum -y install centos-release-sclyum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutilsscl enable devtoolset-9 bash``注意:scl命令启用只是临时

2020-07-05 18:28:16 526 1

原创 读spring源码之理解TargetSource

今天在看spring plugin的源码时候遇到了这个TargetSource。具体代码:public OrderAwarePluginRegistry<T, S> getObject() { return OrderAwarePluginRegistry.create(getBeans());}在getBeans()里代码如下:protected List<T> getBeans() { ProxyFactory factory = new ProxyFact

2020-07-05 16:25:48 1081

原创 深入剖析spring代理工厂创建代理对象

基础回顾JDK是怎么创建代理对象的JDK代理只能针对接口进行代理,因而被代理类必须先实现一个接口public interface ActionService { /** * who做something事情 * @param who */ void dosomething(String who);}danceAction 实现类public class DanceActionService implements ActionService { @Override publ.

2020-06-14 16:06:00 743

原创 Guava并发编程知多少

前言本篇文章我想给大家介绍guava并发包下的Future组件。说到Future,大家应该会想到JDK的Future组件,大家对这个组件一定不会陌生。如果你对这个压根没啥印象,建议你还是先补下课,再来看这篇文章。前置知识:FutureFutureTaskCallableRunnable建议大家这些基本的类库还是要会用。严归正传,为什么要介绍guava并发包的Future呢,原因有二:JDK的Future组件是异步阻塞的,在获取异步任务的结果的时候,会阻塞主线程。gu

2020-05-30 17:18:07 681

原创 shiro 权限管理实现session redis共享,去除jedisCluster客户端

参考博客http://www.blog.evanzhou.top/2020/05/24/shiroshixiansessiongongxiangshixianquchujedisclusteryilai/

2020-05-24 23:48:39 316

原创 java序列化知多少

1 序列化概念大多数小伙伴肯定知道什么是序列化啦!也不用我多说。序列化主要有两个作用:对象持久化和网络间传输。对象持久化例如,把对象转换成二进制流写入到磁盘上。网络间传输,在rpc框架间用的很广泛。序列化:把对象编码成二进制流的过程叫做序列化。反序列化:把对象二进制流转换为对象的过程叫做反序列化。2 如何运用好序列化“如何运用好序列化”看到这个标题你会很诧异,"呵,这还不简单,实现Serializable接口不就完事了吗,很难吗?“三年前我那会刚毕业出来找工作的时候,面试官问我"你是如何实现序

2020-05-23 16:23:08 560

原创 webmagic爬取lg职位信息

package us.codecraft.webmagic.downloader;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;import org.openqa.selenium.Cookie;import us.codecraft.webmagic.Page;import u...

2020-03-13 08:56:18 240

原创 深入OAuth2 微服务下的SSO单点登录

优缺点适用于场景

2020-03-01 21:52:39 2001 4

原创 微服务下使用OAuth2实现网关安全

在微服务下Spring Security实现Oauth2协议 入门篇我们介绍了如何在微服务下基于OAuth2协议构建认证服务器和资源服务器。资源服务器会检查请求头里面是否带上了token,并去认证服务器校验这个token是否合法,是否过期,是否有权限做对应的操作。显然随着微服务数量的增长,在每一个微服务上都要做资源服务器的配置实不可取的,因此我们需要把这部分的操作交由网关去处理。在上一节中chec...

2020-02-26 13:39:00 1773

原创 微服务下Spring Security实现Oauth2协议 入门篇

SpringCloud下OAuth2实现网关安全架构图添加依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-oauth2</artifactId> </dependency&g...

2020-02-25 22:56:21 652 2

原创 fastDFS java 客户端公网下无法上传图片

fastDFS java 客户端公网下无法上传图片,客户端报错不能获取连接。debug发现 ip_addr的地址是内网的地址,时间上我们是已经连接上了trancker,并且返回了storage的ip端口信息,只是返回的ip是内网地址。所以解决办法:修改 storagevim storage.conf...

2020-02-22 13:45:19 454 2

原创 Class.getResource("")和Class.getResource("/")区别

Class.getResource()有/没有/的区别:有/ 代表从classpath根目录/ 没有path代表当前文件所在路径 URL resourc1 = GridFsTest.class.getResource(""); URL resource2 = GridFsTest.class.getResource("/");ClassLoader.getResource()不能以“/”...

2020-02-19 19:05:27 475

原创 nginx做图片服务器,图片404无法访问

用nginx搭建图片服务器的时候,如果图片访问不了,看下配置文件中,其他地方如果定义了location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ 请删除

2020-02-14 15:07:31 1369 1

原创 OAuth协议的四种模式

密码模式 Resource Owner Password授权码模式 Authorization code grant密码模式1、用户提供用户名和密码给客户端应用2、客户端应用使用用户提供的用户名和密码和自己应用的ClientId和ClientSecrect请求令牌3、校验用户身份(用户名密码)和客户端应用身份(ClientSecrect)并返回访问令牌和刷新令牌缺点:不安全,密码会...

2020-02-09 00:06:46 1090

原创 Guava缓存

缓存写入的方式CacheLoader填充 @Test public void testCache () { //如果找不到,执行loadFromDB() CacheLoader<String, Employee> cacheLoader = CacheLoader.from(key -> loadFromDb(key...

2020-01-29 22:04:04 233

原创 Guava集合(一)新的集合类型篇

Guava引入了许多新的收集类型,这些类型不在JDK中,但是却十分有用。MultisetMultiset允许集合中插入重复的元素,Multiset只是一个实现类,其实现类有:Multiset子类是否支持空元素HashMultisetYesTreeMultisetYesLinkedHashMultisetYesConcurrentHashMultis...

2020-01-28 21:52:38 616

原创 Guava集合(二)工具类篇

Immutablexxx 不可变集合JDK 提供了Collections.unmodifiableXXX方法,为什么guava还有提供不可变方法。根据官网的描述我认为最大的原因有两个:jdk提供的不可变集合方法是不安全的,如果原有集合的引用在其它地方被持有,那么就不是真的不可变,可以通过原有集合的引用改变该“不可变集合”。低效:数据结构仍然具有可变集合的所有开销,包括并发修改检查,哈希表中...

2020-01-27 20:18:13 205

原创 guava使用二之哈希

Guava使用二之HashGuava包为什么要提供hashjava内置的hashcode算法被限制为32位的,而且算法与数据之间耦合严重,无法进行算法的替换。虽然JDK内置的hashcode算法快,但是碰撞严重在简单的散列表中可以通过再hash解决这个问题,但是guava官方认为在其它情况无法满足需求。HashFunctionHashFunction是一个纯无状态函数,它将任意数据块映射...

2020-01-16 12:15:56 1155

原创 整合shiro问题----数据库事务失效

spring事务管理spring事务管理支持两种类型。一种是编程式的事务类型,另外一种是声明式的事务类型。但是无论哪一种底层都采用spring事务管理器进行统一管理。spring事务管理介绍我之前写的还算比较详细:spring事务管理介绍spring事务失效的原因没有开启事务 @EnableTransactionManagement (如果使用springboot会自动配置开启该注解,注...

2019-12-29 00:39:44 252

原创 shiro(1)----基本概述

shiro 架构Authentication: 身份认证/登录,是一个可扩展点,可以自定义实现;可以使用认证 策略(Authentication Strategy),即什么情况下算用户认证通过了;Authorization: 权限验证,决定用户有什么样的访问权限。Session Management: 用户session管理,支持非 web环境以及EJB。Cryptography: 加...

2019-12-19 01:25:51 221

原创 web应用认证概述

1 常见的认证方式1.1 Http Basic Auth每次请求都提供用户的用户名和密码。简单说 Basic Auth是配合Restful API 使用的最简单的认证方式,只需提供用户名密码即可,但是存在把用户名暴露给第三方客户端的风险,再生产环境中避免使用。1.2 Cookie AuthCookie认证机制就是为一次请求认证在服务端创建一个session对象,同时在客户端创建一个cook...

2019-12-18 00:27:29 349

原创 ElasticSearch删除所有文档数据以及更改索引类型

ElasticSearch删除所有的文档数据ElasticSearch更改索引结构

2019-11-29 10:58:14 1925

原创 java8流式API

title: java8新特性date: 2019-11-16 19:42:22tags: java8stream流式APIstream 的思想是内部迭代,for-each是外部迭代。stream 优势:并行 能充分利用多核能直观描述数据的操作,代码可读性更高创建流的方式// 1、创建stream的方式,通过Collection集合提供的stream或者par...

2019-11-20 23:50:08 1203

原创 使用Rancher cattle编排容器

#rancher 使用入门准备条件:首先需要上传docker镜像推送docker镜像到腾讯云登录腾讯云sudo docker login --username=100008761917 hub.tencentyun.com推送镜像docker tag d7003dc34f04 hub.tencentyun.com/evanzhou/springcloud:d7003dc34f04do...

2019-10-08 14:54:12 1913

原创 Docker入门到摔门

1、Docker简介1.1、Docker和VM的区别VM是硬件虚拟化技术,使用HypeVisor将硬件资源划分为虚拟资源。Docker是操作系统虚拟化技术,将系统资源划分为虚拟资源。1.2 优势虚拟机需要使用额外的开销,容器并不是完整的操作系统,占用资源少,启动更快。2、Docker 安装我是参照这篇博客安装的,当然也有官方文档教程安装完,执行docker命令 出现错误提示:...

2019-09-23 16:34:02 232

原创 java UnSafe 操作 ----一句话博客

Java是一种安全的编程语言,它可以防止程序员犯许多愚蠢的错误,这些错误大多数是基于内存管理的。但是,有一种方法可以使用Unsafe类有意地犯此类错误http://mishadoff.com/blog/java-magic-part-4-sun-dot-misc-dot-unsafe/...

2019-09-22 20:34:10 278

原创 java nio

14. Buffers传统应用程序设计上采用同步I/O,这些应用具有如下特征:文件可能会很大,有可能吧整个文件读入内存。应用程序在同一时间只读取或写入几个文件或网络连接,理想情况下只使用一个流一次。应用是有序的,在完成读文件或写文件之前,不能够做其他的事情。只要这些特性保持不变,基于流的输入/输出就相当快并且运行得相当高效。然而,如果违反了这些先决条件,标准I/O模型开始暴露一些缺...

2019-09-22 10:27:14 356

原创 ConcurrentHashMap原理

ConcurrentHashMap初始化创建concurrentHashMap实例// 默认情况下初始容量是16,加载因子0.75,并发级别16public ConcurrentHashMap(int initialCapacity,float loadFactor, int concurrencyLevel) { if (!(loadFactor > 0) || in...

2019-09-21 14:04:00 184

原创 字面量和new String()垃圾回收相关

public class ImmutableStrings{ public static void main(String[] args) { String one = "someString"; String two = new String("someString"); one = two = null; ...

2019-09-06 16:04:25 369

原创 往数据库里导cvs数据

SQLyogexcel另存为csv文件表右键–> 导入 --> 本地加载csv数据改变 --> 填写excel友好值字符集 --> gbk (可能有时gbk不行, 就选utf8)文件选上面csv文件...

2019-09-04 15:12:53 264

HeaderFirst读书笔记代码.zip

java header first读书笔记的源码,读书笔记在我的博客里https://blog.csdn.net/x380481791/article/details/77016511

2020-02-24

kibana-6.rar

ElasticSearch6.4.2 windows版本 ElasticSearch6.4.2 windows版本 ElasticSearch6.4.2 windows版本 解压即可运行

2019-11-08

谷歌插件web测试postman_Interceptor

如果大家有对这两个插件的安装使用不明白的 可以去看我的博客 如果 还是有什么问题 可以私聊我

2018-07-09

Search And Replace

搜索文件夹下面的任意文件是否包含某个内容。例如搜索字符串,还可以正则表达式匹配。

2018-07-03

空空如也

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

TA关注的人

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