- 博客(118)
- 收藏
- 关注
原创 互联网公司分布式集群架构图入门解析(简单通俗易懂,超详细)
一、小型公司网络架构狗子是某大学计算机专业本科应届毕业生,由于自己的技术不错,再加上互联网产业的巨大利润的驱使,狗子决定走上创业这条路,于是,狗子联合了同学二黑,鸡子,狗蛋等人花费了几个月的时间写出了一套网站,是关于足球资讯的pc端网站加上手机APP客户端。现在产品测试成功了,准备发布了,狗子想到了两个问题:1.网站需要服务器狗子之前所有的代码测试都是在本地服务器或者局域网上进行的,现在需要...
2018-11-08 09:32:44 34081 33
原创 对Kafka的探索
1.kafka名词解释Broker:一个kafka节点就是一个broker,多个kafka节点可以组成一个kafka集群Topic:每条kafka消息都有它的topic,kafka根据topic做消息的分类Producer:消息的生产者,负责向broker发送消息的客户端Consumer:消息的消费者,负责从broker拉取消息来进行消费(解析消息然后执行自己的逻辑)Consu...
2020-03-27 13:49:59 483
原创 面试总结
1.hashcode 和 equals 方法的作用和联系https://blog.csdn.net/bailu666666/article/details/81153815总结: hashcode和equals都是为了判断对象是否相等,hashcode不同对象也可能相等,所以自定义的对象需要重写hashcode()方法来确保一些数据结构如set中没有重复元素;equals()判断两个对象是否相...
2020-02-15 16:12:03 542
转载 为什么使用消息队列? 消息队列有什么优点和缺点? Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景?
原文链接:https://www.jianshu.com/p/ac5adede9d58面试官心理分析其实面试官主要是想看看:第一,你知不知道你们系统里为什么要用消息队列这个东西?不少候选人,说自己项目里用了 Redis、MQ,但是其实他并不知道自己为什么要用这个东西。其实说白了,就是为了用而用,或者是别人设计的架构,他从头到尾都没思考过。 没有对自己的架构...
2019-07-11 18:20:01 487 1
转载 maven package、install、deploy的区别
mvn clean package依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段。mvn clean install依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个阶段。mvn ...
2019-05-14 15:54:02 198
原创 使用jackson自定义序列化
1.导入maven一共有三个:<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.9.4</version><...
2019-05-05 15:49:22 573
原创 使用spring-data配置实现mongoDB增删改查
1.安装配置mongoDB并启动具体操作请参见此篇博客:https://www.jianshu.com/p/7241f7c83f4a2.新建一个springBoot java web项目具体操作请见此篇博客:https://blog.csdn.net/qq_37856300/article/details/862231343.新建一个实体类Personimport lombok.Data...
2019-05-03 20:58:27 583
原创 SpringBoot集成redis入门教程
1.新建一个springBoot web项目具体教程可以参见此篇博文:https://blog.csdn.net/qq_37856300/article/details/862231342.添加spring-data依赖<dependency> <groupId>org.springframework.boot</groupId> <...
2019-04-27 16:19:27 233
原创 Idea中js的import报错:Import declarations are not supported by current JavaScript version解决方法
这个错误的原因是因为默认的js版本比较低,不支持import语句,因此我们提高版本就可以了:打开setting:打开js栏目,更改设置:
2019-01-26 11:10:30 3306
原创 SpringBoot配置thymeleaf
SpringBoot是基于spring的一套非常方便的Web项目开发框架,真正做到了开箱即用,我们只要导入SpringBoot的依赖,然后甚至连tomcat等服务器都不需要安装就可以编写并运行起来一个web项目。然而,SpringBoot并不推荐使用jsp,而是推荐使用thymeleaf。有人可能会说了,这个thymeleaf是个什么东西?为什么那么好用的jsp spring都不推荐使用,反而推荐...
2019-01-25 09:42:52 425
原创 @PathVariable用法
带占位符的 URL 是 Spring3.0 新增的功能,通过@PathVariable注解,我们可以获取网络url中的一部分作为controller方法中的参数。使用示例如下:html:<a href="/test/3">java:@RequestMapping("/test/{id}") public void test(@PathVariable("id") In...
2019-01-22 13:08:34 820
原创 将springBoot项目打成jar包部署到linux服务器
使用idea,点击右侧的maven选项:双击package:等待打包完成,去对应的目录找到jar包:将jar包上传到linux服务器的文件夹中运行注意,如果我们单纯在服务器上运行jar包,随着我们linux用户的断开远程连接,程序也会停止,因此我们要用后台运行的方式去运行这个程序:在jar包所在的目录直接输入命令运行:nohup java -jar xxx.jarxxx就是我们...
2019-01-21 14:34:55 2586
原创 The supplied data appears to be in the Office 2007+ XML 使用poi解析excel文件时报错
解决方法如果是xls格式的excel文件,使用HSSFWorkbook来解析;如果是xlsx格式的excel文件,使用XSSFWorkbook来解析
2019-01-12 15:05:04 1744
原创 Could not autowire. No beans of 'TbItemMapper' type found错误解决办法
idea此处不应该报错,因此我们把对这个报错的功能关闭就好。打开File->setting->Inspections,将此处的对勾勾掉即可
2019-01-11 21:20:36 3842 3
原创 Spring的@GetMapping和@PostMapping注解
@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。@PostMapping是一个组合注解,是@RequestMapping(method = RequestMethod.POST)的缩写。
2019-01-11 17:14:10 1076 2
原创 SpringBoot+Swagger生成接口文档页面
1.加入maven依赖&lt;dependencies&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-web&am
2019-01-10 17:41:11 525
原创 使用idea创建一个SpringBoot项目
1.新建项目2.新建SpringBoot项目在上面选择JDK,直接使用默认然后点击Next即可3.输入项目信息输入项目的maven坐标和各种详细信息点击Next4.选择Web模板5.输入项目名和项目存储路径点击Finish,创建完成6.创建第一个Controller创建文件,使你的项目目录结构如下图所示:在HelloWorldController中输入如下代码:...
2019-01-10 11:59:31 443
原创 maven项目的GroupId和ArtifactId怎么写
就像我们在平面直角坐标系上找到一个点需要它的x,y坐标一样,我们在maven库中找到一个依赖并下载下来它也需要一个坐标,GroupId和ArtifactId就是这个坐标。groupId一般分为多个部分,第一部分为域,第二部分为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个例子,apache公司的tomcat项目:这个项目的groupId是org.a...
2019-01-10 10:57:19 689
原创 java使用代理ip爬取网站内容
在一些有反爬虫技术的网站中,检测到同一ip在短时间内多次访问的时候,可能就会禁掉这个ip。上有政策,下有对策,为了应对这种情况,可以使用多个代理ip去爬取这个网站。java使用代理ip有两种方法:1.设置System系统属性// 设置代理IP System.getProperties().setProperty(&amp;quot;proxySet&amp;quot;, &amp;quot;true&amp;quot;);
2019-01-06 15:21:53 1520
转载 Netty是干什么用的?
原文链接:https://blog.csdn.net/bjweimengshu/article/details/78786315#commentBox 随着移动互联网的爆发性增长,小明公司的电子商务系统访问量越来越大,由于现有系统是个单体的巨型应用,已经无法满足海量的并发请求,拆分势在必行。在微服务的大潮之中, 架构师小明把...
2019-01-06 14:57:46 1166 4
原创 页面置换算法(OPT,FIFO,LRU)
页面置换算法地址映射过程中,若在页面中发现所要访问的页面不在内存中,则产生缺页中断。当发生缺页中断时,如果操作系统内存中没有空闲页面,则操作系统必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。而用来选择淘汰哪一页的规则叫做页面置换算法。下面以页面访问顺序:4,3,2,1,4,3,5,4,3,2,1,5,实际页面数为3为例,研究三种算法的不同最佳置换算法(OPT)理想置换算...
2019-01-05 16:24:39 19876 5
原创 使用idea创建一个Maven java Web项目
使用idea创建Maven java Web项目的步骤比eclipse要稍微凌乱一些,下面我们来逐步创建一个Maven java Web项目1.新建项目输入项目坐标可以选择自己的maven,也可以用idea自带的maven输入项目名和项目的存储位置,点击Finish点击右下角的Import Changes上述步骤完成后目录结构应该是这样的:创建资源目录“resource...
2019-01-04 15:00:51 13812 7
原创 三次握手和四次挥手
三次握手和四次挥手是一种协议,TCP在传输之前会进行三次沟通,一般称为“三次握手”,传完数据断开的时候要进行四次沟通,一般称为“四次挥手”。三次握手例子:为什么要这样去设计呢?这是为了保证双方的连接有效性,就好比你和异地恋的女友打电话聊天,你拿起了电话,先要说一句“喂?”,这一句是询问对方是否存在,女朋友会回一声“喂,你是谁?”(此处不考虑来电显示。。。)这一句是证明自己存在并且抛出了一个问...
2019-01-02 20:40:52 208
原创 mysql数据库索引原理及使用注意事项
索引原理索引出现的原因在使用关系型数据库的时候,我们常常听到一个词:“索引”,在优化数据库的时候,我们常常听到有人提到添加索引可以加快数据库的查询速度,今天我们就来谈一谈它的原理。关系型数据库之所以叫这个名字,是因为它采用了一种名为“关系”的数据结构来存储数据,说简单点就是二维表格,就像我们使用navicat或者其它mysql可视化工具看到的表一样,这样的数据结构称为“关系”。采用这样的数...
2018-12-31 01:11:50 377
原创 算法:两个链表以逆序组成数字相加
题目:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -&...
2018-12-30 17:02:36 908
原创 SpringMVC踩坑:HTTP Status 405 - Request method 'GET' not supported错误
今天在做项目的时候,在a链接后面拼接了一串参数,然后运行,结果浏览器显示:HTTP Status 405 - Request method 'GET' not supported解决方法:将springMVC中对应的controller中的请求方法改成GET:...
2018-12-28 15:46:16 1648
原创 java String类型转换方法
public static void main(String[] args){ String origin = "123"; Integer.valueOf(origin);//转为Integer封装类型 Integer.parseInt(origin);//转为int型 Boolean.valueOf(origin);//转为Boolean封装类型...
2018-12-28 15:41:33 474
原创 mybatis异常:The content of elements must consist of well-formed character data or markup的解决方法
今天做项目的时候,要加入选择开始日期结束日期然后根据日期范围删选数据显示出来的功能,于是我在mybatis的Mapper xml文件中使用where语句写了形如:select * from t_stuff where time &lt; #{startTime} and time &gt; #{endTime}的语句然后居然报错了,错误如下:The content of elements...
2018-12-27 18:06:35 46371 8
原创 jvm内存分配与回收策略
阅读本文前,你需要知道:对新生代和老年代是什么有初步的了解,了解新生代空间中的存储方式(Eden,Survivor)对jvm的垃圾回收机制有了解 : 传送门对垃圾回收的机制和三种方式有了解:垃圾回收方式知道Minor GC 和 Full GC的基本意思正文我们都知道,jvm中的堆空间用来存储对象的实例,而堆空间又被划分为新生代和老年代,当我们创建一个新对象的时候,优先将此对象在Ed...
2018-12-27 17:52:48 195
原创 Linux查找文件命令
find / -name test.txt 在所有目录中查找名字为test.txt的文件find / -name ‘*.txt’ 在所有目录中查找后缀名为.txt的文件find . -name test.txt 在当前目录中查找名字为test.txt的文件find /etc -name '*srm*' 查找/etc文件夹下所有名字中包含srm的文件find / -amin -10 查...
2018-12-27 15:22:36 8084
原创 迪菲-赫尔曼密钥交换
在上一篇对称加密,非对称加密的博客中,我们提到了使用对称加密的时候加密解密的钥匙容易被他人窃取的安全性问题,为了解决这种问题,我们要不使用非对称加密,要不就要使用混合加密方式。除此之外,我们现在要介绍的另一种方法是使用迪菲-赫尔曼加密方法。迪菲-赫尔曼密钥迪菲-赫尔曼密钥交换(英语:Diffie–Hellman key exchange,缩写为D-H) 是一种安全协议。它可以让双方在完全没有对...
2018-12-24 19:48:56 1994 1
原创 混合加密
前言上一篇文章我们提到了公开密钥加密方法并且剖析了它的优点和缺点,优点主要是加密解密比较安全,在攻击人没有拿到私钥的情况下,使用此种加密解密方式几乎不可能被破解;缺点有两个,第一个是使用此种方式的性能比较不好,第二个是在公钥的交付过程中可能会被攻击人拦截到并且替换成自己的公钥,让甲方和乙方在自以为很安全的情况下就泄露了自己的信息。此篇博文我们先来解决一下第一个问题。混合加密当我们使用对称加...
2018-12-24 10:50:18 2971
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人