- 博客(167)
- 资源 (7)
- 收藏
- 关注
原创 Go学习第六天
value是实际变量值,type是实际变量的类型。一个interface{}类型的变量包含了2个指针,一个指针指向值的类型【对应concrete type】,另外一个指针指向实际的值【对应value】。type: static || concrete 要么是静态类型,要么是具体类型。
2023-08-06 10:45:00
221
原创 Go学习第三天
声明map后,一定要make开辟空间,否则会报越界且不能使用// 第一种声明方式 // 声明myMap1是一种map类型 key是string value是string var myMap1 map [ string ] string // 判断一下map在未开辟空间之前是否为空 if myMap1 == nil {
2023-08-03 21:00:00
142
原创 Go学习第二天
当apend的时候,如果长度增加后超过初始容量,则会动态增加cap倍数的容量,比如,cap初始值为5,那么就会动态增加5,总长则为10;如果defer和return在一个方法中同时存在,那么return之后的语句先执行,defer后的语句后执行。方式一、方式二、方式三可以用于全局变量,方式四则不行,只能在函数体中声明。cap 如果在make的时候不指定默认值,则cap值就是len值。slice 切片,动态数组的类型。
2023-08-02 09:00:00
94
原创 Go学习第一天
从事java后端开发8年多,期间也曾零星看过Go语言、Python、Erlang等等,但都未曾认真学习过,恰好公司最近项目需要,之前用Go开发的项目因为同事离职,暂未人来接手,所以老大就找到我和另外一个同事,希望我们俩尽快把Go学起来并把项目维护起,给了两个周的过渡期,说实话,时间真的挺紧的,但是问题不大,闲聊到此,赶紧学起来吧!也可以使用”.“ 的方式进行导包,这样在调用接口的时候,就不用加类名,如果两个方法同名且在不同的类中,那么不建议使用”.”的方式。
2023-08-01 20:35:30
378
原创 jdk8使用okhttp发送http2请求
在早期,原生的JDK8是不支持HTTP/2协议的,所以,要想使用这个特性,需要有web服务器和应用环境的支持,但是从8u252开始,ALPN层已经从Java 11向后移植到了Java 8。意味着,只要使用Java。重点来了:一定要先检查自己的jdk版本是否大于8u252,然后就可以在项目中集成okhttp。8u252或更新版本,不再要求使用Conscrypt和Jetty就可以使用HTTP/2了。本文主要用于工作记录,在项目中遇到了就记录一下。简单封装获取http2client请求。
2023-07-28 10:34:07
1657
原创 HikariCP连接池
因为spring boot 2.0使用hikariCP作为默认连接池,所以hikariCP的依赖已经默认集成了,hikariCP的依赖集成在了spring-boot-starter-jdbc和spring-boot-starter-data-jpa中,我们不需要另外引入hikariCP相关的依赖,这里只是引入了Mysql的依赖和JDBC依赖。HikariCP连接池是高性能的JDBC连接池,官网标注的三大特点:快速、简单、可靠,性能优于其他连接池。## 连接池是否越大越好?####3.不常用配置。
2023-07-26 21:28:37
240
原创 git回退到指定版本
2、找到需要回滚的commit,输入git reset --hard {commitId},将本地文件回滚。4、执行成功之后,最终提示一系列内容,然后远程就回滚成功了。在控制台输入:git reflog。在控制台中输入:git log。1、查找commitId。git回退到指定版本。
2023-07-19 10:20:03
349
原创 mysql字符集小总结
解释一下:character_set_client //客户端字符集character_set_connection //连接字符集character_set_database //mysql数据库字符集character_set_filesystem //文件系统字符集character_set_results //结果集字符集character_set_server //服务器字符集character_set_system //系统字符集。
2023-06-28 20:18:41
134
原创 IntelliJ IDEA设置JVM运行参数
IDEA 编辑器相关设置IDEA系统区分32 位:idea.exe.vmoptions64 位:idea64.exe.vmoptions64位为例:-Xms512m -Xmx1024m -XX:MaxPermSize=512m -XX:ReservedCodeCacheSize=225m -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyM...
2021-07-19 17:17:04
1303
原创 WebMagic爬虫框架简单使用
背景:纯属自我爱好和学习,目前只是简单使用,在日常工作中并没有实际应用场景。官网地址: 点我去WebMagic官网官方文档地址:点我去官方文档直接上代码:import us.codecraft.webmagic.Page;import us.codecraft.webmagic.Request;import us.codecraft.webmagic.Site;import us.codecraft.webmagic.Spider;import us.codecraft.webmagic
2021-01-27 17:51:33
284
原创 数据结构简单总结
数据结构什么是数组?数组是由有限个相同类型的变量所组成有序集合,它的物理存储方式是顺序存储,访问方式是随机访问。利用下表查找数据元素的时间复杂度是O(1),中间插入、删除数组元素的时间复杂度是O(n)。什么是链表?链表是一种链式数据结构,由若干节点组成,每个节点包含指向下一节点的指针。链表的物理存储方式是随机存储,访问方式是顺序访问。查找链表的时间复杂度是O(n),中间插入、删除节点的时间复杂度是O(1)。什么是栈?栈是一种线性逻辑结构,可以用数组实现,也可以用链表实现。栈包含入栈和出栈
2020-09-02 09:50:12
136
原创 SpringBoot下DataSource连接配置
基本设置spring.datasource.secondary.url=jdbc:mysql://localhost:3306/test2?useUnicode=true&characterEncoding=utf-8spring.datasource.secondary.username=testspring.datasource.secondary.password=123456spring.datasource.secondary.driver-class-name=com.mysql
2020-07-06 17:06:13
8188
原创 Netty入门代码
Netty入门代码public void start(int port) throws Exception { EventLoopGroup bossGroup = new NioEventLoopGroup(); EventLoopGroup workerGroup = new NioEventLoopGroup(); try { ServerBootstrap b = new ServerBootstrap(); b.channel(NioServerSock
2020-05-19 19:10:01
255
转载 28个Java开发常用规范技巧总结
常用的规范技巧总结(参考自:华山版《Java开发手册》)1、类的命名使用驼峰式命名的规范。例如:UserService,但是以下情景例外:DO / BO / PO / DTO / VO。例如说:UserPO,StudentPO(PO,VO,DTO,等这类名词需要全大写)@Data@Builderpublic class CustomBodyDTO { private S...
2020-03-02 10:29:49
352
原创 开会法则
在日常工作中,为了达成一定共识,共同理解一件事情,开会是不可避免的事情,但是我极度讨厌又臭又长的无用会,那不像是开会,反而像私底下聚会,天南海北的乱吹牛逼,会议结束后什么都没有留下,该谈的事情一句也没整明白,一脸懵逼的进来,一脸懵逼的出去,与其这样,我还不如多撸点代码来得实际。今天又看了一遍道哥的黑板报,觉得深得我意,所以把里面的内容摘抄下来当做记录,便于以后自己管理团队所需,当然这不是最好的方...
2020-02-08 10:08:30
530
转载 CQRS架构
CQRS架构简介前不久,看到博客园一位园友写了一篇文章,其中的观点是,要想高性能,需要尽量:避开网络开销(IO),避开海量数据,避开资源争夺。对于这3点,我觉得很有道理。所以也想谈一下,CQRS架构下是如何实现高性能的。关于CQRS(Command Query Responsibility Segregation)架构,大家应该不会陌生了。简单的说,就是一个系统,从架构上把它拆分为两部分:命令...
2019-12-26 16:38:49
845
原创 Nginx与多域名配置规范及样例
一、配置文件目录层级结构- conf/ - nginx.conf - vhost/ - domain1 - domain2 - ci.sisyphe.win- logs/- sbin/- html/二、配置文件模板1、nginx.confuser www;worker_processes 4; error_l...
2019-11-29 10:32:13
348
原创 Nginx安装
一、Nginx安装1、安装依赖包yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel2、安装pcrecd /usr/local/src#下载最新版本的,注意不要用pcre2wget https://jaist.dl.sourceforge.net/project/pcre/pcre/8.4...
2019-11-29 10:29:27
133
原创 Spring接入Prometheus
一、Spring Java端接入1、2.x版本接入Prometheua. pom依赖<dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-registry-prometheus</artifactId> <version...
2019-11-29 10:25:52
2016
原创 RabbitMQ程序中建议配置
MQ常规配置# RabbitMq集群配置 程序将自动连接其中的节点,自动切换节点spring.rabbitmq.addresses=host1:5672,host2:5672,host3:5672# 指定心跳超时,0为不指定spring.rabbitmq.requested-heartbeat=3000# 消息接收确认,可选模式:NONE(不确认)、AUTO(自动确认)、MANUAL...
2019-11-29 10:21:49
270
原创 MQ管理端配置
在MQ管理端配置配置全镜像,在policiess中增加配置 ha-mode:all,此参数表示所有节点全复制配置节点恢复后自动同步消息 ha-sync-mode: automatic在命令名配置开启管理端消息迁移:rabbitmq-plugins enable rabbitmq_shovel rabbitmq_shovel_management安装延时队列插件:rabbitmq_de...
2019-11-29 10:20:57
246
原创 413 Request Entity Too Large
解决413 Request Entity Too Large问题产生这种原因是因为服务器限制了返回数据大小nginx服务器的解决办法进入服务器,找到nginx下面的conf文件夹,vi nginx.confclient_max_body_size 50M;可以选择在http{ }中设置:client_max_body_size 50m;也可以选择在server{ }中设置:cli...
2019-11-19 14:10:06
213
原创 Long数据传递到前端精度丢失问题解决
后端把Long类型的数据传给前端,前端可能会出现精度丢失的情况。例如:201511200001722239这样一个Long类型的整数,传给前端后会变成201511200001722340。其实解决方案有两种:第一种:将Long类型更改为String类型,但是不建议。第二种:自定义解析方法/** * 解决Jackson导致Long型数据精度丢失问题 * * @...
2019-10-30 19:54:55
1591
原创 查询Linux重启时间
date -d "$(awk -F. '{print $1}' /proc/uptime) second ago" +"%Y-%m-%d %H:%M:%S"
2019-09-19 10:49:09
435
转载 RabbitMQ延迟消息的极限是多少?
之前在写Spring Cloud Stream专题内容的时候,特地介绍了一下如何使用RabbitMQ的延迟消息来实现定时任务。最近正好因为开发碰到了使用过程中发现,延迟消息没有效果,消息直接就被消费了的情况。因此就继续深入研究了一下问题原因,在此记录下来,给碰到类似问题的童鞋们参考。问题定位因为不是所有的消息都出现了没有延迟消息效果的因素,通过有问题的消息特征,大致猜测可能是延迟时间过长导致了...
2019-08-29 11:34:35
404
转载 了解什么是 redis 的雪崩、穿透和击穿?redis 崩溃之后会怎么样?系统该如何应对这种情况?如何处理 redis 的穿透?
面试题了解什么是 redis 的雪崩、穿透和击穿?redis 崩溃之后会怎么样?系统该如何应对这种情况?如何处理 redis 的穿透?面试官心理分析其实这是问到缓存必问的,因为缓存雪崩和穿透,是缓存最大的两个问题,要么不出现,一旦出现就是致命性的问题,所以面试官一定会问你。面试题剖析缓存雪崩对于系统 A,假设每天高峰期每秒 5000 个请求,本来缓存在高峰期可以扛住每秒 4000 个请...
2019-08-17 10:14:02
191
转载 redis 的持久化有哪几种方式?不同的持久化机制都有什么优缺点?持久化机制具体底层是如何实现的?
面试题redis 的持久化有哪几种方式?不同的持久化机制都有什么优缺点?持久化机制具体底层是如何实现的?面试官心理分析redis 如果仅仅只是将数据缓存在内存里面,如果 redis 宕机了再重启,内存里的数据就全部都弄丢了啊。你必须得用 redis 的持久化机制,将数据写入内存的同时,异步的慢慢的将数据写入磁盘文件里,进行持久化。如果 redis 宕机重启,自动从磁盘上加载之前持久化的一些...
2019-08-15 14:57:51
114
转载 redis 的过期策略都有哪些?内存淘汰机制都有哪些?手写一下 LRU 代码实现?
面试题redis 的过期策略都有哪些?内存淘汰机制都有哪些?手写一下 LRU 代码实现?面试官心理分析如果你连这个问题都不知道,上来就懵了,回答不出来,那线上你写代码的时候,想当然的认为写进 redis 的数据就一定会存在,后面导致系统各种 bug,谁来负责?常见的有两个问题:往 redis 写入的数据怎么没了?可能有同学会遇到,在生产环境的 redis 经常会丢掉一些数据,写进去...
2019-08-14 11:12:06
108
转载 redis 都有哪些数据类型?
面试题redis 都有哪些数据类型?分别在哪些场景下使用比较合适?面试官心理分析除非是面试官感觉看你简历,是工作 3 年以内的比较初级的同学,可能对技术没有很深入的研究,面试官才会问这类问题。否则,在宝贵的面试时间里,面试官实在不想多问。其实问这个问题,主要有两个原因:看看你到底有没有全面的了解 redis 有哪些功能,一般怎么来用,啥场景用什么,就怕你别就会最简单的 KV 操作;看...
2019-08-12 09:55:20
699
1
转载 redis 和 memcached 有什么区别?redis 的线程模型是什么?为什么 redis 单线程却能支撑高并发?
面试题redis 和 memcached 有什么区别?redis 的线程模型是什么?为什么 redis 单线程却能支撑高并发?面试官心理分析这个是问 redis 的时候,最基本的问题吧,redis 最基本的一个内部原理和特点,就是 redis 实际上是个单线程工作模型,你要是这个都不知道,那后面玩儿 redis 的时候,出了问题岂不是什么都不知道?还有可能面试官会问问你 redis 和 m...
2019-08-12 09:41:53
89
转载 缓存并发竞争问题是什么?
面试题redis 的并发竞争问题是什么?如何解决这个问题?了解 redis 事务的 CAS 方案吗?面试官心理分析这个也是线上非常常见的一个问题,就是多客户端同时并发写一个 key,可能本来应该先到的数据后到了,导致数据版本错了;或者是多客户端同时获取一个 key,修改值之后再写回去,只要顺序错了,数据就错了。而且 redis 自己就有天然解决这个问题的 CAS 类的乐观锁方案。面试题剖...
2019-08-07 21:32:41
2019
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人