- 博客(37)
- 资源 (2)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 哈希(散列)函数的一些应用
目录hash表的原理与实现Java中的hashcode()方法Collection中HashMap的应用 Bloom Filter在海量数据中的应用 hash表原理与实现 根据key-value而直接进行访问的数据结构。把关键字key通过某种映射函数映射到表中的某个位置来访问,来提高查找的速度。映射函数就称之为hash函数。存放映射的数组称之为hash表 冲突(碰撞collisi
2018-10-18 11:16:04
2295
2
原创 Workbench导入xls文件
1、首先将excel 的文件另存为csv文件2、将上述的csv文件用记事本打开,然后以utf-8的编码另存为文件file23、在Workbench 选择表,然后右击选择导入数据4、与表中的列一一对应上,然后一直next就好一切顺风顺水则好,但是总会遇到一些问题。例如:Q1:Q2:...
2018-10-30 19:55:03
4462
3
原创 You are using safe update mode and you tried to update a table without a WHERE that uses a KEY colum
如图,遇到上述问题。解决方案: set sql_safe_updates =0
2018-10-30 19:40:51
603
原创 一个Servlet请求的请求过程
首先看servlet的接口定义public interface Servlet { public void init(ServletConfig config) throws ServletException; public ServletConfig getServletConfig(); public void service...
2018-10-21 15:44:06
3012
原创 关于位运算以及实现四则运算的实现
1、>>(右移) :将操作数向右 移动,高位补0eg:nt a =6的二进制是00000110 a>>2的结果就是000000012、eg:int a =6的二进制是00000110 a2的结果就是000110003、&(位与) :两个操作数a和b同时为1的时候结果为1,否则结果为0。** eg:int a = 6的二进制是00000110,
2018-10-20 16:43:55
553
转载 http的get和post请求
HttpRequest中常见的四种ContentType,通过request.getContentType()得到application/x-www-form-urlencodedapplication/jsonmultipart/form-datatext/xmlHttpRequest中常见的请求method,通过request.getMethod()得到getpost...
2018-08-15 20:02:32
1532
转载 查询性能优化的十条建议
关于COUNT()关于UNION关于LIMIT分页关于MAX()和MIN()关于关联查询关于子查询关于GROUP BY和DISTINCT关于复杂查询和多个简单查询在同一个表上查询与更新关于查询缓存...
2018-08-12 21:43:46
624
原创 springboot集成boot
首先idea 中新建项目,在nosql 中选中MongoDB 最终的pom.xml文件有这个依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifac...
2018-08-11 23:32:49
248
翻译 MySQL的explain的相关参数含义说明
官方文档:https://dev.mysql.com/doc/refman/5.7/en/explain-output.html explain mysql 的查询语句 会有如下的结果 eg2 eg3: eg4 eg5 id :select 查询的序列号,如果id相同,则按照自上向下的顺序执行,如果包含有子查询,id会自增,序号越大优先级越高,越先执行...
2018-08-11 22:54:07
1637
转载 mysql索引基础
查看表的索引 show index from table_name; show keys from table_name; eg: show index from refund;
2018-07-22 17:52:16
187
转载 FastDFS总结
基本原理: FastDFS包含一组TracerServer 和StorageServer的,它俩之间不通信,基本信息通过配置文件得到。每个StorageServer分成多个group,每个group中Storage都是相互备份的。 traceServer中没有出现storageServer的信息,而在storage server中会列举所有的Tr...
2018-03-20 17:25:55
586
原创 排序算法——快速排序
package lintCode;public class QuickSort { public void sortIntegers2(int[] A) { // write your code here quickSort(A,0,A.length-1); } public static void quickSort(int[] num...
2018-02-25 23:02:13
136
原创 排序算法-----堆排序
堆排序是利用“堆”这种数据结构性质的一种选择排序算法。堆是完全二叉树并且具有以下的性质: 大顶堆:它的左右子结点都比自己结点的值小。数学公式表达:A[k] >= A[2k+1] && A[k] >= A[2k+2] 小顶堆:它的左右子结点都比自己结点的值大。数学公式表达:A[k] <= A[2k+1] && A[k] <= A[2k+2] 一般大顶堆用于升序排序,小顶堆用于降序排序 堆排序
2018-02-24 16:29:21
190
原创 排序算法——归并排序
归并排序算法的思想是分治法:将整个需要排序的数列首先分割成A,B的;如果A,B两个数列有序则分别依次取A,B中最小的数即可。然后就把问题分割成对A,B两个数列中排序。这样一直分割下去,直到一个数列只有一个数据,则开始两两合并数列。最终合并成使得原始的需要排序的数列变成有序的数列。 它的时间复杂度是:O(N*logN) 空间复杂度是:O(N);
2018-02-24 15:04:55
158
原创 Spring源码分析之IOC(七)
前面分析了finishBeanFactoryInitialization();留一下了doGetBean()这个方法,由于这个方法是Spring IOC的实例化真正工作的方法,所以特地拿出来单独来说。 doGetBean()方法太长,下面截图按照顺序剪下来的话不多说,翻源码 首先第一行就是根据传进来的name,来确定它的原始名称或者说将name的别名给它解析成规范的名字(beanName):
2018-02-07 18:07:09
259
原创 Spring源码分析之IOC(六)
接上篇 上篇分析到finishBeanFactoryInitialization();进入方法看源码如下 /** * Finish the initialization of this context's bean factory, * initializing all remaining singleton beans. */ protected vo
2018-02-05 17:37:48
196
原创 Spring源码分析之IOC(五)
前面已经分析ObtainFreshBeanfactory()这个方法是解析和注册bean,实例化IOC容器的。 重新看一下refresh()方法@Override public void refresh() throws BeansException, IllegalStateException { synchronized (this.startupShutdo
2018-02-04 18:03:49
204
原创 spring源码分析之IOC(四)
接上篇 上篇说到BeanDefinitionReaderUtils将创建的BeanDefinitionHolder注册。这篇接着往下看。BeanDefinitionReaderUtils的registerBeanDefinition(bdHolder, getReaderContext().getRegistry()); /** * Register the given bean def
2018-02-02 14:13:25
162
原创 spring源码分析之IOC(三)
接上篇 上篇中,分析到委托给BeanDefinitionDocumentReader实际上在DefaultBeanDefinitionDocumentReader对象上registerBeanDefinitions()进行解析和注册/** * This implementation parses bean definitions according to the "spring-bean
2018-01-31 20:18:10
189
原创 spring源码分析之IOC(二)
接上篇点击查看 上篇分析到AbstractXmlApplicationContext的loadBeanDefinitions()方法/** * Load the bean definitions with the given XmlBeanDefinitionReader. * <p>The lifecycle of the bean factory is handled by
2018-01-30 20:34:28
223
原创 spring源码分析之IOC(一)
接上篇接下来就是refresh()方法的详细分析。详细代码如下public void refresh() throws BeansException, IllegalStateException { synchronized (this.startupShutdownMonitor) { // Prepare this context for refreshi
2018-01-30 16:42:11
238
转载 CMS收集器与G1收集器
说明:本文摘自《深入理解Java虚拟机》,是自己看书总结文章。以下正文开始收集器中的并行(Parallel)语义:指多条垃圾收集线程并行工作,但此时用户线程仍处于等待状态收集器中的并发(Concurrent)语义:指用户线程与垃圾收集线程同时执行(但不一定是并行的,可能会交替执行),用户程序在继续运行,而垃圾收集程序于另一个CPU上。CMS收集器:CMS(ConCurrent Ma
2018-01-07 14:59:29
3638
原创 grep小结
grep :grep是linux的一个文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。选项:文本控制 a 包含二进制文件 A<显示行数> 除了显示符合范本那一行之外,也显示该行之后的内容 b 在显示符合范本那一行之前,标识出该行第一个字符的编号 B<显示行数> 除了显示符合范本那一行之外,并显示该行之前的内容 c 计算符合范本
2017-12-12 17:42:50
293
原创 linux命令小结
ls -alls类似 [dir]列举当前目录下的文件 参数-al 表示列出所有档案(包括隐藏档):如下图其中第一栏代表档案属性:drwxr-xr-x共10个属性1、从左至右第一个属性就是: [d]表示目录,[-]表示文档,[l]表示连接文档(link file),[b]表示为装置文件里面的的可存储的接口设备,[c]表示装置文件里面的串行借口设备,如鼠标,键盘etc。 2、接下...
2017-12-11 19:55:00
302
原创 redhat 的telnet服务开启操作
先检查一下telnet server是否安装:rpm -qa|grep telnet 修改xinetd.d ,将disable = yes 改为 disable = novi /etc/xinetd.d/telnet 然后重启xinetdservice xinetd restart 测试一下
2017-11-29 19:30:13
6711
转载 关于线程安全的涉及到概念以及分类
本文摘选自深入理解Java虚拟机。方法一:互斥同步(Matual Exclusion & Synchronization)互斥同步属于一种悲观的并发策略,总是认为只要不去做正确的同步措施,就肯定会出现问题。无论共享数据是否出现竞争,它都要进行加锁。故称互斥同步的锁为悲观锁①使用synchronized关键字。synchronized同步代码块对同一个线程来说是可重入的,不会出...
2017-11-26 22:26:01
1105
原创 Java线程状态转换
在任意一个时间点:一个线程只能有且只有其中一种状态。新建(new)状态:创建后尚未启动的线程就是出于这种状态。运行(Runable)状态:Runable包括了操作系统线程状态中的Running和Ready,也就是出于此状态的线程有可能正在执行,也有可能等待CPU为它分配执行时间。无限期等待(waiting)状态:处于该状态下的线程不会被分配CPU...
2017-11-18 13:27:51
254
原创 同步工具类
1、闭锁(Latch)2、信号量(Semaphore)3、栅栏(Barrier)1、闭锁(Latch):作用相当于一扇门:在闭锁到达结束之前,这扇门一直 是关闭的,并且没有任何线程能通过,当到达结束状态时,这扇门会打开并允许所有的线程通过。当闭锁到达结束状态后,将不会再改变状态,因此这扇门将保持永远打开状态(意思是指:一旦进入终止状态,就不能被重置,简单地说就是一次性的)。闭锁可以用来...
2017-11-03 09:12:56
205
原创 设计模式概述
常见的几种设计模式概述。定义:模式的定义:在某种情景(context)下,这很对某问题的某种解决方案。可理解为:处于某种情景下,面对着想要达到的目标被一群约束影响着的问题,然而,却可以应用某个设计,克服这些约束并达到该目标(意味着可重复应用来解决问题),将你领向某个设计方案。1、策略模式(strategy Pattern) :定义算法族,让它们之间可以互相替换,此模式让算法的的变化独立于使
2017-10-15 17:37:21
196
原创 JAVA定时器Timer的使用
java定时器的实现主要是靠Timer来实现的Timer中的常用的几个方法: /** *任务在delay时间后执行且只执行一次 **/ public void schedule(TimerTask task,long delay); /** *任务在时间为date执行且只执行一次,如果date为过去时间,则任务立即执行。 **/ public void sc
2017-08-08 10:19:09
284
原创 myeclipse激活失败,ACTIVATION_KEY为null
在win10的64位系统中,安装myeclipse中一直出现ACTIVATION_KEY为null的情况!首先附上某大神的激活工具以及激活步骤(激活工具)http://download.csdn.net/download/xiaozhuanhao/8490181(激活步骤 )首先带上之前Stable1.0的破解步骤http://tieba.baidu.com/p/3568215
2017-04-06 14:48:19
8519
2
原创 java内存回收之finalize()方法原理
确认对象已死亡: 1、引用计数算法:算法原理是 给每个对象中添加一个引用计数器,每当有地方引用它时,计数器值就加1,当引用失效时,计数器值就减1;任何时候计数器值为0的对象就是不可能再被使用的。 2、可达性分析算法 :原理是通过一系列的称为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索走过的路径称为引用链(reference Chain),当一个对象到GC ...
2017-02-18 19:22:51
695
原创 读书笔记之JVM内存区域
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为以下若干个不同的数据区域,本文就是简单说明下这些区域的作用,服务对象以及其中可能产生的问题1、程序计数器:当前线程所执行的字节码的行号指示器,字节码解释器通过改变这个计数器的值来选取下一条需要执行的字节码指令。Java虚拟机是通过线程轮流切换并分配处理器的执行时间来实现多线程的,对于某个确定的时刻来说,一个处理器都只会执行一...
2017-02-17 19:07:58
293
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人