- 博客(86)
- 收藏
- 关注

原创 深入计算机网络(一):TCP/IP协议的数据报分子式解释
导读: 什么是抓包?换一句话来说,就是抓数据、拦截数据,然后对数据进行分析。数据在网络传输的过程中并不是一个单独的数据流,而是将数据打成一个包发送出去。也就是说,我们的接收的数据是经过一定过程才到达的。数据从开始打包到解包过程中,需要严格的校验,如果校验失败则会发送不成功,我们也将收不到数据。所以,计算机网络是一个开放的整体,内嵌了许多的执法人员,每一个执法人员会按一定的规则来执行他们的...
2019-07-02 00:39:16
338

原创 超级棒的Java开发框架推荐————Spring Boots下Thymeleaf开发模板
导读: Thymeleaf是一种Web开发的模板引擎,它能够将后台的值准确的传给前台,很轻松去处理CSS、HTML、Javascript纯文本。在Spring Boots官网推荐使用Thymeleaf模板的时候,thymeleaf同时也全力打造一个优雅和高度可维护的创建模板,向世人证明它的优秀所在。Thymeleaf 官网:https://www.thymeleaf.org/...
2019-06-19 23:09:14
794

原创 并发编程艺术(一):高能详解线程池和分布式集群架构————从零基础也能够变成高级架构师
导读: 什么是线程池?当我们使用微博,举个例子,世界杯梅西成功闯入了决赛,离封王只有一步之遥。这个可以达到每秒几十万的请求量的级别的高并发,我们往往单个服务器是扛不住的,如果加服务器又花费很高的成本,有没有简单更好的方法去降低成本实现功能? 当多个客户对某一网站进行请求访问,呈现多个用户去竞争同一个线程资源,如果队列中已经没有了存储空间,此时如何去控制线程池开辟...
2019-06-16 00:30:25
940
原创 思考遇到HTTP的链接报错 - ECONNRESET
#思考遇到HTTP的链接报错 - ECONNRESET文章目录#思考遇到HTTP的链接报错 - ECONNRESET导语:问题情况网上资料情况总结导语:访问内部网站,发现时间一长会报ECONNRESET错误,一开始以为是后端的正常报错,就去搜了一下,但是没查到主要原因,后面查阅资料研究了一下,实际上可能是会话时间过长,服务器关闭客户端的tcp链接的原因。问题情况偶然和同事一起打开自己内部的测试平台,然后都发现了报错ECONNRESET,然后任何的接口都访问不出来,均以上这个报错。我本地没有
2022-03-10 17:17:25
9375
原创 Go之组件学习-channel(concurrency篇)
文章目录导语:一、channel的定义二、channel的使用方式三、channel的一些场景四、channel的一些简单场景应用五、channel 一些禁止项文章借鉴导语:最近在学习关于go语言的concurrency的channel模块,就看到了ardan labs里面的一些例子,促进理解channel一些原理和使用一、channel的定义Channels allow goroutines to communicate with each other through the use of si
2022-02-04 10:54:33
954
原创 浅谈垃圾对象回收之《三色标记法》
文章目录前言什么是垃圾回收JAVA的垃圾回收回顾GO的垃圾回收学习**三色标记法(tricolor mark-and-sweep algorithm)**Dijkstra方法(插入屏障,强三色,Go1.7之前)Yuasa方法(删除屏障,弱三色,Go1.8)Hybrid方法(混合写屏障)总结文章致谢前言 众所周知,一门优秀的语言总会需要考虑很多点,比如说性能、内存、并发处理等,把其语言开发到一个高度。这一期我们学习的内容是内存方面的,并且结合java和go语言去阐述经典的内存垃圾对象回收算法。什么是
2022-02-02 17:55:33
823
1
原创 Maven无法正常通过快照Snapshots下载jar包问题
导读: 首先在一般大公司的项目中,不推荐使用快照Snapshots去下载jar包,我的理解是因为在Snapshots上发布的jar包版本可能仅仅更多是测试用(可能后续会出现bug呀等等防止这些问题的发生,这些组件可能不稳定,也不推荐你使用)。所以正式的包一般推荐在releases下,下载包也推荐使用releases版本的。当然这些都是前言,好久没写文章了哈哈哈。问题:...
2019-12-10 14:29:19
2552
原创 字节跳动之算法(三):二维平面整数点集最大值问题(50%-80%准确率)
题目:P为给定的二维平面整数点集。定义 P 中某点x,如果x满足 P 中任意点都不在 x 的右上方区域内(横纵坐标都大于x),则称其为“最大的”。求出所有“最大的”点的集合。(所有点的横坐标和纵坐标都不重复, 坐标轴范围在[0, 1e9) 内)如下图:实心点为满足条件的点的集合。请实现代码找到集合 P 中的所有 ”最大“ 点的集合并输出。输入描述:第一行输入点集的个数 N, 接...
2019-10-05 21:50:45
2071
2
原创 字节跳动之算法(二):找零
原题目:Z国的货币系统包含面值1元、4元、16元、64元共计4种硬币,以及面值1024元的纸币。现在小Y使用1024元的纸币购买了一件价值为N(0<N<=1024)的商品,请问最少他会收到多少硬币?解析: (5~10分钟左右的题目。这里给个思路,大家可以根据这个思路来进行微调。)因为题目的找零有局限性,这里不用做循环,直接进行计算即可。用一个sur...
2019-10-02 20:48:01
433
原创 字节跳动之算法(一):万万没想到的聪明编辑
题目:我叫王大锤,是一家出版社的编辑。我负责校对投稿来的英文稿件,这份工作非常烦人,因为每天都要去修正无数的拼写错误。但是,优秀的人总能在平凡的工作中发现真理。我发现一个发现拼写错误的捷径:1. 三个同样的字母连在一起,一定是拼写错误,去掉一个的就好啦:比如 helllo -> hello2. 两对一样的字母(AABB型)连在一起,一定是拼写错误,去掉第二对的一个字母就好啦:比...
2019-09-30 16:01:54
1409
原创 重复习简单基础算法(四):两数之和
导读:给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -...
2019-09-08 22:47:10
314
原创 重复习简单基础算法(三):数组中找出重复数据
导读: 输入一组一维数组数据中为[2,2,5,3,5],找出重复数据2,5。(简析:因为这道题很简单但是我做了超出了我预想的时间,所以记录一下)JAVA代码:public class repeateDataFind{ private static int repeatNum = 0; private static boolean flag = false; p...
2019-07-27 23:49:07
726
1
原创 重复习简单基础算法(二):杨辉三角形
导读: 杨辉三角形,又称贾宪三角形,是二项式系数在三角形中的一种几何排列。Java代码实现: public class Triangle { public static void main(String[] args){ triangle(10);//输出10行数据 } public static void triangle(int ...
2019-07-22 19:41:49
368
2
原创 重复习简单基础算法(一):斐波那契数列
导读: 斐波那契数列规律:F(1)= 1,F(2) = 1, F(3) = F(1) + F(2)...... Fn = F(n-2) + F(n-1)。 数学的通项公式:代码: public class test { private static int sum = 0; pub...
2019-07-19 23:04:50
932
1
原创 java编程细节总结(八):详解volatile关键字
导读: volatile是一种轻量级锁,它在java中是一个很常用的存在。我们常把volatile更加倾向于变量而不是锁,因为在代码阅读的过程中它是用来修饰变量的,同时,volatile 变量不会像锁那样造成线程阻塞,因此也很少造成可伸缩性问题。一、volatile关键字 volatile在java中提供一种较轻量级的锁功能,同时它具有两个特性:一、vo...
2019-07-18 21:29:50
206
原创 手把手教程:如何在linux上简单的配置nginx—模拟负载均衡
导读: 当我们在使用请求访问的时候,实际上服务器内部已经实现了负载均衡的配置,负载均衡就是为了分发请求,把请求分发给多台的服务器,这样做可以降低同一台服务器的承载压力,实现高性能、高效率的访问。一、Tomcat安装和配置 我们首先需要准备两个tomcat,两个tomcat就像是两台服务器,我们现在可以模拟nginx的分发实现负载均衡的功能。同时里面的jdk我就不一一...
2019-06-17 18:54:43
514
原创 Ubuntu16.04:详解如何实现开机自动启动tomcat
导读: 在装自动启动要求tomcat已经能够访问。现在我们进行一点小小的升级,实现开机能够自动启动tomcat,这样我们就不用很麻烦的每一次都自己去点击tomcat且启动它。以下是都是一些配置版本: 1. Ubuntu 16.04 ...
2019-06-13 22:20:21
4379
1
原创 Ubantu:ssh: connect to host localhost port 22: Connection refused
导读: Ubantu安装好之后,执行ssh localhost无法执行,提示“ssh: connect to host localhost port 22: Connection refused”。明明自己已经安上了22端口和关闭防火墙了,却无法链接上。问题解析: 这个是由于全新安装的Ubantu不自带openssh服务,也就是不提供远端ssh服务。这个时候我们只需要安装...
2019-06-13 15:14:56
424
原创 java编程细节总结(七):i++与++i的区别和java的多地址的核心概念
导读: 我们对for循环相当不陌生,因为在每一个成熟的程序中,可能会利用for循环去执行一些需求语句,而i++这个我们更加不陌生。那么我们都知道for(inti=0;i<n;i++)这样类型的for循环的格式,那么为什么不用for(inti=0;i<n;++i)呢?同时,为什么在执行某变量赋值语句i+=i++输出的只是2i的值呢?这些都是在此博客里一一解释的。...
2019-06-11 22:19:03
404
原创 Error starting ApplicationContext. To display the conditions report re-run your application with 'de
导读:pom文件导入报jar包错误Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.2019-05-17 00:54:25.589 ERROR 2628 --- [ main] o.s.b...
2019-05-17 01:00:35
1120
原创 如何统计for each循环的次数
导读: 我们使用foreach的使用总是会遇到一些问题,最根本的问题就是,对foreach的理解不够深刻,甚至不知道foreach是如何去使用的,现在可以明确的告诉你们,foreach可以用来处理数组的内部的数据的,比如说有一个json数据,它是以数组的形式呈现的,我们现在需要去用foreach来处理这些数据,我们需要的json数据格式。例如,爬虫网站的数据(非json...
2019-05-16 01:13:45
6649
原创 Idea的报错:@Test注解找不到或没有
导读: 小编在使用Idea的时候出现注解错误,情况如下图 这个也是很常见的一个注解报错问题,明明引入了junit包为什么报错呢?理由: 这时候大多数网上对scope的解释是: scope为test表示依赖项目仅仅参与测试相关的工作,包括测试代码的编译,执行。比较典型的如junit。...
2019-05-15 14:51:19
8036
1
原创 Spring boots项目常见报错:Failed to configure a DataSource: 'url' attribute is not specified and no embedde
导读: 大家都知道Springboots集成了mybatis后很多东西根本不需要我们操作了,就连数据库的链接都不用我们写了,况且还有maven这么变态的中央仓库,很多资源都不用手动去找了,只要知道maven的用处就可以了。相应的,我们如果不了解一些包的机制是会处理不好的,总是以为自己哪里代码有问题,实际上是配置没有配好。错误: ************...
2019-05-10 09:05:14
3290
原创 什么是消息队列?消息队列有什么用?———全方面解析消息队列的核心作用
导读: 前段时间深入学习了消息队列,分布式系统等等,发现消息队列是相当重要的一个环节,如果我们说客户端和服务端之间存在中间件的管理(ActiveMQ的作用),让我们能够很自然的去实现发布订阅消息,能够实现微服务功能,这些都是一些很重要的环节。当我们使用某些软件的时候,总是存在一些的推送消息,那么这些消息怎么能够准确的推送到每一个用户上,而且是一个什么原理呢?如果你看了这边文...
2019-05-09 23:04:36
951
原创 微信小程序:如何简单的实现前后交互
导读: 首先本人的小程序全程基本都是自己写的,后端的框架用了springboots集成的mybatis plus。当然如果使用的是springmvc框架也是基本的这个原理,这里讲解下如何使用封装特别好的框架达成成就一天一个小程序。选用工具: 数据库:mysql ...
2019-04-28 22:32:19
15241
4
原创 算法笔记(三):数组与JAVA实现数组的增删改查
导读: 数组是我们接触程序里面最基础的数据结构,数组实现了简单的数据存储结构。如果说链表是能够实现利用内存和空间最大化,数组的优点就是一个字 “快”,因为查询是O(1)级别的。为什么是O(1)级别的查询呢?我们可以在那些场合去利用数组?这些问题将在这个博客彻底解决。一、数组是什么? 所谓数组,是有序的元素序列。若将有限个类型相同的变量的集合命名,...
2019-04-19 19:41:20
1285
原创 JAVA自动回收管理机制(一):深入理解程序计数器
导读: 从今天开始,正式进入java的jvm中学习。jvm是什么?在早期的jdk版本颁布中就第一时间发布了,称为java虚拟机。java和c++、c不同,它们有自己专属的自己回收垃圾机制,这样即便我们在不能很好的控制java虚拟机内存的时候,它们会帮我们解决这一系列的困惑,所以考虑到这点推出了自动回收管理机制。那么自动回收管理机制有什么用处呢?它们各模块之间怎么联系的呢...
2019-04-19 17:56:26
400
原创 算法笔记(二):链表与实现JAVA链表的增删改查
导读: 链表是什么?为什么要使用链表?链表和数组的区别在哪里?等等这些都需要我们去解读的。我们学习链表的数据结构,就可以彻底的懂得计算机磁盘的底层存储结构的优缺点。让我们来开始链表的学习吧!一、什么是链表? 链表是一种物理存储单元上非连续、非顺序的存储结构。——摘自《百度百科》 其实,这么说是算是准确的,链表不讲究非得像数组一样顺序存...
2019-04-18 17:16:47
622
原创 三分钟快速记忆(一):简单理解Hashmap的原理
导读: 在我们学习数据结构的过程中会理解很多的算法结构,比如说list、link、map等等。这些数据结构都是非常常见的结构,那么反问一下,为什么要发明这些数据结构呢?理由很简单,我们的所有目前的计算机内存都是有限的,那么我们要更好的利用这些内存,得到合理化最大化的利用肯定少不了巧妙的算法设计。所以很简单,如果我们能够学好数据结构会给我们的程序性能优化带来飞一样的进步。当然最难和最需...
2019-04-14 16:02:52
257
原创 如何把JavaWeb项目从eclipse打成war包放在linux服务器部署进tomcat以及实现正常运行登录等功能
小编在javaweb项目打包的过程中遇到了很多的问题,当然后面都一一对应的解决了,现在我将如何教大家实现项目的打包及项目的正常运行。简单介绍小编使用的liunx服务器版本、tomcat版本和jdk的版本等。 数据库:Mysql jdk版...
2019-04-10 14:52:45
2571
原创 ubuntu16.04虚拟服务器下安装mysql步骤
本文前瞻:本人之前是使用的centos版本的虚拟服务器,centos中的yum自带mysql的安装包,但是之后由于一系列的事情改换了Ubuntu版本,发现极其的好用,安装任何东西也相对简单。接下来待我慢慢说,里面是我安装的时候也会出现的一些问题,我都会列出来并解答。第一步: 选择适合自己的服务器,我这里使用的是阿里云服务器,这里不说详细的购买和安装阿里云服务器。我的ubu...
2019-04-09 17:31:52
366
原创 史上最简单基础git操作大全———如何使用git下载团队项目和把本地的项目上传到其他分支中等一系列操作
git是什么?一句话,就是远程仓库,用来方便我们操作项目的好帮手。我们通过git可以控制自己的项目,并且促进团队合作,提高自己的团队意识。同时也会提高个人的协助能力和风险把控。总之,进入公司绝对少不了git的操作,大家放心去学吧。这里我们需要掌握一些简单git命令gitclone <git项目地址> //clone项目git status //更新下项目...
2019-03-30 00:54:41
674
原创 JAVAEE——实现Maven 配置mybatis反向生成实体类、接口及mapping映射文件操作
实现流程:第一步: 新建Maven项目 第二步: 在数据库中把你用的表全部先建好,其中连数据库表中属性都需要弄好 第三步: 配置pom.xml文件,在pom.xml加入如下代码,保存即可 <build> <finalName>mavenl...
2019-03-28 23:38:44
284
原创 org.apache.ibatis.binding.BindingException: Parameter 'username' not found. Available parameters are
Tomcat报错信息:严重: Servlet.service() for servlet [SpringMVC] in context with path [/maven02] threw exception [Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: n...
2019-03-28 19:57:04
3297
原创 Caused by: org.xml.sax.SAXParseException; lineNumber: 9; columnNumber: 15; 元素类型为 "resultMap" 的内容必须匹配
报错信息:Caused by: org.xml.sax.SAXParseException; lineNumber: 9; columnNumber: 15; 元素类型为 "resultMap" 的内容必须匹配 "(constructor?,id*,result*,association*,collection*,discriminator?)"。Caused by: org.xml.s...
2019-03-27 18:57:27
6737
1
原创 java.lang.ClassNotFoundException: org.springframework.web.util.IntrospectorCleanupListener
起因:小编在javaee导入maven项目的时候,启动tomcat发现了这样一个错误,然后页面各种东西加载不了,真的是特别的烦躁,上网查了一下也一下子找不到,之后弄了一个多小时才发现是如此低级的错误。原报错如下:严重: Error configuring application listener of class [org.springframework.web.util.Introsp...
2019-03-27 10:00:58
423
原创 JAVAweb项目详解(二):使用session的值追踪客户信息
其实这个原理相当的简单,只是一个get和set方法,在不设置浏览页面过期的时间下,仅仅只用了这两个方法即可成功。原理: 专业的解释Session被称为“会话技术”,是用来追踪客户的信息,使用Session对象存储特定用户会话所需的属性及配置信息。说白了session就是一种可以维持服务器端的数据存储技术。我们在设计网站的客户存储的信息的基础上总是希望:我们登录的信息是...
2019-03-22 20:53:29
435
原创 java编程细节总结(六):抽象类是什么,接口又是什么?——详解抽象类与接口的区别
在进行抽象类和接口区别之前,我们先要明白什么是抽象类,什么是接口。一、什么是抽象类? 关于这个问题之前,我们必须要明白子类继承超类的关系,子类会继承超类(父类)的所有方法,甚至可以重写父类的方法。那么有这个基础就好解释抽象类了。 抽象类是一个只有超类或者用作子类的超类拥有的特性。这样可以很直白的说明了,只有父亲拥有抽象类,子类不能拥有,所以这就限制了父类抽象化了不能...
2019-03-21 01:12:37
197
原创 JAVAweb项目详解(一):使用ajax和servlet与数据库交互,实现前后端登录跳转
本博客只供参考,如果有什么不懂的,务必把技术的每一个地方都落实。打好基础才能使用更好的处理使用框架后的一些处理不了的细节问题。博主自己敲的项目,为了积累一定的经验,以及提高自己的代码速度和问题的处理能力。效果:点击登录后进入——》跳转到这个页面。现在我们将讲述如何实现功能。一、ajax向后端发送请求<html><div class="l...
2019-03-19 00:25:27
5323
原创 常见的web项目报错类型——JAVAee中的java.lang.NullPointerException错误问题
报错:严重: Servlet.service() for servlet [com.web.carmessage] in context with path [/car_protext] threw exceptionjava.lang.NullPointerException at com.web.carmessage.doPost(carmessage.java:74) ...
2019-03-18 21:04:10
1782
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人