自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

逐鹿人生的博客

技术小白

  • 博客(50)
  • 资源 (1)
  • 收藏
  • 关注

原创 面试准备--Redis

一、Redis的数据结构1.字符串String2.列表list3.哈希hash4.集合set5.有序集合sorted setstring–>简单的key-valuelist–>有序列表(底层是双向链表)–>可做简单队列set–>无序列表(去重)–>提供一系列的交集、并集、差集的命令hash–>哈希表–>存储结构化数据sorted set–>有序集合映射(member-score)–>排行榜跳表------so

2020-08-24 16:27:28 193

原创 面试准备--Java基础、多线程、IO与NIO、虚拟机、设计模式

一、Java基础二、集合1.java集合都有哪些?答:List、Set、Map2.Collection和Collections的区别?答:Collection是一个集合接口,提供了对集合类的一些基本操作的接口;Collections是一个工具类,提供了一些对集合进行排序、拷贝等操作的静态方法。3.List、Set、Map的区别?答:List有序、可重复;Set无序、不可重复;Map键值对,key不可重复4.HashMap和HashTable的区别?答:线程安全性:Hash

2020-08-11 22:26:49 413

原创 知识整理--Spring全家桶

一、实现邮件发送:JavaMailSender二、41道SpringBoot面试题1.什么是SpringBoot?答:SpringBoot是用来简化Spring应用开发,约定大于配置,去繁从简,just run就可以创建一个独立的,产品级别的应用。(简化Spring应用的初始搭建以及开发过程,使用特定的方式进行配置properties或yml;创建独立的应用程序,main方法运行;嵌入式tomcat;简化maven;自动配置Spring添加对应功能starter自动化配置)2.Sprin

2020-07-19 22:07:09 220

原创 ArrayList源码解析

