自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

cccfire的博客

有人爱,有事做,有所期待...

  • 博客(136)
  • 资源 (3)
  • 收藏
  • 关注

原创 登录github突然出现Two-factor authentication怎么办?

今天想登录github下载项目,输入用户名密码认证之后竟然弹出来了Two-factor authentication,像下图,我只记得之前好像开启过这玩意,但是不知道哪里找这个code了。在你的iphone里面搜索密码。然后找到github网页,就能看到验证码了。

2024-04-18 10:57:50 94

原创 Exchanger 怎么用J.U.C

Exchanger通常用来解决以下类似场景的问题,如下:两个线程间需要交换数据的问题,在多线程编程中,经常会有这样的场景:两个线程各自持有一些数据,并且需要在某个点上交换这些数据,Exchanger类提供了一个简单、高效的机制来实现这种数据交换。

2024-04-03 11:26:10 278

原创 Spring中最常用的11个扩展点

我们一说到spring,可能第一个想到的是 IOC(控制反转) 和 AOP(面向切面编程)。没错,它们是spring的基石,得益于它们的优秀设计,使得spring能够从众多优秀框架中脱颖而出。除此之外,我们在使用spring的过程中,有没有发现它的扩展能力非常强。由于这个优势的存在,让spring拥有强大的包容能力,让很多第三方应用能够轻松投入spring的怀抱。比如:rocketmq、mybatis、redis等。

2024-04-02 11:54:05 946

原创 (n - 1) & hash 为什么等于hash % n

为了能让 HashMap 存取高效,尽量较少碰撞,也就是要尽量把数据分配均匀,Hash 值的范围值-2147483648到2147483647,前后加起来大概40亿的映射空间,只要哈希函数映射得比较均匀松散,一般应用是很难出现碰撞的。但问题是一个40亿长度的数组,内存是放不下的。所以这个散列值是不能直接拿来用的。用之前还要先做对数组的长度取模运算,得到的余数才能用来要存放的位置也就是对应的数组下标。这个数组下标的计算方法是“ (n - 1) & hash”。(n代表数组长度)。

2024-04-02 11:44:08 412

原创 28. 找出字符串中第一个匹配项的下标

"leeto" 没有在 "leetcode" 中出现,所以返回 -1。字符串的第一个匹配项的下标(下标从 0 开始)。第一个匹配项的下标是 0 ,所以返回 0。"sad" 在下标 0 和 6 处匹配。

2023-10-31 14:15:41 114

原创 如何理解Spring的IOC和AOP

在传统的java应用中bean的生命周期很简单,使用new进行bean的实例化,然后该bean就可以使用了,一旦该bean不再被使用则由java自动。以及设置相关的属性,让spring容器来生成类的实例对象,在spring容器启动时候,spring会把你在配置中配置的bean都初始化好。这个Resource 指的是BeanDefinition的资源定位,这个过程就是容器找数据的过程。相比之前,spring容器中的bean的生命周期就相对复杂的多了,正确理解spring bean的生命周期非常重要。

2023-10-24 14:21:28 160

原创 docker常用命令

docker常用命令。

2023-10-20 15:30:40 84

原创 kong网关从入门到放弃

Kong网关是一个轻量级、快速、灵活的云名称API网关。Kong Gateway位于您的服务应用程序前面,可动态控制、分析和路由请求和响应。KongGateway通过使用灵活、低代码、基于插件的方法来实现您的API流量策略。除了对管理员进行身份验证和划分工作区外,Kong Gateway还能够使用分配给管理员的角色,对所有资源实施基于角色的访问控制(RBAC)。只能控制到接口层面,权限包括 create\read\update\delete 具体什么动作,不太清楚企业版才支持。konga也有必要了解一下。

2023-10-16 18:06:26 745

原创 解决kong部署自定义插件报 helloworld plugin is enabled but not installed

custom plugins \ kong \ 部署

2023-10-16 17:07:23 1136

原创 程序员对代码注释可以说是又爱又恨又双标……怎么看待程序员不写注释这一事件的呢?

程序员对代码注释可以说是又爱又恨又双标……怎么看待程序员不写注释这一事件的呢?

