- 博客(23)
- 收藏
- 关注
原创 java中String在编译期和运行期的长度限制
String的长度限制想要搞清楚这个问题,首先我们需要翻阅一下String的源码,看下其中是否有关于长度的限制或者定义。String类中有很多重载的构造函数,其中有几个是支持用户传入length来执行长度的:public String(byte bytes[], int offset, int length) 可以看到,这里面的参数length是使用int类型定义的,那么也就是说,String定义的时候,最大支持的长度就是int的最大范围值。根据Integer类的定义,java.lang.Int
2020-05-29 10:48:25 1046 5
原创 groovy使用collect令Map转List语法糖
String paramsStr = params?.collect({ k, v -> k + ‘=’ + v })?.join(’&’)groovy中对Map的collect也是返回一个List即Map tempMap = yourMap();List youNeedList = tempMap.collect({k,v-> //your rule})
2020-05-28 17:55:31 1433
原创 linux在线诊断java进程神器arthas入门基本操作
简介Arthas 是阿里巴巴最近才开源出来的一款 Java 诊断利器,它主要是针对线上环境,能够帮助我们更好的定位问题。先上一波官方文档https://alibaba.github.io/arthas/quick-start.html下面简略介绍了arthas的入门操作,还有好多更加好用的操作欢迎大家一起沟通下载和启动下载curl -O https://alibaba.github.io/arthas/arthas-demo.jararthas-demo是一个简单的程序,每隔一秒生成一个
2020-05-27 14:40:26 839
原创 java+springboot使用StringRedisTemplate实现redis的并发锁
redis的依赖先引入<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>并发锁相关命令介绍说到redis的并发锁就要先介绍一下这两个redis命令先上一波中文翻译官网http:/
2020-05-26 00:14:18 1258
原创 springboot整合mybatis使用xml实现sql语句的配置,在insert之后返回自增id
首先肯定还是引入mybatis依赖<!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter --><dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</arti
2020-05-23 15:35:47 19689 3
原创 docker容器的日志查看及docker logs的实现原理;docker查询镜像及其版本
docker logs的实现原理“Docker Daemon是Docker架构中一个常驻在后台的系统进程,它在后台启动了一个Server,Server负责接受Docker Client发送的请求;接受请求后,Server通过路由与分发调度,找到相应的Handler来执行请求。–《Docker源码分析》”当我们输入docker logs的时候会转化为Docker Client向Docker Daemon发起请求,Docker Daemon 在运行容器时会去创建一个协程(goroutine),绑定了整个容器
2020-05-23 00:46:25 4186
原创 ubuntu在线部署docker,在线脚本部署docker和离线.deb部署docker
这些在官方文档里说的最为清楚了…https://docs.docker.com/engine/install/ubuntu/
2020-05-22 00:14:50 301
原创 docker-compose的安装,kafka用docker-compose部署,docker和docker-compose的区别
第一步:安装docker-compose1.从github上下载docker-compose二进制文件安装下载最新版的docker-compose文件 $ sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose添加可执行权限 $ sudo chmod +x /usr/loc
2020-05-21 23:44:26 559
原创 利用curl模拟get请求和post请求以及下载上传,测试端口是否开放,tomcat是否假死
常用参数curl命令参数很多,这里只列出我曾经用过、特别是在shell脚本中用到过的那些。-v/–verbose 小写的v参数,用于打印更多信息,包括发送的请求信息,这在调试脚本是特别有用。-m/–max-time 指定处理的最大时长-H/–header 指定请求头参数-s/–slient 减少输出的信息,比如进度–connect-timeout 指定尝试连接的最大时长-x/–proxy <proxyhost[:port]> 指定代理服务器地址和端口,端口默认为1080-T
2020-05-21 22:18:41 796
原创 springboot整合mybatis,使用注解实现增删改查
首先肯定还是先引入依赖了<!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter --><dependency> <groupId>org.mybatis.spring.boot</groupId> <a...
2020-05-17 17:08:25 1098
原创 TCP协议三次握手和四次握手机制
tcp连接时三次握手3次握手其实就是在建立连接的时候1-客户端先发一个请求告诉服务端:你在吗,我准备发数据了2-服务端接收到之后,回应:我在,我准备好接受数据了,你还在吗3-客户端接到服务端的消息后,再次回应:我在,我们开始吧.这样连接就建立成功了tcp断开时四次挥手tcp在断开时1-客户端发消息告诉服务端我要准备断开了2-服务端接到消息后,回应客户端我这边处理完就断开3-服务端处理完之后,会告诉客户端我这边ok了,我们准备断开连接把4-客户端发消息给服务端回应说好的,我们断开把.然
2020-05-17 15:36:51 280
原创 ubuntu查看docker容器占用的磁盘空间
docker system dfdocker system df命令,类似于Linux上的df命令,用于查看Docker的磁盘使用情况:docker system dfTYPE TOTAL ACTIVE SIZE RECLAIMABLEImages 147 36 7.204GB
2020-05-16 00:41:11 23203 5
原创 jrebel热部署插件有效减少Idea重启时间
JRebel是一款JVM插件,它使得Java代码修改后不用重启系统,立即生效。IDEA上原生是不支持热部署的,一般更新了 Java 文件后要手动重启 Tomcat 服务器,才能生效,浪费时间浪费生命。目前对于idea热部署最好的解决方案就是安装JRebel插件。步骤0:在idea的plugins里安装jrebel我直接离线安装的,因为有安装包,快的一批,装完会提示你重启zip包在官网下的https://plugins.jetbrains.com/plugin/4441-jrebel-and-xre
2020-05-15 13:46:15 2469
原创 websocket简介,nodejs做服务端的websocket,用nodejs实现websocket和socket_io整合的server端与client端
websocket传统的http请求只能是前端发起,后端响应但是websocket则是前端和后端都可以主动发送消息给另一方其本质是tcp连接,并且链接建立之后如果前后端都不去断开则可以一直存在http://www.websocket.org/前端使用js实现一个websocket小demows://echo.websocket.org/是官方的一个地址,你发送什么就返回什么<...
2020-05-13 16:38:26 3989 1
原创 redis存储中的五种基本数据结构string,hash,list,set,zset,以及每种结构的常用操作,
五种基本数据结构对redis进行批量插入数据和批量查找数据其实操作的时候就是类似传一个数组进去demo如下这个是我在控制台直接敲的127.0.0.1:6379[1]> mset user:2:111 test1 user:2:222 test2OK127.0.0.1:6379[1]> mget user:2:111 user:2:2221) "test1"2) "test2"...
2020-05-13 15:59:00 524
原创 springboot中的jackson对json格式数据的互转,json序列化时利用注解忽略/修改属性,指定序列化时的时间格式,手动配置ObjectMapper指定序列化策略
参考 https://www.jianshu.com/p/b804874b7a69
2020-05-11 16:16:54 3649
原创 js使用parseInt和toString进行进制转换;js向对象里添加属性
String类型的其他进制转换成十进制语法parseInt(string, radix)参数 描述string 必需。要被解析的字符串。radix 可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。例:把二进制 1010101010转换为十进制。var num = 10101010;
2020-05-08 20:49:04 647
原创 redis缓存雪崩,缓存穿透,缓存击穿
介绍一下一般用了缓存的正常的系统从左往右第三个就是缓存雪崩后的图片缓存雪崩就是这个缓存里面的值大面积的失效了
2020-05-08 13:04:32 122
原创 在使用limit的offset比较大的时候,使用子查询优化sql,减少回表操作
在使用limit的offset比较大的时候,比如从offeset=30000开始取5条数据select * from t where a = ‘11’ limit 30000,5有一张财务流水表,未分库分表,目前的数据量为9555695,分页查询使用到了limit,优化之前的查询耗时16 s 938 ms (execution: 16 s 831 ms, fetching: 107 ms),...
2020-05-07 17:36:58 1570 4
原创 mysql的索引略解,二叉树,红黑树,B Tree和B+Tree,回表操作解释
索引索引是帮助Mysql可以高效获取数据,一种已经排好序的数据结构,即数据存放方式用二叉树结构做索引的优缺点假设有如下一个表t,只有col1和col2两列,将col2设为索引,其索引结构如右边所示,二叉树的右节点的值是大于父节点的,左节点值小于父节点,所以比如查col2=89时,原先没有索引时依次遍历需要6次才能找到,现在有二叉树结构的勾引只需要2次当找到col2=89时,这个节点保存的是...
2020-05-07 17:21:54 520
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人