1.类的继承关系1.1 接口List定义了list的各种需要实现的方法。1.2 抽象类AbstarctList实现了list几个比较简单的方法,定义了几个检查方法,如下标越界检查,数组长度检查等。2.成员变量/** 底层数据结构:数组 */private E[] elements;/** 默认初始化数组容量:10 */private static final int DEFAULT_CAPACITY = 10;3.构造方法 /** 参数传递初始容量,如果小于默认

2020-06-28 22:48:12 179

原创 String源码解析

1.类的继承关系public final class String implements java.io.Serializable, Comparable<String>, CharSequence1.1 String被final修饰,所以String不能被继承,String的底层是字符数组,也是被final修饰的,也保证了String的不可变。1.2 实现CharSequence(字符串)接口,只有几个通用的方法。1.3 实现了Comparable,说明String是

2020-06-25 23:12:06 188

原创 深入理解Java虚拟机第三版 第五部分 高效并发

第十二章 Java内存模型与线程12.3.5 原子性、可见性与有序性1.原子性Java内存模型提供了lock和unlock操作满足原子性,但未对用户提供;提供了monitorenter和monitorexit字节码指令来隐式使用这两个操作synchronized关键字就使用了这两个字节码指令,所以synchronized块之间的操作具备原子性2.可见性volatile通过在变量修改后把新值同步回主内存,以及每次使用前立即从主内存刷新来实现可见性synchronized实现可见性:

2020-06-21 18:43:37 162

原创 深入理解Java虚拟机第三版 第四部分 程序编译与代码优化

第十章 前端编译与优化10.2 Javac编译器10.3.1 泛型 类型擦除10.3.2 自动装箱、拆箱与遍历循环10.3.3 条件编译(ifelse)第十一章 后端编译与优化11.2 即时编译器11.2.1 解释器与编译器程序需要迅速启动和执行时,解释器先发挥作用,立即运行。随着时间的推移,编译器发挥作用,把越来越多的代码编译成本地代码,提高执行效率。当环境对内存的限制较大,使用解释器节约内存,反之,使用编译器可以提高效率。HotSpot内置了两个(或三个)编译..

2020-06-21 17:07:16 103

原创 深入理解Java虚拟机第三版 第三部分 虚拟机执行子系统

第六章 类文件结构第七章 虚拟机类加载机制第八章 虚拟机字节码执行引擎第九章 类加载集执行子系统的案例与实战

2020-06-21 10:20:50 244

原创 深入理解Java虚拟机第三版 第二部分 自动内存管理

第二章 Java内存区域与内存溢出异常2.2 运行时数据区域2.2.1 程序计数器如果线程正在执行一个Java方法,计数器记录的是正在执行的虚拟机字节码指令的地址;如果正在执行的是本地(Native)方法,这个计数器值是null。2.2.2 Java虚拟机栈每个方法被执行的时候,Java虚拟机都会同步创建一个栈帧,存储局部变量表、操作数栈、动态链接、方法出口2.2.3 本地方法栈2.2.4 Java堆存对象实例2.2.5 方法区存储被虚拟机加载的类型信息、常量、静

2020-06-15 22:38:23 126

原创 深入理解Java虚拟机第三版 第一部分 走近Java

第一章 走近Java1.2 Java技术体系JDK:Java程序设计语言、Java虚拟机、Java类库JRE:Java类库API中的Java SE API子集、Java虚拟机

2020-06-06 14:41:06 318

原创 Git原理详解与实用指南

文章目录上手 1:新公司用 Git 管理代码,怎么快速上手?上手2:团队工作的基本工作模型上手 1:新公司用 Git 管理代码,怎么快速上手?安装git;在github上创建一个仓库,用来练习,创建完成后,复制仓库地址;打开git bash,创建一个放本地仓库的目录,如mkdir myGitProjects;进入该目录,执行命令:git clone 仓库地址 拉取代码完成之后...

2019-12-31 10:37:36 1556

原创 Nginx二级负载配置

Nginx二级负载配置前言:工作需要,为乙方做项目部署,需要使用Nginx配置二级负载,记录配置代码,以供参考。Nginx安装按照Nginx官网的命令进行安装,文档地址,安装完成后,配置文件默认在/etc/nginx/nginx.conf和/etc/nginx/conf.d/default.conf。负载架构一级负载,IP地址和端口为 xxx.xxx.xxx.180:9000二级负载...

2019-11-06 14:22:59 283

原创 Nginx场景实践篇

一、静态资源WEB服务1.什么是静态资源2.静态资源服务场景3.静态资源服务配置4.客户端缓存5.静态资源压缩6.防盗链7.跨域访问二、代理服务三、负载均衡四、缓存服务...

2019-10-20 20:41:45 148

原创 Nginx基础篇

前言什么是Nginx?Nginx是一个开源且高性能、可靠的HTTP中间件、代理服务Nginx的优点?1.IO多路复用epoll2.轻量级(功能模块少,代码模块化)3.CPU亲和4.sendfile什么是IO多路复用?一、IO多路复用就是通过一种机制,监听多个描述符(当一个IO流要进行文件处理的时候,要获取一组文件的描述符),一旦某个描述符就绪,就通知应用程序进行相应的操作,...

2019-10-17 22:15:13 721

原创 SpringBoot打包无法访问JSP的问题

背景:公司项目,打包后无法访问JSP页面一、打包后的jar包里没有jsp:修改pom.xml,在其中加上如下配置<resource> <directory>src/main/webapp</directory> <!-- webapp下的内容,必须放在该路径下 --> <targetPath>META...

2019-06-13 14:48:20 2372

原创 CSRF攻击解决方案--CSRFGuard使用文档

背景:公司项目使用fortyfy测试出CSRF相关的BUG,目前尝试使用CSRFGuard来解决CSRF攻击。一、CSRF攻击:CSRF是“跨站请求伪造”,其操作方法是借助用户浏览器内的验证过的cookie,在用户点击链接时实现链接跳转,并携带用户的cookie,实现一些用户实际并没有执行的操作。类似的BUG为:XSS“跨站脚本攻击”,即恶意让用户浏览器执行一些脚本,恶意获取用户coo...

2019-06-05 13:53:55 4063 2

原创 上传SNAPSHOT类型的jar到nexus

因为SNAPSHOT的jar无法传到3rd party,所以需要自己手动创建一个snapshot类型的仓库,把jar上传。在jar包所在的目录下执行:mvn deploy:deploy-file -DgroupId=com.alibaba-DartifactId=dubbo-Dversion=2.5.4-SNAPSHOT-Dpackaging=jar -Dfile=dubbo-2.5...

2019-03-01 13:39:54 3751

原创 Javascript DOM

1.查找元素节点getElementById("idName");---StringgetElementsByTagName("tagName");---String2.查看是否存在子节点hasChileNodes();---boolean3.DOM属性node.nodeName;---Stringnode.ELEMENT_NODE(1)---元素节点node.AT...

2018-11-29 10:23:28 137

原创 MySQL

1.SQL语句DML:数据操纵语句,用于添加、删除、修改、查询数据库记录,并检查数据完整性。insert、update、delete、selectDDL:数据定义语句,用于库和表的创建、修改、删除。create、alter、drop、create index、drop indexDCL:数据控制语句,用于定义用户的访问权限和安全级别。grant、revoke、commit、rollba...

2018-11-27 17:32:16 209

原创 剑指offer26-30

26.二叉搜索树与双向链表        题目描述:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public Tr...

2018-09-04 15:16:16 139

原创 剑指offer21-25

21.栈的压入、弹出序列        题目描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)import java.util.*;...

2018-09-04 14:12:01 233

原创 剑指offer16-20

16.合并两个排序的链表        题目描述:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/...

2018-09-04 13:52:27 99

原创 剑指offer11-15

11.二进制中1的个数        题目描述:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。public class Solution { public int NumberOf1(int n) { return Integer.toBinaryString(n).replaceAll("0", "").trim().length(); ...

2018-09-04 12:51:12 93

原创 剑指offer6-10

6.旋转数组的最小数字        题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。import java.util.*;public class ...

2018-09-04 11:40:42 139

原创 剑指offer1-5

一、二维数组中的查找        题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。public class Solution { public boolean Find(int target, int [][] array) ...

2018-09-04 11:01:45 121

原创 SSM后台处理oracle数据库的BLOB字段数据

背景:公司项目需要在BLOB里存储大文本JSON格式的字符串,主要是echart的配置,用于在前端展示echart图表操作:        1.在pojo类中对应数据库的BLOB字段的数据类型设置为byte[]类型        2.在mapper.xml中该字段的JDBCType设置为BLOB,所有操作里只要需要填JDBCType的都是BLOB        3.执行存储操作时可...

2018-08-20 09:45:26 1105

原创 SSM项目基于spring MVC国际化

背景:公司项目可能会被国外企业使用,所以要求将项目进行国际化,目前先开发中英文版本操作:        1.修改spring-mvc.xml配置,在spring-mvc.xml中添加如下配置代码:&lt;bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessage...

2018-08-20 09:31:45 729

原创 使用Spring定时器定时推送数据

背景公司项目需要写一个定时任务,放在用户本地的系统里,定时访问用户的数据库,把需要推送的数据通过访问上一篇文章的POST接口推送到中央数据库。定时器编写1.在配置文件里添加相关配置​&lt;!-- 定时器开关 --&gt;&lt;task:annotation-driven /&gt; &lt;!-- 自动扫描的包名 --&gt;&lt;bean id="myTa...

2018-08-10 16:38:50 3560

原创 SSM项目开发POST接口

背景公司项目需要为用户开发一个POST接口,使得用户在不用登陆的状态下访问接口并传输数据。接口编写1.需要传输的数据形式为data={"esealList":[{"id":"1","name":"xiaoming","age":"21"},{...},{...}]}。为了解析这种json类型的字符串,项目使用了GSON来解析数据,GSON的使用需要导入的JA

2018-08-10 15:55:04 4153

原创 后端--Restful风格的接口的参数(路径参数)里有点号(.)的解决办法

在URL:http://.../infoAdd/{data}的data里需要使用点号,;例如需要传递邮箱参数时,点号会被认为是未完成的字符从而使系统报错,解决办法如下:在后台的controller里,@RequestMapping("/infoAdd/{data:.+}")public String dosth(@PathVariable("data")){ return null;}...

2018-07-09 15:30:42 8198

原创 前端JS--在方法里修改全局变量的值

一般在方法里对全局变量的修改仅限于方法体内,方法结束之后,全局变量就会恢复之前的值,在前端的js代码里,可以通过使用ajax来修改全局变量的值:&lt;script type="text/javascript"&gt; var n = 1; function changen() { $.ajax({ async: false, ...

2018-07-09 15:18:00 22826 1

原创 linux就该这样学2

1.

2018-05-22 11:55:31 165

原创 Linux就该这样学1

1.Linux与Windows的不同:  1)Linux严格区分大小写  2)Linux一切皆文件,用户、硬件等都是文件  3)Linux不根据扩展名来识别文件类型,根据权限来识别  4)Windows的程序不能直接在Linux环境中安装和运行(Linux可以安装Windows模拟器,但那和Linux无关)...

2018-05-20 23:37:03 592

原创 python入门

前言:根据慕课网免费课程《python入门》记录的笔记第一章  python介绍1.1 python是解释性语言,不用编译;运行速度慢,代码量少;跨平台;1.2 python源码不能加密第二章  python安装2.1 python版本包括2.7和3.3,该课程使用2.7,因为一些第三方库暂时不支持3.32.2 python安装:访问www.python.org--&gt;下载windows环境下...

2018-04-26 17:24:04 303

原创 Nginx简介

1.Nginx是什么?  一款轻量级web服务器,也是一款反向代理服务器2.Nginx能做什么?  直接支持Rails和PHP的程序;  作为HTTP反向代理服务器;  作为负载均衡服务器;  作为邮件代理服务器;  帮助实现前端动静分离3.特点  高稳定、高性能、功能丰富、模块化结构、资源占用少、支持热部署4.安装  下载http://nginx.or

2018-01-23 23:16:35 144

原创 PHP笔记(二)核心技术

9.文件处理  9.1打开文件resource fopen(filename, mode),其中mode是打开文件的方式,mode包括r只读、r+只读、w、w+、            x、x+;关闭文件bool fclose(resource handle)      9.2读写文件       int readfile(filename);读入一个文件并将其写入输出缓冲

2018-01-22 23:54:53 217

转载 网站架构发展

一、网站的服务器    1、把文件放在高磁盘性能的服务器上    2、把数据库放在高CPU性能服务器上    3、应用服务器采用分布式    4、负载均衡服务器进行调度(可分布式)二、横向扩展应用服务器解决session共享问题:    1、每一个请求通过负载均衡调度过后去往一个对于的服务器(可以通过hash(ip)来决定去哪个服务器,这样一来每次请求都能有自己的ses

2018-01-20 11:23:01 283

原创 PHP笔记(一)基础知识

1.PHP环境搭建  1.1安装wampserver:下载->安装->选择使用的浏览器和编辑器->在电脑托盘区有图标->在浏览器输入http://localhost/出现wampsever页面则成功  1.2修改apache端口号:单击图标--Apache/http.conf--找到Listen0.0.0.0:80修改-重启  1.3修改Mysql服务器root密码:单击图标--php

2018-01-04 19:17:12 158

原创 JSP笔记

1.修改Tomcat端口:在Tomcat安装目录里的conf文件里的servlet.xml文件中修改中的端口2.调用了java类的无参构造方法,调用了getXXX方法,调用了setXXX方法3.JDBC代码try{ Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/te

2017-12-31 18:24:44 252

原创 JS基础知识

一、JS代码的注意事项大小写敏感;换行与空格会在编译的时候被忽略,但字符串在换行时需要用 “+” 连接;分号可有可无;注释包括//和/**/二、数据类型  基本数据类型    1.字符串型数据----用单引号或双引号包起来的文本字符串,如var h = "你好"  或  var h = '你好',两者没有区别    2.数值型数据----用双精度浮点值来表示数字,可

2017-11-29 23:30:52 153

高性能秒杀系统

高性能秒杀系统的完整代码,包括前期的dao层、service层和web层的代码,以及优化的代码。纯手打,可能会有错误。

2018-05-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除