- 博客(70)
- 资源 (1)
- 收藏
- 关注
转载 JVM可达性分析算法
JVM可达性分析算法 1、第一次标记:对象经过可达性分析,没有GCRoots引用链,则进行第一次标记筛选,筛选条件是:该对象是否必要执行finalize()方法:没有覆盖finalize方法或该方法已经执行过。可达性分析算法通过一系列成为GCRoots的对象作为起始点,从这些节点上向下搜索,所走过的路径称为引用链,当一个对象没有任何引用链与GCRoots连接时就说明此对象不可用,也就是对象不可达。2、方法中类的静态属性引用对象。
2023-06-26 15:23:15 137
原创 ThreadPoolTaskExecutor不得不说的坑
ThreadPoolTaskExecutor创建,ThreadPoolTaskExecutor决绝策略,ThreadPoolTaskExecutor的坑,ThreadPoolTaskExecutor死锁问题,ThreadPoolTaskExecutor原理,ThreadPoolTaskExecutor Springboot配置类ThreadPoolTaskExecutor配置类,ThreadPoolTaskExecutor使用...
2022-07-29 12:18:11 7594 7
原创 SpringBoot跨域解决与测试
部分参考:http://www.qishunwang.net/news_show_42081.aspx在Console输入下面的代码:var xhr = new XMLHttpRequest();xhr.open('GET', 'https://xxx.xxx/xxx');xhr.send(null);xhr.onload = function(e) { var xhr = e.target; console.log(xhr.responseText);}或者(functi
2021-09-04 13:29:04 643
原创 网络协议简介,http与socket对比
参考:互联网协议入门五层模型按照阮老师的分法分五层:应用层传输层网络层连接层实体层网络协议以太网协议连接层协议,数据结构:Head—Data以太网规定,一组电信号构成一个数据包,叫做"帧"(Frame)。每一帧分成两个部分:标头(Head)和数据(Data)。IP协议网络层协议,数据结构建立在以太网协议基础上:Head—Head—DataTCP协议传输层协议,能够把数据进一步分发到端口,建立端口到端口的信道:Head(以太网)—Head(IP)—Head(TCP)—Dat
2021-04-23 15:33:23 170
原创 关于socket的IO多路复用
来源文章:最多能创建多少个TCP连接?你管这破玩意叫 IO 多路复用?创建一个socket都需要哪些系统资源?内存资源CPU资源端口号资源文件描述符资源线程资源IO多路复用的发展历程阻塞IOread数据过程完全阻塞(不论有没有数据)可把read放在子线程中,实现主线程非阻塞非阻塞 IO在无数据时,read不再等待数据,而是返回无数据的状态值在读取数据时read仍然是阻塞的。IO 多路复用因为每一次read都是一次系统调用,所以如果一次read能够批量取回多个连接的数据状
2021-04-23 14:52:50 529
原创 iptalbes配置修改
编辑iptalbes配置 文件/etc/sysconfig/iptables# sample configuration for iptables service# you can edit this manually or use system-config-firewall# please do not ask us to add additional ports/services to this default configuration*filter:INPUT ACCEPT [0:0]
2021-02-22 09:56:32 121
原创 如何理解O(n)中的O和n
理解先看两个数学公式f(n) = 4n + 1000g(n) = 2n^2 + 5如果使用大O来表示f函数,则为O(n);如果使用大O来表示g函数,则为O(n^2);所以大O是一个线性函数。小n是样本的个数。我们在比较算法的时间复杂度的时候实际上比较的是括号内的内容是n,logn还是n^2等。到这里有人可能会想那为什么不能直接用n,logn,n^2来表示时间复杂度呢?n,logn,n^2只能算作一种趋势,实际上是在大多数时候我们关心的就是趋势而已,我们并不关心具体的公式是什么,所以我们把
2020-10-09 14:58:36 3064
原创 XWiki开发指南3-自定义扩展jar包
简介本文将介绍如何编写一个提供给前端脚本调用的后台接口。使用maven下载XWiki提供的模板项目保证你的maven已经安装,然后执行命令mvn archetype:generate \ -DarchetypeArtifactId=xwiki-commons-component-archetype \ -DarchetypeGroupId=org.xwiki.commons \ ...
2020-02-12 23:34:34 437
原创 XWiki开发指南0-使用docker安装XWiki
参考docker-xwiki项目的README,Using docker-compose一节使用docker-compose安装docker,这种方法异常简单几乎是一键安装。我们需要三个文件如下xwiki.cnf #xwiki的配置文件init.sql #数据库初始化文件docker-compose.yml #docker-compose文件README里边的文件下载地址有点问题,文件...
2020-02-10 22:14:02 2577 2
原创 xwiki开发指南1-使用XWiki创建FAQ应用
本文是按照XWiki官网开发指南-FAQ应用创建,自己翻译总结的版本。作为一个quick start,快速认识XWiki应用概念。此篇含有大量图片,一步步讲解应用创建过程。
2020-01-19 16:39:47 538
原创 Docker入门Kubernetes入门
解决一直卡在Kubernete is starting问题介绍docker和虚拟机有什么区别,按照官网指南通过实践一步步了解docker和Kubernetes,学习使用Dockerfile定义和部署镜像,学习使用Kubernetes yaml定义部署应用。docker三要素:镜像,容器,仓库Kubernetes三要素: Kubernetes Pods,Kubernetes Deployments,Kubernetes ServicesSwarm入门体验
2020-01-17 17:07:48 393
原创 powershell后台任务
开启后台任务命令:Start-Job,查看:Get-Job,停止:Stop-Job,移除:Remove-Job,还有其他Job管理命令,使用Windows PowerShell ISE查找命令功能可以很方便的查看到。powershell后台作业管理。
2020-01-16 13:39:13 6049
原创 基于CentOS7+docker+Nexus官方镜像搭建私有maven仓库
从docker安装开始,一步一步搭建完成Nexus。解决容器时区与宿主机不同问题。解决SonatypeOutreach timeout报错问题
2020-01-06 17:46:35 3068
转载 gradlew常用命令
./gradlew clean clean项目./gradlew build 构建项目./gradlew assembleDebug or /gradlew aD 编译并打Debug包./gradlew assembleRelease or /gradlew aR 编译并打Release的包./gradlew installRelease or /gradlew iR Release模...
2019-08-06 10:59:38 907
原创 字符串算法(待修订)
字符串草稿字母表1索引计数法低位优先2索引计数法高位优先public static class MSD{ private static int R = 256;//基数 private static final int M = 15;//小树组的切换阈值 private static String[] aux;//数据分类的辅助数组 private stat...
2019-02-21 15:38:29 170
原创 一步步实现spring-boot-starter
#导言首先欢迎关注我的微信小专栏本文通过一步一步的实现一个自定义的spring-boot-starter来了解spring-boot的内部机制,读者最好把示例项目learnbystep-spring-boot-starter 克隆下来,跟随文章进行实践,希望这篇文章会让你有所收获。下面进入正题。#实现一个自己的Spring boot starter使用过spring boot的都知道,...
2018-11-15 11:16:23 391
原创 maven使用
1.maven的pom文件中仓库配置不起效查看 maven 的settings.xml文件<mirrors> <mirror> ... <mirrorOf>*</mirrorOf> ... </mirror><mirrors&a
2018-11-06 14:51:01 118
原创 redis知识点
1.Redis键空间通知配置文件项目 notify-keyspace-events使用config set 可以设置配置项并且实时生效比如:要设置键过期通知可以先使用命令配置config set notify-keyspace-events xE,再在配置文件配置notify-keyspace-events “xE” ,这样即可以实时生效,重启以后配置也不会改变。在监听键过期通知时,如果设...
2018-10-31 10:30:46 166
原创 实现基于redis的分布式锁并集成spring-boot-starter
Introduction基于redis的分布式锁Features分布式锁锁降级(支持锁重试)Quick Start环境准备本地安装好redis,启动redis服务(默认端口)下载代码从github克隆代码到本地,导入项目运行测试用例运行redislock-spring-boot-starter-test里的RedislockTest测试用例Documentation...
2018-10-25 12:06:15 2248 6
原创 RabbitMQ
问题:rabbitmq的管理员密码忘掉了无法登录到管理界面解决:直接使用rabbitmqctl这个命令与管理界面的功能基本相同,或者可以说管理界面就是对rabbitmqctl的图形化扩展。以下为rabbitmqctl的自我介绍Usage:rabbitmqctl [-n <node>] [-t <timeout>] [-q] <command&
2018-10-16 17:16:17 528
转载 如何设计redis分布式锁
文章目录分布式锁的实现有哪些?1.Memcached分布式锁2.Redis分布式锁3.Zookeeper分布式锁4.Chubby如何用Redis实现分布式锁?1.加锁2.解锁3.锁超时4.综合分析1. setnx和expire的非原子性2. del 导致误删3. 出现并发的可能性本文转自程序员小灰-漫画:什么是分布式锁?,主要为了方便自己复习去掉了很多很有意思但是有点占篇幅的漫画,首次学习可以去...
2018-10-09 17:46:09 1536
原创 其他符号表
散列表如果键都是小整数,用一个数组实现无序的符号表,将键直接作为数组索引。这样我们就可以快速访问任意键的值。基于这种思想设计的数据结构就是散列表。查找算法1.使用散列函数将键转化为索引优秀的散列函数满足:一致性:等价的键必然产生相等的散列值高效性:计算简便均匀性:均匀地散列所有的键2.处理碰撞冲突处理碰撞冲突的两种方法:拉链法和线性探测法。 散列表是算...
2018-07-06 11:42:58 204
原创 算法-查找(红黑树)
查找符号表最主要的目的是将一个键合一个值联系起来。用例能够将一个键值对插入符号表并希望在之后能够从符号表的所有键值对中按照键直接找到对应的值,即以键值对为单元的数据结构。无序链表顺序查找性能:N方有序数组二分查找代码public int rank(Key key){ int lo = 0,hi = N-1; while(lo <= hi){...
2018-06-16 11:37:56 7337
原创 spring boot笔记整理
spring boot 了解这个博客不错 Spring Boot Actuator权限问题spring cloud stream学习首先要了解rabbitmq rabbitmq进一步了解 rabbitmq下载安装(mac): 执行命令:brew install rabbitmq 然后等一年就好了 安装和基本启动操作其实官网都有安装成功后注意最后几行的打印信息,我的是这...
2018-06-12 11:07:43 191
原创 feign接口使用JSONObject作为参数遇到的问题
首先有几个小知识点需要强调一下:当方法的参数是对象时,参数其实是对象引用的拷贝对象的hashCode是两个对象equals的依据,但hashCode相等不代表他们是同一个对象。验证两个对象是否是同一个对象,可以使用“==“。先上出现问题的代码 feign接口import com.alibaba.fastjson.JSONObject;import org.springfra...
2018-05-08 17:57:20 13340
原创 算法-排序
时间复杂度解决问题的通常步骤完整而详细地定义问题,找出解决问题所必需的基本抽象操作并定义一份API简洁地实现一种初级算法,给出一个精心组织的开发用例并使用时机数作为输入当前算法所能解决问题的最大规模达不到期望时决定改进还是放弃逐步改进实现,通过经验性分析或数学分析验证改进后的效果用更高层次的抽象表示数据结构或算法来设计更高级的改进版本如果可能尽量为最坏情况下的性能提供保...
2018-04-28 18:25:33 178
原创 git知识点
一、删除分支:查看所有分支git branch -a 2. 删除本地分支git branch -d 删除远程分支git push origin –delete 查看远程库信息,可以看到一些本地存在但远程已被删除的分支(git branch -a 看不到此信息)git remote show origin删除本地在远程已经不存在的分支git re...
2018-04-28 18:15:36 152
原创 使用fastjson时,null值在转JSONObject时丢失的问题
在使用fastjson时遇到了一个问题,在value是null时parseObject会自动把该键值对“去掉“。但后来发现虽然打印不出来,但是对象里边的键值对仍然是存在的,可见是JSONObject的toString()方法没有对value为null的键值对进行打印而已。可以设置toJSONString()的参数,就可以把null值打印出来了。 测试如图: ...
2018-04-25 18:21:30 14525 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人