- 博客(58)
- 收藏
- 关注
原创 浅谈CurrentHashMap、HashMap、Hashtable
这里着重分析一下currentHashMap和HashMap,顺带分析一下Hashtable首先HashMap是基于哈希表的map接口的实现类,允许null值null键,不保证顺序。它的底层是通过数组和链表实现的,数组元素存放链表,当我们在hashmap中添加元素的时候,首先根据key的hash算法找到对应的数组下标,在添加值得时候根据equals方法决定链表的位置,如果是新的就直接添加。同样...
2019-05-04 22:24:18 963
原创 2019腾讯暑假实习笔试编程题(第四题)
昨晚做的笔试题,第一次参加线上笔试,最后半个小时走神走的厉害,有种干坐着等待着死亡降临的感觉……这道题没做出来,很可惜。 重新理清了思路,写出来了,题目如下一开始我想到了leetcode里面的最小子串,奈何太菜几个关键点忘了。leetcode原址思路说难也不难,说容易也不容易。首先有几个关键点何时更新最短子串长度? 如何判定已包含所有数字? 什么时候滑动窗口?接着我先说明下几...
2019-03-10 11:07:56 1178
原创 JAVA集合类总结
JAVA集合类总结所有的集合类都是先Iterator接口,意味着所有的集合类都是可以迭代输出的。 以Collection为接口的元素集合类型,以Map为接口的映射集合类型 。所有集合的实现类都不是直接实现集合类接口,而是都继承一个相应的抽象类。Collection类型又分为两大类Set和List set提供的是一个无序集; List提供的是一个有序集; Map提供了一个映射关系的集合数...
2019-03-06 21:53:56 290
原创 算法——最大连续子数组和
题目描述:给定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 297
原创 Nginx安装
之前个人网站搭建图方便用的宝塔面板,现在想自己搭建Nginx,我顺便记录下安装的版本号secureCRT先连接服务器,卸载宝塔面板命令:wget http://download.bt.cn/install/bt-uninstall.sh命令:sh bt-uninstall.sh最后在检查一下8888端口还能打开不接着按照Nginx官方安装文档安装,坑多……安装目录我...
2019-03-01 13:03:00 193
原创 系统缓存设计
写的很全面,也很深入。看完一遍不够,所以转载一下 1. 前言在高访问量的web系统中,缓存几乎是离不开的;但是一个适当、高效的缓存方案设计却并不容易;所以接下来将讨论一下应用系统缓存的设计方面应该注意哪些东西,包括缓存的选型、常见缓存系统的特点和数据指标、缓存对象结构设计和失效策略以及缓存对象的压缩等等,以期让有需求的同学尤其是初学者能够快速、系统的了解相关知识。 2. 数据库...
2019-02-26 22:14:50 1280
原创 将字符串变为整数(java源码分析)
目录 要点:源码:源码注释:要点:判断首字母是不是小于零,“+”“-” 小于零有可能是“+”“-”或者其他符号 在首字母小于零的情况下,总长度不能为1,意思就是+-不能单独出现 循环过程中 字符串中的字符不能比零小 不能比所设定的进制大,源码中是以负数的形式写的,所以是小于号 每一位的数不能比当前数值+限制还要大。ps:1+8<f 限制为8,但是这一位数字...
2019-02-26 14:11:44 338
原创 合并两有序链表总结(java)
思路:一开始想到了归并算法,开头的两个相比较,谁小谁的指针往后面移动一格要点:1、确定退出的时候的条件2、返回的结点前后是谁 以下是我的源代码:/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ...
2019-02-26 10:33:32 416
原创 单链表反转总结(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 256
转载 combination sum总结(java)
程序是别人的,我几乎没动。惊叹其运行速度,转载一下~原地址:https://www.jianshu.com/p/42211be17acb我一开始的思路是用取余,余数小于被除数就说明多除了一次,应该往后退一步,一半递归一半循环,看了他的思路,发现我递归到后面数非常小了,用除法还不如用减法,全都用减法的,清晰好用。分析:使用Arrays.sort(candidates);先排序 参数...
2019-02-25 14:35:58 709
原创 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 299
原创 3sum总结(java)
排除写错的情况,总结一下:出现两次time limit exceeded超时第一次,在数组排序完了以后,判断上一次和这一次的firstNum是否重复,我用的while,仔细想了一下确实这里不需要用while循环判断,直接if判断就可以,省去不少时间,顺便将第二个第三个数的初始声明放在了if判断之后,如果前后数字重复了我就不用声明了,这里也节约一点时间。第二次,判断两数之和是否符合目标...
2019-02-25 10:22:33 425
转载 解决哈希冲突的三种方法及分析
文章原址:https://www.cnblogs.com/wuchaodzxx/p/7396599.html解决哈希冲突的三种方法及分析开放定址法线性探测再散列二次探测再散列伪随机探测再散列再哈希法链地址法建立公共溢出区优缺点开放散列(open hashing)/ 拉链法(针对桶链结构)封闭散列(closed hashing)/ 开放定址法通过构造性...
2019-02-24 12:52:28 4538
转载 java实现归并算法
这个程序不是我原创的,是我在学习别人的程序上改的,想重新写出来的原因就是:作为用户我调用一个工具,我给你个数组,你给我个排好的数组就好了,还要输入起始点和终点显得很不智能。(其实我就是把一行代码封装到了一个函数中,是不是显得我很作)我觉得归并算法相对于堆排序和快排原理比较简单,分析就不写出来了,下面是我的完整代码:/** * * @author Tacenee * */pub...
2019-02-24 09:28:27 1681 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 307 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 387
转载 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 4257
原创 RESTful和SringMVC结合
随着技术的发展,有一种新型的架构设计思想:Restful风格,也就是说利用一个简单的路径,而后根据HTTP提交模式不同。如何将RESTful和SringMVC结合呢,我们先看一下解析图理清一下思路如果现在希望Spring MVC运行的时候可以以Restful的风格进行执行,那么首先需要添加一些过滤器,修改web.xml文件。<filter> <filte...
2019-02-21 20:20:30 254
原创 HiddenHttpMethodFilter源码解析
首先我先给出源码,按着它一点一点分析(当然前面大段的注释和引包我就不要了,想看的同学也可以自己找源码看)public class HiddenHttpMethodFilter extends OncePerRequestFilter { /** Default method parameter: {@code _method} */ public static final String...
2019-02-21 11:51:09 683
原创 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 8322
原创 SpringMVC流程解析
客户端通过url发送请求 核心控制器Dispatcher Servlet接收到请求,通过系统或自定义的映射器配置找到对应的handler,url映射的控制器controller 通过核心控制器找到系统或默认的适配器HandlerAdapter 由找到的适配器,调用实现对应接口的处理器,并将结果返回给适配器,结果中包含数据模型和视图对象,再由适配器返回给核心控制器 核心控制器将获取的数据...
2019-02-21 10:27:30 182
原创 enum枚举入门
ENUM enum是计算机编程语言中的一种数据类型。枚举类型:在实际问题中,有些变量的取值被限定在一个有限的范围内。例如,一个星期内只有七天,一年只有十二个月,一个班每周有六门课程等等。如果把这些量说明为整型,字符型或其它类型是不妥当的。 枚举类型是Java 5中新增特性的一部分,它是一种特殊的数据类型,之所以特殊是因为它既是一种类(class)类型却又比类类型...
2019-02-20 21:59:47 203
原创 错误:The superclass "javax.servlet.jsp.tagext.SimpleTagSupport" was not found on the Java Build Path
右键项目,属性勾选tomcat 报错消失
2019-02-20 20:04:20 2928
原创 我第一个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 274
原创 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 367
原创 Redis学习(1)
1、什么是redis Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库(nosql),应用在缓存。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型有5种。如下:字符串类型 (String)散列类型(hash)列表类型(List)集合类型(set)有序集合类型(SortedSet)...
2019-02-18 20:03:01 330 1
原创 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 584
原创 Bcrypt加密算法
不可逆 (哈希算法) MD5 32位字符串可逆 密钥 Bcrypt需要60位BCrypt加密算法用户表的密码通常使用MD5等不可逆算法加密后存储,为防止彩虹表破解更会先使用一个特定的字符串(如域名)加密,然后再使用一个随机的salt(盐值)加密。 特定字符串是程序代码中固定的,salt是每个密码单独随机,一般给用户表加一个字段单独存储,比较麻烦。 BCrypt算法将salt随机并混入最...
2019-02-16 15:09:57 896
原创 ssm综合练习
SSM综合练习项目思路配置文件DAO层配置文件SqlMapConfig.xml 头文件 applicationContext-dao.xml(DruidDataSource)数据库连接配置 SqlSessionFactory对象 都在spring和mybatis整合包里 配置mapper文件扫描器Service层配置文件applicationContext-s...
2019-02-13 20:10:02 830
原创 Spring简单入门
目录单例模式和多例模式singleton&&prototype属性注入DIAOP配置单例模式和多例模式singleton&&prototype多创建几个对象,看初始化情况,地址是不是一样初始化只执行一次 属性注入DI构造方法 constructor-arg name valueset方法property ref接口注入...
2019-02-08 22:20:58 140
原创 JavaWeb注册登陆功能分析
Dao层只用实现数据库的查询增删,将判断用户是不是存在这个环节交给service首先要创建个User类,每个User有username password vorifycodeDao层实现数据库的增删查询,所有有两个方法 findByUsername(){}和add(){}对于查询功能findByUsername返回的是一个user类,相当于把根据名字查询到的用户信息返还给ser...
2019-01-31 07:53:27 866
原创 JavaWeb学习笔记——响应头
软件体系结构c/s客户端/服务器b/s浏览器/服务器web资源静态资源 动态资源jsp/servletserver.xml<Context path="itcast_hello" docBase="C://hello"/> 响应头302 请求的资源现在临时从不同的 URI 响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送...
2019-01-28 10:49:06 242
原创 JavaWeb学习笔记——反射机制
Junit的使用单元测试public void 方法名(){}@Test@Ignore表示不进行单元测试@before每个方法之前运行@After每个方法之后运行断言 Assert.asseertEquals 运行通过、运行不通过 枚举jdk5.0新特性enumnameordinalvalueOfvalues得到枚举数组泛型的...
2019-01-27 14:25:09 406
原创 JavaWeb学习笔记——dom4j
public class Dom4j_test01 { public static void main(String[] args) throws Exception { SAXReader saxreader = new SAXReader(); Document document=saxreader.read("src/p1.xml"); Element element =do...
2019-01-27 10:53:48 190
原创 JavaWeb学习笔记——Schema
Schemaschema约束schema符合xml的语法,xml语句一个xml中可以有多个schema,多个schema使用名称空间区分(类似于java包名)dtd里面有PCDATA类型,但是在schema里面可以支持更多的数据类型 schema可以直接定义一个整数类型schema语法更加复杂,schema目前不能替代dtd ...
2019-01-26 20:42:33 1388
原创 JavaWeb学习笔记——xml、dtd
案例:动态生成表格<html> <head> <title></title> <style type="text/css"></style> </head> <body> 行<input type="text" id
2019-01-26 17:59:27 319
原创 JavaWeb学习——JavaScript
String属性length方法substr第几位往后几位substring从哪到哪 Arrayconcatjoin根据元素分割数组 , - &push添加元素,返回新的长度 当一个字符串,整体添加pop删除元素,返回删除的元素reverse Date对象java Date toLocalString()将date变成当前时...
2019-01-25 22:43:23 240
原创 JavaWeb学习笔记——快速复习
<hr/>水平线属性size、color特殊符号< &lt > &gt 空格 &nbsp列表标签<dl></dl> <dt></dt>上层内容<dd></dd>下层内容<ol&
2019-01-25 10:54:54 269
原创 Mysql学习笔记——创建数据库、创建表格
首先是确定多层结构,基于事件驱动,规划DAO层,Service层。 并且在开发过程中,演示重构并解释重构的理由和好处。接着是开发顺序。 各个模块之间是互相依赖的,有的需要先行开发,有的模块必须建立在其他模块的基础上才可以执行。最后,引用第三方的包。 比如动态生成chart图片,演示如何使用这些API。表结构的设计1. 数据库和表的创建 2. 表关系 3. 约束 一条记录数据,只...
2019-01-24 20:21:07 502
转载 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 228
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人