编程语言
文章平均质量分 75
天问运
这个作者很懒,什么都没留下…
展开
-
阿里云centos7安装mongodb,并开启远程连接
1、下载mongodb使用命令:curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.9.tgz2.上传到服务器,我这里用的是阿里云的远程服务器,并解压和重命名[root@iZuf60c96cgo48sizrvza6Z ~]# tar -zvxf mongodb-linux-x86_64-3.2.9.tgz -C ...原创 2019-12-18 17:39:44 · 803 阅读 · 0 评论 -
Java中多态问题详解
用一句话概括就是:事物在运行过程中存在不同的状态。先以教科书般举例说明,下文再举一个花木兰替父从军的例子帮助大家理解。多态的存在有三个前提:1.要有继承关系2.子类要重写父类的方法3.父类引用指向子类对,但是其中又有很多细节需要注意。首先我们定义两个类,一个父类Animal,一个子类Cat。以上的三段代码充分体现了多态的三个前提,即:1、存在继承关系Cat...原创 2019-10-17 11:26:18 · 808 阅读 · 1 评论 -
TCP的三次握手和四次挥手机制
1、三次握手(1)三次握手的详述首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。 最初两端的TCP进程都处于CLOSED关闭状态,A主动打开连接,而B被动打开连接。(A、B关闭状态CLOSED——B收听状态LISTEN——A同步已...原创 2018-08-14 16:40:37 · 1022 阅读 · 0 评论 -
Spring 常用的注解整理
一、组件型注解:@Component 在类定义之前添加@Component注解,他会被spring容器识别,并转为bean。 @Repository 对Dao实现类进行注解 (特殊的@Component) @Service 用于对业务逻辑层进行注解, (特殊的@Component) @Controller 用于控制层注解 , (特殊的@Component) 以上四种注解都是注解在类上的...原创 2018-08-13 11:17:32 · 532 阅读 · 0 评论 -
Java中如何防止用户恶意提交
做java开发的时候,经常会遇到表单提交的内容,比如帖子,评论等。这时候我们就的注意防止用户的恶意攻击了。简单了做了一下总结,如果 朋友有更好的办法希望可以补充一下1.添加验证码的控制,可以有效的防止用户的恶意攻击了,除非他知道你 的验证码的算法。2.像discuz中那样form表单中增加forhash的隐藏域,判断是否是从我的网站中提交的。3.可以判断两次提交的时间间隔,用sessi...原创 2018-08-13 14:21:13 · 3673 阅读 · 0 评论 -
Try Catch finally的执行顺序
结论:1、不管有没有出现异常,finally块中代码都会执行;2、当try和catch中有return时,finally仍然会执行;3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,不管finally中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在finally执行前确定的;4、finally中最好...原创 2018-08-28 11:12:44 · 246 阅读 · 0 评论 -
SSM框架
SSM框架是指:Spring+Spring MVC+Mybatis。 【Spring】 轻量——从大小与开销两方面而言Spring都是轻量的,此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。简单说就是自己需要什么就导入对应的jar的即可,而不是侵入式的。 控制反转——Spring通过一种称作控制反转(IoC)的技术促进了低耦合,当应用了...原创 2018-09-04 11:31:13 · 196 阅读 · 0 评论 -
git gui可视化界面技术操作文档
前言之前一直想一篇这样的东西,因为最初接触时,我也认真看了廖雪峰的教程,但是似乎我觉得讲得有点多,而且还是会给我带来很多多余且重复的操作负担,所以我希望能压缩一下它在我工作中的成本,但是搜索了一下并没有找到满意的教程,新的一年自己梳理一下自己的经验。可能男生们大神比较多,觉得Git是如此简单,便已觉得命令行操作就是SO EASY,甚至或许有看不起可视化这样面对低端用户的心理,好的,那您就当...原创 2018-08-30 11:32:58 · 607 阅读 · 0 评论 -
GC原理解析
众所周知,Java程序不用像C++程序在程序中自行处理内存的回收释放。这是因为Java在JVM虚拟机上增加了垃圾回收(GC)机制,用以在合适的时间触发垃圾回收,将不需要的内存空间回收释放,避免无限制的内存增长导致的OOM。作为一个合格的Java程序员,有必要了解Java GC相关知识。掌握GC知识一方面可以帮助我们快速排查因JVM导致的线上问题,另一方面也可以帮助我们在Java应用发布之前合理地对...原创 2018-08-30 15:52:30 · 10848 阅读 · 2 评论 -
线程的生命周期以及五种基本状态
一.线程的生命周期及五种基本状态关于Java中线程的生命周期,首先看一下下面这张较为经典的图:上图中基本上囊括了Java中多线程各重要知识点。掌握了上图中的各知识点,Java中的多线程也就基本上掌握了。主要包括:Java线程具有五中基本状态新建状态(New):当线程对象对创建后,即进入了新建状态,如:Thread t = new MyThread();就绪状态(Runnab...原创 2018-09-19 17:26:19 · 5602 阅读 · 3 评论 -
Kafaka详细介绍机制原理
1. kafka介绍 1.1. 主要功能根据官网的介绍,ApacheKafka®是一个分布式流媒体平台,它主要有3种功能: 1:It lets you publish and subscribe to streams of records.发布和订阅消息流,这个功能类似于消息队列,这也是kafka归类为消息队列框架的原因 2:It lets you ...转载 2018-10-31 12:09:21 · 9393 阅读 · 2 评论 -
Java高并发,如何解决,什么方式解决
对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了。而并发问题是绝大部分的程序员头疼的问题,但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研究一下常见的并发和同步吧。为了更好的理解并发和同步,我们需要先明白两个重要的概念:同步和异步1、同步和异步的区别和联系 所谓同步,可以理解为在执行完一个函数或方法之后,一直等待...转载 2019-03-28 17:37:12 · 225 阅读 · 0 评论 -
ecplise快捷键、文档注释等
其实快捷键可以自己设定:eclipse>>>window>>>preferences>>>keysAlt + / 内容提示很常用的Ctrl + 1 快速修复Alt + 方向键 跟踪时向前向后退回前进Ctrl + Alt + 向下键快速复制行Alt + 向上向下键 快速移动行Ctrl + T 查看继承关系Ctrl + Shi...原创 2019-04-24 13:48:25 · 356 阅读 · 0 评论 -
阿里云上远程连接redis
在vim编辑器里面查看某一个单词:/单词阿里云服务上面部署redis + 本地Redis客户端连接方法 本文结合自己在阿里云服务器上面搭建redis服务器,在本地redis的客户端Redis Desktop Manager连接成功的操作,将操作中的一些方法做了一些归纳和总结,希望可以帮到有需要的同学。 一、在阿里云服务器上面安装redis: ...原创 2019-05-22 20:37:06 · 8449 阅读 · 3 评论 -
Mysql中行转列和列转行
一、行转列即将原本同一列下多行的不同内容作为多个字段,输出对应内容。建表语句DROP TABLE IF EXISTS tb_score;CREATE TABLE tb_score( id INT(11) NOT NULL auto_increment, userid VARCHAR(20) NOT NULL COMMENT '用户id', subject ...原创 2018-08-14 11:54:39 · 46516 阅读 · 1 评论 -
集群和分布式相关概念的区别与联系
先说区别:一句话:分布式是并联工作的,集群是串联工作的。1:分布式是指将不同的业务分布在不同的地方。 而集群指的是将几台服务器集中在一起,实现同一业务。分布式中的每一个节点,都可以做集群。 而集群并不一定就是分布式的。举例:就比如新浪网,访问的人多了,他可以做一个群集,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将给哪一台...转载 2018-07-24 18:53:22 · 211 阅读 · 0 评论 -
JAVA集合框架
首先设计集合框架需要满足以下几个条件:1、该框架必须是高性能的(基本集合动态数组、链表、树、哈希表)的实现也必须是高性能的2、该框架允许不同类型的集合,以类似的方式工作,具有高度的互操作性3、对一个集合的扩展和适应必须是简单的因此,整个集合框架就围绕一组标准接口而设计的,你可以直接使用这些接口的标准实现,例如LinkedList,HashSet、和TreeSet等,除此之外也可以通原创 2018-04-04 13:40:03 · 273 阅读 · 0 评论 -
集合中LIst和ArrayList以及Hash一些知识点总结
注意:如果想快速的了解ArrayList初始化容量以及容量分配的情况,请看文章末尾总结:探索ArrayList自动改变size真相ArrayList的列表对象实质上是存储在一个引用型数组里的,有人认为该数组有“自动增长机制”可以自动改变size大小。正式地说,该数组是无法改变大小的,实际上它只是改变了该引用型数组的指向而已。下转载 2017-11-20 22:47:12 · 1293 阅读 · 0 评论 -
ActiveMQ的消息队列的介绍
Queue(点到点)模式在点对点的传输方式中,消息数据被持久化,每条消息都能被消费,没有监听QUEUE地址也能被消费,数据不会丢失,一对一的发布接受策略,保证数据完整。创建MAVEN项目点击下一步,填写grupId为me.czp,artifactId为example-mq,name为exampleMq,点完成然后在Package Explorer看到example-mq项目,如下:转载 2017-11-20 23:18:22 · 300 阅读 · 0 评论 -
java中的八大排序算法
概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基于比较的内部排序中被认为是最好的方法,转载 2017-11-15 21:53:55 · 233 阅读 · 0 评论 -
restful到底是什么?
概述1、目前现在的市场中,网站就是软件而且是一种新型的软件,其中软件开发主要是针对的是单击环境,网络则是主要是研究系统之间的通信。随着互联网的兴起,使得这两个领域开始融合。现在我们必须考虑,如何开发在 互联网环境中使用的软件?2、RESTful架构,就是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。3、我理解的RESTful原创 2017-11-23 22:00:39 · 520 阅读 · 0 评论 -
shiro原理的分析,系统权限管理以及 运行流程分析
一、概述1、shiro是apache的一个开源框架,是一个权限管理的框架,实现 用户认证、用户授权。2、(1)spring中有spring security (原名Acegi),是一个权限框架,它和spring依赖过于紧密,没有shiro使用简单。 (2) shiro不依赖于spring,shiro不仅可以实现 web应用的权限管理,还可以实现c/s系统,分布式系统权限原创 2017-11-23 23:35:28 · 5256 阅读 · 0 评论 -
Linux下find命令和grep命令查找文件
在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区的。 区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。 (2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。 一.find命令 基转载 2017-11-24 17:39:04 · 32330 阅读 · 0 评论 -
使用java发送邮件
Java 发送邮件使用Java应用程序发送 E-mail 十分简单,但是首先你应该在你的机器上安装 JavaMail API 和Java Activation Framework (JAF) 。您可以从 Java 网站下载最新版本的 JavaMail,打开网页右侧有个 Downloads 链接,点击它下载。您可以从 Java 网站下载最新版本的 JAF(版本 1.1.1)。原创 2017-12-23 18:31:13 · 928 阅读 · 0 评论 -
gradle的系统使用(一)未完待续
由于新到一个公司,然后接触到了一些新的技术(所谓新的技术也就是以前没有接触到的技术,刚刚开始的时候很是懵逼的状态 ,没办法看着别人随意的在那玩着我确实很是痛快的在学习接触新的知识 ,为了让自己 不至于开除还是硬着头皮学了 )现在就是把自己接触到的所学的东西总结一下吧和Maven一样,Gradle只是提供了构建项目的一个框架,真正起作用的是Plugin。Gradle在默认情况下为我们提供了许多常原创 2017-12-23 18:35:48 · 201 阅读 · 0 评论 -
Java多线程的三种实现方式
JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。1、继承Thread类实现多线程继承Thread类的方法尽管被我列为一种多线程实现方式,但Thread本质上也是实现了Runnable接口的一个实例原创 2017-12-06 18:05:27 · 163 阅读 · 0 评论 -
Sql Server中的数据类型和Mysql中的数据类型的对应关系
一、SQL SERVER与MySQL数据存储的差异1、SQL SERVER中的datetime,保留到微秒(秒后小数点3位),而mysql仅保留到秒,转换后是否会影响业务,如果影响,需要新增一个字段专门来存储微秒或者毫秒,虽然mysql中没有时间数据类型的精度到达微秒或者毫秒,但是mysql提供对微秒的相关处理函数microsecond、extract跟date_format2、MySQL原创 2017-12-26 10:23:40 · 15565 阅读 · 0 评论 -
gitlab的安装配置以及如何使用
GitLab介绍Git最初是用于Linux内核开发的版本控制工具,现在已被应用到了很多项目中。GitLab是支持Git的源码存取服务,直观理解就是GitLab为Git封装了一层用户友好性的UI以及相关便捷操作。软件安装(准备工作)Git主要是将不用用户电脑中的代码版本进行控制,这就需要用户电脑中也需要安装Git环境,以下是windows下Git环境的安装:需要下载安装两个软件:原创 2017-12-27 19:18:39 · 710 阅读 · 0 评论 -
防盗链的实现原理以及相应的解决方法
我的实现防盗链的做法,也是参考该位前辈的文章。基本原理就是就是一句话:通过判断request请求头的refer是否来源于本站。(当然请求头是来自于客户端的,是可伪造的,暂不在本文讨论范围内)。首先我们去了解下什么是HTTP Referer。简言之,HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务转载 2018-01-23 19:58:34 · 559 阅读 · 0 评论 -
Spring Cloud微服务系统架构的一些简单介绍和使用
Spring Cloud目录特征云原生应用程序Spring Cloud上下文:应用程序上下文服务引导应用程序上下文应用程序上下文层次结构改变Bootstrap的位置Properties覆盖远程Properties的值自定义引导配置自定义引导属性源环境变化刷新范围加密和解密端点Spring Cloud Commons:普通抽象@EnableDiscoveryClientServiceRegistry...原创 2018-02-15 17:10:57 · 6195 阅读 · 1 评论 -
HaspMap和HashSet、HashTable等集合的实现原理大总结
HashMap 的实现原理HashMap 概述HashMap 是基于哈希表的 Map 接口的非同步实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。此实现假定哈希函数将元素适当地分布在各桶之间,可为基本操作(get 和 put)提供稳定的性能。迭代 collection 视图所需的时间与 HashMap 实原创 2017-11-28 23:04:01 · 566 阅读 · 0 评论