- 博客(13)
- 收藏
- 关注
原创 关于HashMap resize()方法
final Node<K,V>[] resize() { // 老的bucket 桶 Node<K,V>[] oldTab = table; int oldCap = (oldTab == null) ? 0 : oldTab.length; int oldThr = threshold; int newCap, newThr = ...
2019-11-24 20:26:12 409 1
原创 关于调试HashMap源码的小心得(这篇是我耗费了断断续续两天才得出来的)
先说说大体的情况:我用的idea,在阅读HashMap的源码时候,我大体看懂了。但整体的一个数据具体储和流程我想用idea去走下断点,然后我就在自己的springboot项目里写了个测试类,然后简简单单、板板正正的new HashMap,然后put一下,get一下。然后我就点debug按钮开始执行了。然后很顺利的渗透到HashMap的内部,但TM遇到了一个骚问题(请允许我用一个艹),如下:...
2019-11-24 20:30:25 1270 5
原创 几种设计模式
一、设计模式概念设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性二、几种常用的设计模式1、单例模式保证每个类只有一个实例。例如 一个学校类只能有一个校长,资源管理器只能打开一个等。。创建单例:构造函数是私有的,然后写一个...
2018-08-27 18:14:49 320
原创 线程池
一、为什么会有线程池1、创建和销毁线程是非常耗时和耗资源的2、如果系统中并发了很多线程,会对系统的性能造成很大的影响。线程池就是解决线程声明周期和资源不足的问题。线程池是通过多个任务重复使用线程来家解决问题的。二、java提供的四种线程池1. newSingleThreadExecutor创建一个单线程的线程池。这个线程池只有一个线程在工作,也就是相当于单线程串行执...
2018-08-19 22:18:08 4795 5
原创 Restful和postman
1、Restful 理解RESTful是一种规范,是微服务的一种标准,rest更容易在代码中看出来,这是开发时候的规范。REST全称是表述性状态转移,那究竟指的是什么的表述? 其实指的就是资源。任何事物,只要有被引用到的必要,它就是一个资源。资源可以是实体(例如手机号码),也可以只是一个抽象概念(例如价值) 。要让一个资源可以被识别,需要有个唯一标识,在Web中这个唯一标识就是URI(Un...
2018-08-12 17:11:52 1898
原创 在idea中搭建spring boot及相关小知识
一、在idea搭建spring boot1、首先下载idea2、file-new-project 然后一步一步往下就可以了。二、小知识1、启动项。2、 和在eclipse中配置maven一样,只不过从tomcat7:run 改成了 spring-boot:run3、配置文件推荐用 yml文件:直接输入application.y...
2018-08-12 10:52:27 1193
原创 Token小结
1、身份验证的由来由于HTTP请求是无状态的,所以服务器根本无法知道是谁请求的。例如购物车,无法确定是谁买了什么东西,这样就需要一个会话标识(session id),这样能确定谁是谁了。2、token基本理解首先token和session性质一样,用于客户端和服务器端进行用户身份验证用的。但token有几点好处:1)session占内存如果用户量大的情况下(上千万的用户),需要...
2018-08-11 16:00:39 1169 2
原创 Jedis使用(如果开了端口还不能行的一定要进来看看)
首先,要想在java中使用redis,就需要使用到jedis1、下载所依赖的jar包或者导入mavenhttp://www.mvnrepository.com/artifact/redis.clients/jedis 根据需要下载或导入,我是自己建了个工程弄的2、创建redis demo类,实例化jedis Jedis jedis = new Jedis(String ip , ...
2018-07-22 19:05:08 568
原创 Linux下安装redis
一、.获取redis资源wget http://download.redis.io/releases/redis-4.0.8.tar.gz二、解压tar xzvf redis-4.0.8.tar.gz三、安装1)cd redis-4.0.82)//因为redis是用c写的,所以需要通过make编译才能运行make 出现这个提示说明编译好了,如果报错,需...
2018-07-22 15:41:07 137
转载 Linux 安装jdk、mysql、tomcat
1.JDK安装注意:rpm相当于windows中的控制面板,可以进行linux软件的安装、更新、删除安装: rpm -ivh name查看: rpm -qa | grep -i java // 可以查看java相关的软件,grep是一种强大的文本搜索工具,-i 忽略大小写卸载: rpm -e --nodeps 软件名字步骤:1)查看当前Linux系统是否已经安装java...
2018-07-21 19:52:55 169
原创 linux小知识
需要记住的就四个(刚开始进去,像windows进去是桌面,但linux进去是/root,很容易找不到别的目录,记得先进入根目录 cd / ,然后再去找!!!)
2018-07-15 15:44:49 123
原创 Linux CenOS6.5 VMware安装
首先,学习linux需要有linux的服务器,但我们正常情况下可以安装一个虚拟机,然后在虚拟机搭建一个linux环境。1、去 http://www.ihacksoft.com/install-vmware-workstation-10-0.html 按照文章下载VMware Workstation 10.0,版本10是比较稳定的版本。下载完成后,记住要以管理员身份运行去安装。2、去服务...
2018-07-15 15:26:00 225
原创 List、set、哈希
1、List:有序的,可存重复的数据 set:无序的,不能存储重复的(所以要存储不可重复的就用set集合)2、哈希算法 为什么会出现哈希算法呢??? ...
2018-07-15 14:15:55 256
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人