- 博客(216)
- 资源 (70)
- 收藏
- 关注
原创 石杉老师公众号
石杉老师最新公众号,干货不断,欢迎大家转发关注https://mp.weixin.qq.com/s/mOk0KuEWQUiugyRA3-FXwg
2018-11-08 07:40:46 9590 12
转载 GC之详解CMS收集过程和日志分析
话题引入让我们先简单的看下整个堆年轻代和年老代的垃圾收集器组合(以下配合java8完美支持,其他版本可能稍有不同),其中标红线的则是我们今天要着重讲的内容:ParNew and CMS“Concurrent Mark and Sweep” 是CMS的全称,官方给予的名称是:“Mostly Concurrent Mark and Sweep Garbage Collector”;年轻代:采用 stop-the-world mark-copy 算法;年老代:采用 Mostly Concurrent
2021-04-22 20:17:12 509
转载 Excel表格快速隐藏手机号码中间4位数字,方法就这5种!
像身份证号、手机号、地址一类的内容,都是十分重要的隐私信息,所以对于这些重要信息为了不让人知晓,一般都会采用隐藏部分字段的方法,但具体该如何隐藏?今天小编就为大家详细介绍一下,在Excel中隐藏字段的方法!(以12位数字为例)一、REPLACE函数步骤:输入公式【=REPLACE(A1,4,5,"*****")】(公式含义:引用A1单元格内容,从第四个字符后开始,隐藏5个字符,用5个【*】代替)二、MID函数步骤:输入公式【=MID(A1,1,3)&"****"&MID(A1,8
2021-01-07 13:51:05 8572
转载 一、计算机的三大原则
一、热身问答1、硬件和软件的区别是什么?2、存储字符串“中国”需要几个字节?3、什么是编码(Code)?解答:1、硬件是看得见摸得着的设备,比如计算机主机、显示器、键盘等。而软件是计算机所执行的程序,即指令和数据。软件本身是看不见的。2、在 GBK 字符编码下,存储“中国”需要 4 个字节。3、通常将为了便于计算机处理而经过数字化处理的信息称作编码。解释:1、硬件(Hardware)代表“硬的东西”,而软件(Software) 代表“软的东西”。是硬的还是软的取决于眼睛能否看 得到,
2020-09-28 14:10:28 1693
转载 maven的离线模式
一、什么时候需要maven离线模式?1、没有网络,只有本地库,又是用maven来管理项目,在编译或者下载第三方Jar的时候,老是去中央仓库上自动下载,导致出问题2、我在测试环境不能联网了,我又需要使用 mvn spring-boot:run 启动项目。使用maven离线模式完美解决问题。二、在全局设置(setting.xml)中设置offline为true在setting.xml中找到offline修改为true<offline>true</offline> 三、执行
2020-07-06 11:46:21 6246
转载 Junit测试Controller(MockMVC使用),传输@RequestBody数据解决办法
一、单元测试的目的简单来说就是在我们增加或者改动一些代码以后对所有逻辑的一个检测,尤其是在我们后期修改后(不论是增加新功能,修改bug),都可以做到重新测试的工作。以减少我们在发布的时候出现更过甚至是出现之前解决了的问题再次重现。这里主要是使用MockMvc对我们的系统的Controller进行单元测试。对数据库的操作使用事务实现回滚,及对数据库的增删改方法结束后将会还远数据库。二、MockMvc的使用import org.apache.commons.logging.Log;import or
2020-06-12 15:07:10 495
转载 SpringBoot集成测试
一. 测试一般程序(Service/DAO/Util类)在pom.xml中引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope></dependency>生成测试类&l
2020-06-12 10:16:17 2265
转载 field.setAccessible(true)
Accessable属性是继承自AccessibleObject 类. 功能是启用或禁用安全检查在反射对象中设置 accessible 标志允许具有足够特权的复杂应用程序(比如 Java Object Serialization 或其他持久性机制)以某种通常禁止使用的方式来操作对象。setAccessiblepublic void setAccessible(boolean flag)throws SecurityException将此对象的 accessible 标志设置为指示的布尔值。值为 t
2020-06-08 19:08:25 19114 1
原创 将ZooKeeper源码导入Intellij IDEA中异常处理
下载zookeeper-3.4.5-tar.gz执行ant eclipse命令报:解决:
2020-05-07 18:01:14 247
转载 SprngBoot项目内部tomcat没有启动(springboot 设置web和非web启动)
springBoot区分web和非web项目老版本:#server config#web_environment是否是web项目spring.main.web_environment=true#是否加载springboot bannerspring.main.show_banner=false现版本:#server config#是否设定web应用,none-非web,ser...
2020-02-25 19:07:50 1995
原创 Failed to apply plugin [id 'org.scoverage']
A problem occurred evaluating root project 'kafka-0.10.0.0-src'.> Failed to apply plugin [id 'org.scoverage'] > Could not create an instance of type org.scoverage.ScoverageExtension. &...
2020-02-17 14:11:58 1469
转载 java实现普里姆算法
一、应用场景-修路问题看一个应用场景和问题:有胜利乡有7个村庄(A,B,C,D,E,F,G),现在需要修路把7个村庄连通各个村庄的距离用边线表示(权) ,比如 A – B 距离 5 公里问:如何修路保证各个村庄都能连通,并且总的修建公路总里程最短?思路: 将 10 条边,连接即可,但是总的里程数不是最小. 正确的思路,就是尽可能的选择少的路线,并且每条路线最小,保证总里程数最少....
2019-10-18 11:00:15 1254
转载 java实现贪心算法
一、应用场景-集合覆盖问题假设存在下面需要付费的广播台,以及广播台信号可以覆盖的地区。 如何选择最少的广播台,让所有的地区 都可以接收到信号二、贪心算法介绍贪婪算法(贪心算法)是指在对问题进行求解时,在每一步选择中都采取最好或者最优(即最有利)的选择,从而 希望能够导致结果是最好或者最优的算法贪婪算法所得到的结果不一定是最优的结果(有时候会是最优解),但是都是相对近似(接近)最优解的结...
2019-10-17 20:27:34 6204 5
转载 java实现KMP 算法
一、应用场景-字符串匹配问题字符串匹配问题:有一个字符串 str1= ““硅硅谷 尚硅谷你尚硅 尚硅谷你尚硅谷你尚硅你好””,和一个子串 str2=“尚硅谷你尚硅你”现在要判断 str1 是否含有 str2, 如果存在,就返回第一次出现的位置, 如果没有,则返回-1二、暴力匹配算法如果用暴力匹配的思路,并假设现在 str1 匹配到 i 位置,子串 str2 匹配到 j 位置,则有:...
2019-10-17 16:38:37 8589 5
转载 java实现动态规划算法
(1) v[i][0]=v[0][j]=0; //表示 填入表 第一行和第一列是 0(2) 当 w[i]> j 时:v[i][j]=v[i-1][j] // 当准备加入新增的商品的容量大于 当前背包的容量时,就直接使用上一个 单元格的装入策略(3) 当 j>=w[i]时: v[i][j]=max{v[i-1][j], v[i]+v[i-1][j-w[i]]}// 当 准备加入的新增的商品的容量小于等于当前背包的容量,// 装入的方式:v[i-1][j]: 就是上一个单元格的装入的最大值v[i]
2019-10-04 12:47:00 1171 1
转载 java实现分治算法
一、分治算法介绍分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或 相似的子问题,再把子问题分成更小的子问题…直到最后子问题可以简单的直接求解,原问题的解即子问题 的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变 换)…分治算法可以求解的一些经典问题 二分搜索 大整数乘法 棋盘覆盖...
2019-09-26 11:12:02 1202
转载 java实现图
一、图基本介绍1、为什么要有图前面我们学了线性表和树线性表局限于一个直接前驱和一个直接后继的关系树也只能有一个直接前驱也就是父节点当我们需要表示多对多的关系时,这里我们就用到了图。2、图的举例说明图是一种数据结构,其中结点可以具有零个或多个相邻元素。两个结点之间的连接称为边。 结点也可以称为顶点。如图:3、图的常用概念顶点(vertex)边(edge)路径无向图(下...
2019-09-24 16:12:00 1254
转载 多路查找树
一、二叉树与B树1、二叉树的问题分析二叉树的操作效率较高,但是也存在问题, 请看下面的二叉树二叉树需要加载到内存的,如果二叉树的节点少,没有什么问题,但是如果二叉树的节点很多(比如1亿),就 存在如下问题:问题1:在构建二叉树时,需要多次进行i/o操作(海量数据存在数据库或文件中),节点海量,构建二叉树时, 速度有影响问题2:节点海量,也会造成二叉树的高度很大,会降低操作速度.2...
2019-09-22 23:12:24 151
转载 java实现平衡二叉树(AVL 树)
一、案例(说明二叉排序树可能的问题)给你一个数列{1,2,3,4,5,6},要求创建一颗二叉排序树(BST), 并分析问题所在.左边 BST 存在的问题分析:左子树全部为空,从形式上看,更像一个单链表.插入速度没有影响查询速度明显降低(因为需要依次比较),不能发挥BST的优势,因为每次还需要比较左子树,其查询速度比单链表还慢解决方案-平衡二叉树(AVL)二、基本介绍平衡二叉树...
2019-09-22 18:41:23 403 1
转载 java实现二叉排序树
一、需求给你一个数列 (7, 3, 10, 12, 5, 1, 9),要求能够高效的完成对数据的查询和添加二、解决方案分析使用数组数组未排序, 优点:直接在数组尾添加,速度快。 缺点:查找速度慢.数组排序,优点:可以使用二分查找,查找速度快。缺点:为了保证数组有序,在添加新数据时,找到插入位置后,后面的数据需整体移动,速度慢。使用链式存储-链表不管链表是否有序,查找速度都慢,添加数据...
2019-09-21 22:28:10 506
转载 java实现赫夫曼编码
一、基本介绍赫夫曼编码也翻译为 哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式, 属于一种程序算法赫夫曼编码是赫哈夫曼树在电讯通信中的经典的应用之一。赫夫曼编码广泛地用于数据文件压缩。其压缩率通常在20%~90%之间赫夫曼码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,称之为最佳编码二、原理剖析通信领域中信息的处理方式 1-...
2019-09-21 16:08:21 623
转载 java实现赫夫曼树
一、基本介绍给定n个权值作为n个叶子结点,构造一棵二叉树,若该树的带权路径长度(wpl)达到最小,称这样的二叉树为 最优二叉树,也称为哈夫曼树(Huffman Tree), 还有的书翻译为霍夫曼树。赫夫曼树是带权路径长度最短的树,权值较大的结点离根较近二、赫夫曼树几个重要概念和举例说明路径和路径长度:在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分支的...
2019-09-16 19:24:39 235
转载 java实现堆排序
一、堆排序基本介绍堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复 杂度均为 O(nlogn),它也是不稳定排序。堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆, 注意 : 没有 要求结点的左孩子的值和右孩子的值的大小关系。每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆大顶堆举例说明小顶堆举...
2019-09-16 14:37:04 481
转载 线索化二叉树
一、问题将数列 {1, 3, 6, 8, 10, 14 } 构建成一颗二叉树. n+1=7问题分析:当我们对上面的二叉树进行中序遍历时,数列为{8,3,10,1,6,14}但是6,8,10,14这几个节点的左右指针,并没有完全的利用上.如果我们希望充分的利用各个节点的左右指针,让各个节点可以指向自己的前后节点,怎么办? 4) 解决方案-线索二叉树二、线索二叉树基本介绍n 个结...
2019-09-12 14:00:12 116
转载 顺序存储二叉树
一、顺序存储二叉树的概念基本说明从数据存储来看,数组存储方式和树的存储方式可以相互转换,即数组可以转换成树,树也可以转换成数组,看下面的示意图。二、顺序存储二叉树的特点:顺序二叉树通常只考虑完全二叉树第n个元素的左子节点为 2 * n + 1第n个元素的右子节点为 2 * n + 2第 n 个元素的父节点为 (n-1) / 2n : 表示二叉树中的第几个元素(按 0 开始编号...
2019-09-11 16:19:09 287
转载 java实现二叉树
一、为什么需要树这种数据结构1) 数组存储方式的分析优点: 通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。缺点: 如果要检索具体某个值,或者插入值(按一定顺序)会整体移动,效率较低 [示意图]画出操作示意图:2) 链式存储方式的分析优点: 在一定程度上对数组存储方式有优化(比如:插入一个数值节点,只需要将插入节点,链接到链表中即可,删除效率也很好)。缺点...
2019-08-30 18:57:21 2635 2
转载 PostgreSQL的jsonb类型中包含数组的 增加、遍历、查找、修改
业务扩展字段在数据库中经常会使用json格式的数据来存储,这就涉及到一个头疼的问题,假设要使用扩展字段里的某个值作为查询条件怎么办,原来PostgreSQL本身就支持这种查询方式。例子:假设业务扩展字段ext_data存的json格式如下:我们需要查询扩展字段中extInfo.userType=1的所有数据,那么对应的SQL语句如下:select * from event_log wher...
2019-08-30 14:53:34 5634 2
转载 java实现哈希表
一、介绍散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通 过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组 叫做散列表。二、google 公司的一个上机题:有一个公司,当有新的员工来报道时,要求将该员工的信息加入(id,性别,年龄,名字,住址…),当输入该员工的 i...
2019-08-10 12:52:06 299
转载 java实现斐波那契(黄金分割法)查找算法
一、介绍黄金分割点是指把一条线段分割为两部分,使其中一部分与全长之比等于另一部分与这部分之比。取其前三位 数字的近似值是 0.618。由于按此比例设计的造型十分美丽,因此称为黄金分割,也称为中外比。这是一个神 奇的数字,会带来意向不大的效果。斐波那契数列{1,1,2,3,5,8,13,21,34,55}发现斐波那契数列的两个相邻数的比例,无限接近黄金分割值 0.618二、原理斐波那契查...
2019-08-06 15:59:40 841
转载 java实现插值查找算法
一、介绍1、插值查找算法类似于二分查找,不同的是插值查找每次从自适应 mid 处开始查找。2、将折半查找中的求mid索引的公式,low表示左边索引left,high表示右边索引right. key 就是前面我们讲的 findVal3、int mid = low + (high - low) * (key - arr[low]) / (arr[high] - arr[low]) ;/插值索引...
2019-08-04 13:33:04 1043
转载 java实现二分查找算法
一、 要求:请对一个有序数组进行二分查找 {1,8, 10, 89, 1000, 1234} ,输入一个数看看该数组是否存在此数,并且求出下 标,如果没有就提示"没有这个数"。二、思路:三、代码:package search;import java.util.ArrayList;import java.util.List;/** * @program: text * @de...
2019-08-02 17:10:23 198
转载 java实现线性查找算法
有一个数列: {1,8, 10, 89, 1000, 1234} ,判断数列中是否包含此名称【顺序查找】 要求: 如果找到了,就提 示找到,并给出下标值代码实现:package search;/** * @program: text * @description: 线性查找算法 * @author: min * @create: 2019-08-01 11:19 **/publ...
2019-08-01 11:24:30 609
转载 java实现基数排序
一、基数排序(桶排序)介绍基数排序(radixsort)属于“分配式排序”(distributionsort),又称“桶子法”(bucketsort)或binsort,顾 名思义,它是通过键值的各个位的值,将要排序的元素分配至某些“桶”中,达到排序的作用基数排序法是属于稳定性的排序,基数排序法的是效率高的稳定性排序法基数排序(RadixSort)是桶排序的扩展基数排序是1887年赫尔曼·...
2019-07-29 17:56:19 226
转载 idea永久激活码
可以直接点击链接生成:http://idea.lanyus.com/getkey?userName=lan+yu,然后复制添加到idea激活码栏。转载至:https://blog.csdn.net/best_luxi/article/details/81479820
2019-07-29 11:29:08 13696
转载 linux -- 杀死指定端口号的进程
#杀死特定端口号的进程#方法一: kill -9 `lsof -i:18100 | awk 'NR==2{print $2}'`#方法二: kill -9 `lsof -i | grep 18100 | awk '{print $2}'`#方法三: kill -9 `ss -antlup | grep 18100 | awk '{print $7}' | awk -...
2019-07-29 10:51:48 3257
转载 SQL查询某一字段重复的数据
查询出重复记录select * from 数据表 WHERE 重复记录字段 in ( select 重复记录字段 from 数据表 group by 重复记录字段 having count(重复记录字段)>1)
2019-06-28 20:30:25 5152
转载 稀疏数组和队列
一、稀疏 sparsearray 数组1、先看一个实际的需求 编写的五子棋程序中,有存盘退出和续上盘的功能。 分析问题:因为该二维数组的很多值是默认值 0, 因此记录了很多没有意义的数据.->稀疏数组。2、基本介绍当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方法是:记录数组一共有几行几列,有多少个不同的值把具有不同...
2019-06-21 14:04:26 187
转载 postgresql 修改表的字段由NOT NULL修改为NULL
postgresql 修改表的字段由NOT NULL修改为NULL:alter table mytable alter test drop not null;参考地址:http://www.bufeihua.cn/p/57373753b98b3512bf9fd041
2019-06-20 13:45:04 20456 3
转载 IntelliJ IDEA 18 周岁,Java程序员必备的11款插件
IDEA插件简介常见的IDEA插件主要有如下几类:常用工具支持Java日常开发需要接触到很多常用的工具,为了便于使用,很多工具也有IDEA插件供开发使用,其中大部分已经在IDEA中默认集成了。例如maven、git、svn、tomcat、jetty、jrebel、Gradle等。功能增强还有些插件提供了一些IDE中不具有的功能,比如静态代码扫描、代码自动生成等。框架集成集成框架主要是...
2019-05-07 10:27:33 247
各大知名企业面试题
2018-04-24
基于storm实时热点统计的分布式并行缓存预热
2018-03-19
Linux jdk1.7 64位
2017-10-31
Linux jdk1.8 32位
2017-10-31
linux jdk1.8 64位
2017-10-31
RabbitMQ-3.4.1安装文件+Spring-rabbit+RabbitMQ-3.4.1安装手册
2017-07-12
IK分词器+tomcat-7.0.47+jdk+sol+zookeepe
2017-05-12
Java程序员面试宝典
2017-05-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人