2023-10-09 18:06:39 149

原创 mysql中varchar长度为多少

可以看见当设置长度为65533时,已经超过行最大长度,我们可以计算一下,行最大长度是65535字节。还有默认为空,那么还有null标识位,( 1 + 7 ) / 8 =1,所以null标识位占用1个字节。现在我们来看看,65533 + 1 + 2=65536字节,已经大于行最大长度。这里2字节怎么来的?每个NULL字段用1bit标识,10个字段都是default null,那么需要用(10+7)/8bit = 2 bytes存储NULL标识位。那么上面这条语句中的varchar(N)的最大值是多少呢?

2023-10-09 16:02:12 2231

原创 Zuul网关探秘

Spring Cloud创建了一个嵌入式Zuul代理,以简化一个非常常见的用例的开发,在这个用例中,UI应用程序希望代理对一个或多个后端服务的调用。该功能对于用户界面来说非常有用,可以代理到所需的后端服务,从而避免了为所有后端独立管理CORS和身份验证问题的需要。

2023-09-13 11:50:35 409

原创 spring之bean的生命周期

spring之bean的生命周期。

2023-09-08 14:55:30 356 1

原创 数据库-事务篇

数据库-事务、锁、隔离级别

2022-11-06 21:52:52 384 1

原创 高并发读,高并发写解决方案

高并发读动静分离与CDN加速网站开发分为静态内容和动态内容两部分。1. 静态内容:常用的处理测了就是CDN,一个静态文件缓存到网络各个节点。加缓存当数据库支持不住时,首先想到的是加一层缓存,一种是本地缓存,另一种是集中式缓存,比如redis缓存的数据结构通常是<k,v>结构,v是普通对象也有复杂一点的<k,list> <k,hash>结构缓存的更新有两种,一种是主动更新,当数据库数据发生变更时,主动的更新缓存中的数据,另一种是被动更新,当用户的查

2022-05-03 00:05:17 2938

原创 转换json自定义返回属性,转换json忽略某个属性注解

问题在开发中,我们定义的对象,接口返回json,有些属性不想返回,有些属性我们想转换一下返回!怎么处理呢?解决@JsonProperty 在转换json时候会把org作为SZDW进行返回@JsonIgnore 在转换json不处理该字段import com.fasterxml.jackson.annotation.JsonIgnore;import com.fasterxml.jackson.annotation.JsonProperty;@JsonProperty("SZDW")priva

2022-04-27 17:26:10 647

原创 Java8默认垃圾收集器介绍

