- 博客(61)
- 资源 (9)
- 收藏
- 关注
原创 Spring源码编译
Spring源码编译下载源代码下载地址:spring-framework编译前准备下载gradle-2.5下载地址:gradle附:历史版本:gradle-all配置环境变量GRADLE_HOME ##gradle安装目录GRADLE_USER_HOME ##gradle本地仓库目录跟maven类似编译编译整个工程gradle cleanidea eclipse编译依赖spring-cglib-repack-x.x.x.jar、spring-ob
2020-07-17 16:10:58
243
原创 ResourceBundle 中文乱码
ResourceBundle 中文乱码背景说明jdk中的ResourceBundle读取资源文件使用的默认编码方式(ISO-8859-1)读取文件。这个东东一直到现在都是这样.但是我们的大部分文件编码都是utf8格式的。所以读出来的中文都会是乱码的。解决方案方案一将中文字符转为unicode字符,这样属性文件里就没有中文了.这样不管是什么编码方式读出来的数据。读出来的数据都是中文的。方案二String bb = new String(rs.get(key).getbytes(“ISO-885
2020-07-15 16:59:19
1378
原创 apache应用下载地址
apache应用下载地址基础地址https://archive.apache.org/dist例如tomcathttps://archive.apache.org/dist/tomcat/jmeterhttps://archive.apache.org/dist/jmeter/binaries/rocketmqhttps://archive.apache.org/dist/rocketmq/
2020-06-09 13:44:17
332
原创 github加速访问
github加速访问修改域名解析地址修改hosts文件(C:\Windows\System32\drivers\etc)140.82.113.3 github.com151.101.76.133 raw.githubusercontent.com
2020-06-09 11:23:52
255
原创 ByteBuffer
ByteBuffer类简介重要成员变量byte[] hb// hb内部字节数组。position//当前读取的位置。mark//为某一读过的位置做标记,便于某些时候回退到该位置。capacity// 初始化时候的容量。limit// 当写数据到buffer中时,limit一般和capacity相等,当读数据时,limit代表buffer中有效数据的长度。重要方法clear()// 所有的指针初始化,字节数组东西还在buf.clear(); // Prepare
2020-05-24 20:38:11
165
原创 jdk各种版本下载
jdk7下载https://www.oracle.com/java/technologies/javase/javase7-archive-downloads.htmljdk8下载https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.htmljdk9下载https://www.oracle.com/java/technologies/javase/javase9-archive-do.
2020-05-22 12:35:05
653
原创 java Object
java Object类解析getClass()public final native Class<?> getClass();返回此 Object 的运行时类。返回的 Class 对象是由所表示类的 static synchronized 方法锁定的对象。hashCode()public native int hashCode()返回该对象的哈希码值。支持此方法是为了提高哈希表(例如 java.util.HashMap)的性能。hashCode 的常规协定是:
2020-05-21 10:57:41
173
原创 maven pom.xml org.apache.maven.archiver.MavenArchiver.getManifest
pom文件报错缺少maven插件添加install new softwarehttps://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/0.17.2/N/LATEST/目前网上打多少连接都是http的,但是现在不支持http了...
2020-04-19 11:24:30
260
原创 mqtt协议之mosquitto
mqtt协议之mosquitto场景物联网 (IOT) 设备必须连接互联网。通过连接到互联网,设备就能相互协作,以及与后端服务协同工作。互联网的基础网络协议是 TCP/IP。MQTT(消息队列遥测传输) 是基于 TCP/IP 协议栈而构建的,已成为IOT通信的标准。消息订阅import org.eclipse.paho.client.mqttv3.IMqttMessageListener;...
2020-04-01 14:48:32
2626
转载 常用git stash命令
常用git stash命令:git stash save “save message” : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。git stash list :查看stash了哪些存储git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git sta...
2020-03-27 11:29:16
190
原创 树论之哈夫曼树
树论之哈夫曼树给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。哈夫曼树构建哈夫曼树的节点都是叶子节点根据哈夫曼树的特点,构建树最好的选择当然是从底层开始。从底层开始构建时应该选择权重最小的2个值开始构建哈夫曼树的用途哈夫曼编...
2019-12-30 17:23:35
573
原创 树论之二叉搜索树
二叉搜索树二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。二叉搜索树操作因为二叉树搜索树的特点,我们插入一个元素必然需要从根节点开始查找整个树,直到...
2019-12-30 16:47:43
118
原创 图的搜索之广度优先
广度优先每次搜索·,搜索所有可达的点思路分析从起点出发查找所有可达的点。并加入队列出队元素查找所有可达的点。并加入队列继续第二步操作代码再现public class Bfs { //地图的大小 int n,m; //定义地图,如果值为0表示节点无障碍,值为1表示节点有障碍 int[][] data = null; //标记已经走过的节点 boolean[][] m...
2019-12-28 16:37:41
134
原创 图的搜索之深度优先
深度优先不撞南墙不回头思路分析代码再现/** * 深度优先--不撞南墙不回头 * * 递归调用 * * @author Bamboo * */public class Dfs { //地图的大小 int n,m; //定义地图,如果值为0表示节点无障碍,值为1表示节点有障碍 int[][] data = null; //标记已经走过的节点 boole...
2019-12-28 16:27:30
125
原创 堆排序
堆排序指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。堆分为大根堆和小根堆,是完全二叉树思路分析先建立一个大顶堆然后将堆顶元素与最后一个元素做交换。(此时已经排除了最大的元素。)然后在对剩下的元素做最大堆.再将堆顶元素与倒数第二个元素做交换。代码再现public class HeapSort { /**...
2019-12-28 15:36:14
127
原创 归并排序
归并排序归并排序简介并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。思路分析将要排序的数据对半分 意为左边的数据和右边的数据重复第一步操作直到只有一个数将左边的数据和右边的数据进行排序代码再现p...
2019-12-28 14:34:16
123
原创 数据结构之位图
数据结构之位图场景说明现代计算数据量日趋壮大,比如一个int类型的数据占用4字节。假如我们要存储1亿个数,占用空间大小=4亿字节=390625M=381G现在我们要在这1亿个数中随机搜索一个数。问题分析面对日趋增大的数据,想象通过硬件的升级去处理如此多的数据几乎不现实这么大的数据 排序可能吗 答案是否定的回归到计算机的组成原理。我们发现即使是1这个数也占用着4个字节的数据,是否有点...
2019-12-27 17:43:55
129
原创 经典排序之topK问题
经典排序之topK问题现代大数据环境下。对于大数据的处理很平常。场景还原对于给定的1亿或者无上限的数据。排序出top 50的数据。问题分析如此大的数据让其全部加载到内存中再次排序肯定是不行的。内存不够啊再资源有限的情况下,使用分布式计算也是很有限的,因为小公司基本没可能方案分析对此有人给出了一个解决方案:堆排序。堆树有一个很大的特点,堆顶要么最大,要么最小。新增一个堆顶元...
2019-12-27 17:25:19
223
原创 hash算法Fnv-1a
hash算法fnvFNV哈希算法 取自于1991年Glenn Fowler和 Phong Vo向IEEE POSIX P1003.2委员会发送评论者意见的想法 。在随后的投票中: Landon Curt Noll 对他们的算法进行了改进。一些人尝试了此哈希,发现它工作得很好。在发给 Landon的电子邮件中,他们将其命名为`` Fowler / Noll / Vo ''或FNV哈希FN...
2019-12-18 16:58:51
2922
原创 经典算法之斐波那契数列
算法:斐波那契数列斐波那契数列斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2...
2019-12-06 15:08:51
588
原创 java高效基本类型与字节数组互相转换
java基本类型与字节数组互相转换前情提要在一些读文件流,或者网络数据传输时,我们直接接触的一定是一串java字节码,如何高效把基本类型转换成我们的字节数组就是必须要要求的实现流程思路int 转 字节数组public static byte[] int2Bytes(int n) { //自己数组的长度就是我们的int在内存中占用的大小== int len = In...
2019-11-26 16:46:24
1501
2
原创 设计模式:状态模式
状态模式在阎宏博士的《JAVA与模式》一书中开头是这样描述状态(State)模式的:状态模式,又称状态对象模式(Pattern of Objects for States),状态模式是对象的行为模式。状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。类图UML类图....
2019-11-21 16:54:30
101
原创 JAVA 双亲委派及如何打破
JAVA 双亲委派及如何打破双亲委派原则解释双亲委派模型图如何打破这种加载模型总结双亲委派原则解释java为了类加载安全定义了一个原则,那就是双亲委派原则解释:所有类的加载都被委派给父类加载,只有父类不能加载的时候才由子类加载由此才能保证java类的安全,因为用户不能随便自定义修改java类库中的类双亲委派模型图如何打破这种加载模型继承ClassLoader类重写loadClas...
2019-11-20 17:41:34
520
原创 Spring RedisCache 死锁解决方案
Spring RedisCache 偶发死锁场景说明spring缓存注解用到的最终核心类结构spring方法调用流程图总结场景说明spring框架使用redis缓存,使用@cacheable,@cacheput注解因为缓存击穿导致数据库压力过大,因此我们通过加锁的方式解决,然而spring4.3版本之后增加了cacheable注解增加了sync属性,所以直接用吧。cacheput注解没有sy...
2019-11-20 16:26:34
2227
1
原创 k8s安装问题收集与解决
集群ip跨主机访问不通缺少路由ip route add 10.254.0.0/16 dev docker0防火墙关闭或者firewall-cmd --permanent --zone=trusted --add-interface=docker0
2019-09-27 11:07:33
206
原创 docker容器自动重新部署
案例说明开发情况下,同一个系统版本常会频繁打包发布,因为是同一个版本镜像会有多层,这时我们系统系统自动检测并发布应用新的镜像经网络搜索及应用发现watchtower是一款不错的组件docker run -d –name watchtower -v /var/run/docker.sock:/var/run/docker.sock -e WATCHTOWER_LABEL_ENABL...
2019-09-27 11:02:59
1039
原创 vmware设置静态ip
设置静态ipIPADDR=192.168.118.131 # 设置的静态IP地址NETMASK=255.255.255.0 # 子网掩码GATEWAY=192.168.118.2 # 网关地址DNS1=192.168.118.2 # DNSBOOTPROTO=staticONBOOT=yes取值说明打开vmware,点击编辑>虚拟网路编辑器然后选中你所...
2019-09-27 10:50:32
160
原创 centos初始化安装
更新仓库yum -y update命令自动完成安装yum install -y bash-completionc/c++环境安装yum install -y gcc gcc-c++ libstdc+±devel
2019-09-27 10:35:37
245
原创 ELK启动
kafka后台启动nohup bin/kibana > /dev/null 2>&1 &logstash启动nohup bin/logstash -f configs/ > /dev/null &es-head启动nohup grunt server > /dev/null &es清理过期数据cur...
2019-09-27 10:23:11
144
原创 k8s集群安装
简介Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。环境系统:centos7机器:192.168.118.131 k8s-master192.168.118.132 k8s-node1192.168.118.133 ...
2019-09-26 17:18:16
204
原创 算法集锦
算法集锦算法冒泡排序选择排序插入排序快速排序shell排序源码算法冒泡排序链接选择排序链接插入排序链接快速排序链接shell排序链接源码github链接...
2019-09-12 10:10:36
163
原创 shell排序
shell排序shell排序简介源代码执行结果分析shell排序简介希尔排序是一种插入排序算法,它出自D.L.Shell,因此而得名。Shell排序又称作缩小增量排序。Shell排序的执行时间依赖于增量序列。简单的说shell排序就是一种分组增量排序,通过首先对元素分组,再对个分组元素排序,最后对所有元素排序源代码public class ShellSort { public stat...
2019-09-12 09:49:38
278
原创 快速排序
快速排序快速排序简介源代码执行结果分析快速排序简介通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列源代码public class QuickSort { public static void sort(int[] data){ int...
2019-09-09 17:00:19
127
原创 插入排序
插入排序插入排序简介源代码执行结果分析插入排序简介插入排序(Insertion sort)是一种简单直观且稳定的排序算法。如果有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法源代码public class InsertionSort { public static void sort(in...
2019-09-09 14:11:42
153
原创 选择排序
选择排序选择排序简介源代码执行结果分析选择排序简介选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。源代码public class ...
2019-09-09 13:38:30
532
1
原创 冒泡排序
冒泡排序冒泡排序简介源代码执行结果分析冒泡排序简介它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成源代码public class BubbleSort { public static void sort(int[] data){ ...
2019-09-09 11:04:23
109
转载 linux 内存参数优化设置
linux 内存参数优化设置编辑/etc/sysctl.conf文件vm.swappiness=40 #物理内存剩余多少开始使用swap内存vm.vfs_cache_pressure=200 #内核回收百分比网上建议值vm.min_free_kbytes=2097152 #物理内存最小多少开始清理cache哈哈,暂时就这么多啦!...
2019-07-08 11:26:58
965
mosquitto-1.6.9
2020-04-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人