![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
learning
汤小胖
热爱技术热爱生活
展开
-
浅谈CurrentHashMap、HashMap、Hashtable
这里着重分析一下currentHashMap和HashMap,顺带分析一下Hashtable首先HashMap是基于哈希表的map接口的实现类,允许null值null键,不保证顺序。它的底层是通过数组和链表实现的,数组元素存放链表,当我们在hashmap中添加元素的时候,首先根据key的hash算法找到对应的数组下标,在添加值得时候根据equals方法决定链表的位置,如果是新的就直接添加。同样...原创 2019-05-04 22:24:18 · 931 阅读 · 0 评论 -
solr以及solr集群学习
solr是个war包,部署在tomcat上,所以不能归于服务层 solr在Linux上的搭建第一步:把solr 的压缩包上传到Linux系统第二步:解压solr。第三步:安装Tomcat,解压缩即可。第四步:把solr部署到Tomcat下。第五步:解压缩war包。可以启动Tomcat解压。第六步:把/root/solr-4.10.3/example/lib/ext目...原创 2019-02-19 09:47:44 · 345 阅读 · 0 评论 -
解决哈希冲突的三种方法及分析
文章原址:https://www.cnblogs.com/wuchaodzxx/p/7396599.html解决哈希冲突的三种方法及分析开放定址法线性探测再散列二次探测再散列伪随机探测再散列再哈希法链地址法建立公共溢出区优缺点开放散列(open hashing)/ 拉链法(针对桶链结构)封闭散列(closed hashing)/ 开放定址法通过构造性...转载 2019-02-24 12:52:28 · 4487 阅读 · 0 评论 -
java实现归并算法
这个程序不是我原创的,是我在学习别人的程序上改的,想重新写出来的原因就是:作为用户我调用一个工具,我给你个数组,你给我个排好的数组就好了,还要输入起始点和终点显得很不智能。(其实我就是把一行代码封装到了一个函数中,是不是显得我很作)我觉得归并算法相对于堆排序和快排原理比较简单,分析就不写出来了,下面是我的完整代码:/** * * @author Tacenee * */pub...转载 2019-02-24 09:28:27 · 1652 阅读 · 1 评论 -
Redis学习(1)
1、什么是redis Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库(nosql),应用在缓存。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型有5种。如下:字符串类型 (String)散列类型(hash)列表类型(List)集合类型(set)有序集合类型(SortedSet)...原创 2019-02-18 20:03:01 · 309 阅读 · 1 评论 -
java实现堆排序算法
算法之堆排算法虐我千百遍,我爱算法如初恋(微笑)研究堆排序也是一脸懵逼,所以我决定好好分析一下,尽量白话一点,方便理解。总的来说就是一个二叉树结构1-2-4-8……这样的,从左至右排,最后一排排不满就不管了。我先以我给的数组为例18,11,9,7,3,4,2,2,3,9 从第一个开始的序号是0最后一个是heapSize-1.整个算法最关键的点就是保证每个三角形结构,三角形顶尖是最大...原创 2019-02-23 20:14:39 · 286 阅读 · 1 评论 -
java实现快速排序算法
快速排序看别人写的快排程序,看了很久才看懂。于是搜了很多文章学习一下先献上两个视频:一个是匈牙利的舞蹈:https://v.qq.com/x/page/w01315ff3b6.html一个是c语言实现的快排:https://video.tudou.com/v/XMTc5MjQ3NTkwNA==.html?__fr=oldtd还推荐一篇可视化的算法:https://www.cnb...原创 2019-02-23 17:45:50 · 360 阅读 · 0 评论 -
UTF-8和gb2313的区别
今天偶然之间看到别人的代码charset和pageEncoding都是用的gb2312,虽然都是汉字,但是肯定还是有区别的GB2312编码大约包含6000多汉字(不包括特殊字符),编码范围为第一位b0-f7,第二位编码范围为a1-fe(第一位为cf时,第二位为a1-d3),计算一下汉字个数为6762个汉字。当然还有其他的字符。包括控制键和其他字符大约7573个字符编码。UTF-8:Unic...转载 2019-02-22 20:23:12 · 4151 阅读 · 0 评论 -
JavaWeb注册登陆功能分析
Dao层只用实现数据库的查询增删,将判断用户是不是存在这个环节交给service首先要创建个User类,每个User有username password vorifycodeDao层实现数据库的增删查询,所有有两个方法 findByUsername(){}和add(){}对于查询功能findByUsername返回的是一个user类,相当于把根据名字查询到的用户信息返还给ser...原创 2019-01-31 07:53:27 · 841 阅读 · 0 评论 -
Git服务安装遇到的问题总结
make prefix=/usr/local all报如下错误/usr/bin/perl Makefile.PL PREFIX='/usr/local/git' INSTALL_BASE='' --localedir='/usr/local/git/share/locale'Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains...原创 2019-02-16 19:13:12 · 512 阅读 · 0 评论 -
Bcrypt加密算法
不可逆 (哈希算法) MD5 32位字符串可逆 密钥 Bcrypt需要60位BCrypt加密算法用户表的密码通常使用MD5等不可逆算法加密后存储,为防止彩虹表破解更会先使用一个特定的字符串(如域名)加密,然后再使用一个随机的salt(盐值)加密。 特定字符串是程序代码中固定的,salt是每个密码单独随机,一般给用户表加一个字段单独存储,比较麻烦。 BCrypt算法将salt随机并混入最...原创 2019-02-16 15:09:57 · 842 阅读 · 0 评论 -
RESTful和SringMVC结合
随着技术的发展,有一种新型的架构设计思想:Restful风格,也就是说利用一个简单的路径,而后根据HTTP提交模式不同。如何将RESTful和SringMVC结合呢,我们先看一下解析图理清一下思路如果现在希望Spring MVC运行的时候可以以Restful的风格进行执行,那么首先需要添加一些过滤器,修改web.xml文件。<filter> <filte...原创 2019-02-21 20:20:30 · 229 阅读 · 0 评论 -
Spring简单入门
目录单例模式和多例模式singleton&&prototype属性注入DIAOP配置单例模式和多例模式singleton&&prototype多创建几个对象,看初始化情况,地址是不是一样初始化只执行一次 属性注入DI构造方法 constructor-arg name valueset方法property ref接口注入...原创 2019-02-08 22:20:58 · 117 阅读 · 0 评论 -
ssm综合练习
SSM综合练习项目思路配置文件DAO层配置文件SqlMapConfig.xml 头文件 applicationContext-dao.xml(DruidDataSource)数据库连接配置 SqlSessionFactory对象 都在spring和mybatis整合包里 配置mapper文件扫描器Service层配置文件applicationContext-s...原创 2019-02-13 20:10:02 · 803 阅读 · 0 评论 -
3sum总结(java)
排除写错的情况,总结一下:出现两次time limit exceeded超时第一次,在数组排序完了以后,判断上一次和这一次的firstNum是否重复,我用的while,仔细想了一下确实这里不需要用while循环判断,直接if判断就可以,省去不少时间,顺便将第二个第三个数的初始声明放在了if判断之后,如果前后数字重复了我就不用声明了,这里也节约一点时间。第二次,判断两数之和是否符合目标...原创 2019-02-25 10:22:33 · 401 阅读 · 0 评论 -
4sum总结(java)
先把我的疑惑放最前面:为什么else if运行会比else快?4sum是我在3sum的基础上改的,直接复制3sum代码往上面改的,最后调试发现他的target不是0了,然后又改了开始的函数声明和剩下两数的目标和。下面是我的代码class Solution { public List<List<Integer>> fourSum(int[] nums,int...原创 2019-02-25 11:23:21 · 274 阅读 · 0 评论 -
2019腾讯暑假实习笔试编程题(第四题)
昨晚做的笔试题,第一次参加线上笔试,最后半个小时走神走的厉害,有种干坐着等待着死亡降临的感觉……这道题没做出来,很可惜。 重新理清了思路,写出来了,题目如下一开始我想到了leetcode里面的最小子串,奈何太菜几个关键点忘了。leetcode原址思路说难也不难,说容易也不容易。首先有几个关键点何时更新最短子串长度? 如何判定已包含所有数字? 什么时候滑动窗口?接着我先说明下几...原创 2019-03-10 11:07:56 · 1150 阅读 · 0 评论 -
JAVA集合类总结
JAVA集合类总结所有的集合类都是先Iterator接口,意味着所有的集合类都是可以迭代输出的。 以Collection为接口的元素集合类型,以Map为接口的映射集合类型 。所有集合的实现类都不是直接实现集合类接口,而是都继承一个相应的抽象类。Collection类型又分为两大类Set和List set提供的是一个无序集; List提供的是一个有序集; Map提供了一个映射关系的集合数...原创 2019-03-06 21:53:56 · 259 阅读 · 0 评论 -
系统缓存设计
写的很全面,也很深入。看完一遍不够,所以转载一下 1. 前言在高访问量的web系统中,缓存几乎是离不开的;但是一个适当、高效的缓存方案设计却并不容易;所以接下来将讨论一下应用系统缓存的设计方面应该注意哪些东西,包括缓存的选型、常见缓存系统的特点和数据指标、缓存对象结构设计和失效策略以及缓存对象的压缩等等,以期让有需求的同学尤其是初学者能够快速、系统的了解相关知识。 2. 数据库...原创 2019-02-26 22:14:50 · 1238 阅读 · 0 评论 -
HiddenHttpMethodFilter源码解析
首先我先给出源码,按着它一点一点分析(当然前面大段的注释和引包我就不要了,想看的同学也可以自己找源码看)public class HiddenHttpMethodFilter extends OncePerRequestFilter { /** Default method parameter: {@code _method} */ public static final String...原创 2019-02-21 11:51:09 · 660 阅读 · 0 评论 -
Filter过滤器重写三个方法
如果想要使用过滤器,首先需要实现Filter类,并重写三个需要的方法:public class TestFilter implements Filter { public void destroy() { } public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chai...原创 2019-02-21 10:49:08 · 8262 阅读 · 0 评论 -
SpringMVC流程解析
客户端通过url发送请求 核心控制器Dispatcher Servlet接收到请求,通过系统或自定义的映射器配置找到对应的handler,url映射的控制器controller 通过核心控制器找到系统或默认的适配器HandlerAdapter 由找到的适配器,调用实现对应接口的处理器,并将结果返回给适配器,结果中包含数据模型和视图对象,再由适配器返回给核心控制器 核心控制器将获取的数据...原创 2019-02-21 10:27:30 · 161 阅读 · 0 评论 -
enum枚举入门
ENUM enum是计算机编程语言中的一种数据类型。枚举类型:在实际问题中,有些变量的取值被限定在一个有限的范围内。例如,一个星期内只有七天,一年只有十二个月,一个班每周有六门课程等等。如果把这些量说明为整型,字符型或其它类型是不妥当的。 枚举类型是Java 5中新增特性的一部分,它是一种特殊的数据类型,之所以特殊是因为它既是一种类(class)类型却又比类类型...原创 2019-02-20 21:59:47 · 186 阅读 · 0 评论 -
将字符串变为整数(java源码分析)
目录 要点:源码:源码注释:要点:判断首字母是不是小于零,“+”“-” 小于零有可能是“+”“-”或者其他符号 在首字母小于零的情况下,总长度不能为1,意思就是+-不能单独出现 循环过程中 字符串中的字符不能比零小 不能比所设定的进制大,源码中是以负数的形式写的,所以是小于号 每一位的数不能比当前数值+限制还要大。ps:1+8<f 限制为8,但是这一位数字...原创 2019-02-26 14:11:44 · 315 阅读 · 0 评论 -
错误:The superclass "javax.servlet.jsp.tagext.SimpleTagSupport" was not found on the Java Build Path
右键项目,属性勾选tomcat 报错消失原创 2019-02-20 20:04:20 · 2896 阅读 · 0 评论 -
合并两有序链表总结(java)
思路:一开始想到了归并算法,开头的两个相比较,谁小谁的指针往后面移动一格要点:1、确定退出的时候的条件2、返回的结点前后是谁 以下是我的源代码:/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ...原创 2019-02-26 10:33:32 · 396 阅读 · 0 评论 -
单链表反转总结(java)
程序是别人的,我总结一下方便自己记忆(只提供程序分析,没写解题思路,解题思路可以看原文章)原地址:https://www.cnblogs.com/zhengcj/p/7494089.htmlpublic class Node { int index; Node next; public Node(int index, Node next) { thi...原创 2019-02-26 09:12:47 · 231 阅读 · 0 评论 -
算法——最大连续子数组和
题目描述:给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时定义子段和为0,依此定义,所求的最优值为: Max{0,a[i]+a[i+1]+…+a[j]},1<=i<=j<=n例如,当(a[1],a[2],a[3],a[4],a[5],a[6],a[7])=(1...原创 2019-03-04 22:28:36 · 270 阅读 · 0 评论 -
Nginx安装
之前个人网站搭建图方便用的宝塔面板,现在想自己搭建Nginx,我顺便记录下安装的版本号secureCRT先连接服务器,卸载宝塔面板命令:wget http://download.bt.cn/install/bt-uninstall.sh命令:sh bt-uninstall.sh最后在检查一下8888端口还能打开不接着按照Nginx官方安装文档安装,坑多……安装目录我...原创 2019-03-01 13:03:00 · 171 阅读 · 0 评论 -
combination sum总结(java)
程序是别人的,我几乎没动。惊叹其运行速度,转载一下~原地址:https://www.jianshu.com/p/42211be17acb我一开始的思路是用取余,余数小于被除数就说明多除了一次,应该往后退一步,一半递归一半循环,看了他的思路,发现我递归到后面数非常小了,用除法还不如用减法,全都用减法的,清晰好用。分析:使用Arrays.sort(candidates);先排序 参数...转载 2019-02-25 14:35:58 · 664 阅读 · 0 评论 -
我第一个java爬虫
先定一个网页字符串的匹配规则 String regex = "https://[\\w+\\.?/?]+\\.[A-Za-z]+"; URLConnection创建一个connection通过将connection作为一个输入流通过一个匹配器,如果URL满足匹配规则,就输出控制台package com.cellstrain.icell.util;import java....原创 2019-02-19 22:34:51 · 250 阅读 · 0 评论 -
Java小游戏——五子棋(简易版)
自学了一个简易版的五子棋,棋子是用Graphics中的fillOval画出来的,棋盘是重写JFrame中paint方法画的。 思路分析:1、棋盘类创建一个棋盘类,继承JFrame,实现一个接口Config方便修改棋盘配置参数首先设置窗口名称大小,以及界面不可改变大小。再重写JFrame父类的paint方法绘制棋盘。在棋盘内画出横线和竖线。我将棋盘每个点作为一个二维数组的...原创 2019-01-23 14:28:46 · 3608 阅读 · 2 评论 -
JavaSE学习笔记——19/1/19
BufferedReaderreadLine一次读取一行 本身不包含换行符,读不到就返回nullBufferedWritenewLine根据系统(windows linux mac)换行符\r\nIO总结图复制文件的五种方式字节流FileInputStream(read)FIieOutputStream(write)(单字节、字节数组)Buffered...原创 2019-01-19 20:31:36 · 207 阅读 · 0 评论 -
Mysql学习笔记——创建数据库、创建表格
首先是确定多层结构,基于事件驱动,规划DAO层,Service层。 并且在开发过程中,演示重构并解释重构的理由和好处。接着是开发顺序。 各个模块之间是互相依赖的,有的需要先行开发,有的模块必须建立在其他模块的基础上才可以执行。最后,引用第三方的包。 比如动态生成chart图片,演示如何使用这些API。表结构的设计1. 数据库和表的创建 2. 表关系 3. 约束 一条记录数据,只...原创 2019-01-24 20:21:07 · 482 阅读 · 0 评论 -
Java多线程下载、断点续传代码分析(学习笔记)
学习分析的是https://blog.csdn.net/qq_33212500/article/details/80667518的代码。 使用多线程下载TIM为例。查API的过程,以及部分分析都写在注释里头了 HttpURLConnection 支持HTTP特定功能的URLConnection。 Class URL Class URL表示统一资源定位符,指向万维网上...转载 2019-01-24 15:23:18 · 206 阅读 · 0 评论 -
JavaSE学习笔记——网络编程(下)
客户端键盘录入,服务器输出文本文件package cn.itcast02;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;...原创 2019-01-24 13:26:05 · 284 阅读 · 0 评论 -
使用Mbrfix卸载Ubuntu系统
前一阵子倒腾Linux,虚拟机玩的不好,就自己装个了Ubuntu。最近跟着教程学习又继续要用虚拟机,而且双系统有点卡。所以学着把Ubuntu系统给删了。先下一个Mbrfix软件,解压到C:\Users\Administrator\MBR_FIX下用dos 在软件目录下输入MbrFix /drive 0 fixmbr /yes 提示:“Function failed. Error ...原创 2019-01-08 14:39:31 · 8857 阅读 · 1 评论 -
JavaSE学习笔记——19/1/17
方式1:一次读取一个字节方式2:一次读取一个字节数组复制视频装饰设计模式虽然有两种方式可以读取,但是两种防止针对同一个对象在一个代码里只能使用一个 总结:递归: IO流 转换流字符流=字节流+编码表GB2313GBKUnicodeUTF-8 OutputStreamWriter把字节流转换为字符流InputStre...原创 2019-01-18 19:03:31 · 152 阅读 · 0 评论 -
JavaSE学习笔记——网络编程(上)
OSI参考模型:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层ipconfigping127.0.0.1回环地址(表示本机)InetAddress 方法: getByName()根据主机名或者ip地址获取的IP地址对象 getHostName getHostAddress 端口号物理端口 网卡口逻辑端口1、每个网络程序都会至少有一个...原创 2019-01-23 21:41:46 · 210 阅读 · 0 评论 -
Eclipse汉化过程以及dropins使用
跟着刘意的JavaSE基础课程,准备下载汉化安装包。先进入eclipse的readme目录,找到readme_eclipse的html文件,查询软件版本(Release 4.10)然后查询对应的版本代号,等会下载汉化安装包要用。在维基百科里搜索Eclipse软件(https://en.wikipedia.org/wiki/Eclipse_(software))再打开官方汉化包下...原创 2019-01-08 09:05:51 · 996 阅读 · 1 评论