如何确认自己的JDK使用的哪个垃圾收集器?在可以用jvm参数,打印自己的jdk版本和收集器信息 -XX:+PrintCommandLineFlags -version测试代码-指定参数启动/** * @author yangyuanliang * @version 1.9 * @date 2022/4/25 20:34 */public class JvmGC { public static void main(String[] args) { System.out.

2022-04-25 20:50:53 6008

原创 JAVA堆溢出OOM场景模拟及排除过程

模拟过程加参数定义最大堆空间和最小堆空间 -Xms20m -Xmx20m 加参数在堆溢出dump出当前的堆快照-XX:+HeapDumpOnOutOfMemoryError上代码import java.util.ArrayList;import java.util.List;/** * @author yangyuanliang * @version 1.9 * @date 2022/4/24 21:49 */public class HeapOOM { stati

2022-04-24 22:28:09 1469 1

原创 k8s中pod一直处于ContainerCreating状态

查询pod详情 kubectl describe pod -n namespace podname 发现docker使用空间满了 清理docker空间docker system prunedocker images | grep "linkid" | awk 'NR>1 {print $3}' | xargs docker rmi -f

2021-11-10 10:46:48 1740

原创 html页面解析modelAndView返回的对象

后端ModelAndView modelAndView=new ModelAndView();modelAndView.setViewName("index");modelAndView.addObject("redirectUrl",redirect_uri);modelAndView.addObject("state",state);return modelAndView;前端<p th:utext=${redirectUrl} id="redirectUrl">&l

2021-08-27 17:55:35 1272

原创 springboot项目如何重写源码

背景在spring-security-oauth组件中获取用户信息接口,第三方返回的是{ "id":"xxxx", "attr":{ "xx":"" }}在security-oauth中解析用户信息写了public Authentication extractAuthentication(Map<String, ?> map) { //其中username,spring定义了固定值,并且没有配置final String USERNAME = "user_name"

2021-04-22 17:39:08 777

原创 LDAP支持TLS协议,JAVA客户端支持

服务端支持ldap的tls加密传输参考链接 https://www.golinuxcloud.com/configure-openldap-with-tls-certificates/安装openssl yum -y install openssl生成加密私钥 openssl genrsa -des3 -out ca.key 2048生成CA证书 openssl req -new -x509 -days 365 -key ca.key -out ca.cert.pem

2021-03-23 18:52:25 486

原创 CAS登出原理-源码分析

CAS-server登出如何保证客户端登出的?大致流程描述:server端登出会根据在webflow scope中存储的TGT信息查询ticket即st,然后根据st携带应用信息向客户端发送登出POST请求。客户端需要配置SingleSignOutFilter拦截器,在拦截器中将客户端的session失效。源码分析server端cas源码5.3.3TerminateSessionAction类 public Event doExecute(final RequestContext reque

2021-02-23 14:54:55 1358 1

原创 拉取docker镜像推送到私有仓库(公司仓库)

拉取docker hub镜像到linux[root@localhost ~]# docker search mysqlNAME DESCRIPTION STARS mysql MySQL 9727 [root@localhost ~]# docker pull mysql打t

2020-07-13 15:34:41 888

原创 JAVA修改jar包的内容

查看jar包内容[root@rg-sso-7b6694b4c-f5qdh app]# jar tf rg-0.0.1-SNAPSHOT.jar META-INF/META-INF/MANIFEST.MFBOOT-INF/BOOT-INF/classes/BOOT-INF/classes/services/BOOT-INF/classes/static/BOOT-INF/classes/static/css/BOOT-INF/classes/static/images/BOOT-INF/

2020-07-13 15:26:36 441

原创 记一次mysql故障处理过程

背景同事一个项目数据库mysql跑在docker容器里,一日前台报错,查询后发现mysql挂掉,他自己尝试重启docker start mysql,但是多次尝试并没有启动成功,同事在没有任何备份的情况下采用了,重装镜像的方法docker rm mysql把mysql的容器删掉,然后启动mysql容器,这次可是起来了,但是之前mysql的数据全部不在了。解决1. 查找之前mysql的 docker volume lslocal 0487ad80915eecf7c.

2020-07-03 17:41:25 246

原创 记一次mongo慢查询排查记录

背景近期收到客户反映,系统的认证日志不能根据用户查询接口总是报错具体报错为:com.mongodb.MongoSocketReadTimeoutException:Timeout while receiving message分析排查既然报错信息为mongo数据库超时,逐步定位应该是查询超时导致的。 于是连接生产数据库看下查询collection的总记录数 db.xxx.find({}).count(); 查到竟然有3000万条记录。 接下来思考为什么这么慢,mongo这么厉害3000万条应

2020-07-03 17:34:21 480

原创 SpringBoot的ApplicationRunner接口源码分析

看下这段源码,springboot会在所有的bean创建完成,上下文创建之后调用callRunners(context, applicationArguments);public ConfigurableApplicationContext run(String... args) { StopWatch stopWatch = new StopWatch(); stopWatch.start(); ConfigurableApplicationContext context =...

2020-05-13 13:53:28 565

原创 k8s容器如何开通nodeport供本地调用?

---apiVersion: v1kind: Servicemetadata: name: name namespace: namespacespec: type: NodePort ports: - port: 8901 targetPort: 8901 nodePort: 30901 selector: service: se...

2020-04-27 11:42:54 696

原创 ConcurrentHashMap源码分析

ConcurrentHashMap哈希表是非常高兴,复杂度为O(1)的数据结构,在JAVA开发中,我们最常见到最频繁使用的就是HashMap和HashTable,但是在线程竞争激烈的并发场景中使用都不够合理 //初始化数组 //如果sizeCtl小于0,说明别的数组正在进行初始化,让出执行权 //如果大于0 则出事后一个大小为sizeCtl的数组 //否则出事后...

2019-12-20 16:54:46 126

原创 HashMap源码分析

HashMap底层如何存储数据的HashMap几个主要的方法HashMap是如何确定元素存储位置的一级如何处理哈希冲突的HashMap的扩容机制是怎样的Jdk1.8在扩容和解决Hash冲突上对H啊是M阿婆源码做了那些改动,有什么好处?JDK1.7之前采用拉链法来存储数据,即数组和链表结合的方式拉链法又叫做链地址法,简单来说就是数组加链表的组合。在每个数组元素上存储的都是一个链...

2019-12-19 18:58:55 130

原创 ArrayList源码分析

ArrayList源码更多访问实现了RandomAccess接口说明是支持随机访问的。public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable默认的容量是10...

2019-12-18 18:15:39 107

原创 LinkedList源码学习

LinkedList基于双向链表实现,内部使用Node来存储链表的节点信息,也是实现了list接口。private static class Node<E> { E item; Node<E> next; Node<E> prev; Node(Node<E&...

2019-12-18 18:13:54 79

原创 spring源码学习(一)

spring源码学习记录spring的学习过程如有遗漏和错误忘见谅IOC容器 BeanFactory接口是最原始的ioc容器相关方法,只是在其中对ioc容器定义了最基本的行为,要想看工厂产生对象的过程就需要查看其实现类。在spring中有很多该接口的实现类其中一个就是xmlBeanFactory。Object getBean(String name) throws BeansExcept...

2019-11-19 16:40:09 127

原创 解决docker中mysql时区问题

问题数据库插入的时间统统相差8个小时。排查过程 //初步怀疑服务器时间不对。date看下时间是对的//然后怀疑代码问题,检查代码后没有问题//最后怀疑mysql的问题。--docker exec -it mysql /bin/bash--mysql -uroot -p --show variables like '%time_zone%' +-----------...

2019-10-29 15:33:36 1105

原创 只出现一次的数字

只出现一次的数字给定一个字符串 s,找到 s 中最长的回文子串。你可以假设s 的最大长度为 1000。给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例2:输入: [4,1,2,1,2]输出: ...

2019-10-24 19:34:15 123

原创 内功之排序算法

内功之排序算法排序无论在实际工作中还是在面试中难免会遇到,相当于武侠小说中的内功,一定要多多复习掌握原理,牢记掌握。以下是各个排序的总目录。1.选择排序2.冒泡排序3.插入排序4.快速排序5.归并排序6.堆排序7.希尔排序...

2019-10-16 16:21:22 397 1

原创 spring-boot-start原理分析

源码分析了解springboot的都知道启动类上经常又个@SpringBootApplication注解,这个注解点进去看下是包括一个自动配置很关键的注解,那就是@EnableAutoConfiguration注解。我们看下源码@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited...

2019-10-15 13:55:45 5776

原创 Navicat for mysql Mac 直接安装

直接安装如果提示文件被损坏请参考下载链接https://download.csdn.net/download/cccfire/11223394

2019-09-27 19:41:21 4740 2

原创 删除最外层括号

删除最外层括号原文链接有效括号字符串为空 ("")、"(" + A + “)” 或 A + B,其中 A 和 B 都是有效的括号字符串,+ 代表字符串的连接。例如,"","()","(())()" 和 “(()(()))” 都是有效的括号字符串。如果有效字符串 S 非空,且不存在将其拆分为 S = A+B 的方法,我们称其为原语(primitive),其中 A 和 B 都是非空有效括号字符串。...

2019-09-25 10:47:07 369

ThoughtWorks现代企业架构框架白皮书最新版

ThoughtWorks+架构师+后端

2023-10-11

navicat for mysql

navicat for mysql 很好用很好用很好用很好用很好用 tar -zxvf navicat

2020-01-06

谷歌编译之后的插件

打开谷歌浏览器,输入chrome://extensions/ 选择解压之后的文件,进入shells-〉chrome

2018-01-19

ffmpeg环境搭建所需包

linux构建ffmpeg环境,实现mp4到m3u8格式的转换。。。。

2017-12-15

空空如也

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

TA关注的人

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