自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(156)
  • 收藏
  • 关注

原创 pg客户端连接报错:不支援 10 验证类型。请核对您已经组态  ..

https://blog.csdn.net/skye1208/article/details/90406101

2021-01-08 13:48:51 10187 4

转载 mongodb对比mysql

https://blog.csdn.net/young_0609/article/details/90286649https://blog.csdn.net/tanqian351/article/details/81744970https://www.cnblogs.com/kungfupanda/p/12556569.html

2021-01-07 20:02:43 107

转载 SpringBoot 使用@Scheduled注解配置定时任务

https://www.cnblogs.com/sw008/p/11054269.html

2021-01-05 10:09:12 261

原创 H5走迷宫小游戏

<html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style type="text/css"> canvas{ display: block; ...

2019-12-24 16:24:53 463

转载 [Network] 计算机网络基础知识总结

http://www.cnblogs.com/maybe2030/p/4781555.html#_label0

2018-05-23 10:01:26 405

转载 JVM中线程的状态转换图

JVM中线程的状态转换图线程在一定条件下,状态会发生变化。线程一共有以下几种状态:1、新建状态(New):新创建了一个线程对象。2、就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于“可运行线程池”中,变得可运行,只等待获取CPU的使用权。即在就绪状态的进程除CPU之外,其它的运行所需资源都已全部获得。3、运行状

2017-10-09 11:22:26 409

转载 hashMap为啥初始化容量为2的次幂

hashMap源码获取元素的位置:static int indexFor(int h, int length) { // assert Integer.bitCount(length) == 1 : "length must be a non-zero power of 2"; return h & (length-1);}解释:h:为插入元素的hashco

2017-10-07 11:35:10 341

转载 23种设计模式之二

我们接着讨论设计模式,上篇文章我讲完了5种创建型模式,这章开始,我将讲下7种结构型模式:适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式。其中对象的适配器模式是各种模式的起源,我们看下面的图:6、适配器模式(Adapter) 适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配

2017-10-06 11:26:57 216

转载 23种设计模式之一

设计模式(Design Patterns)                                  ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真

2017-10-01 12:22:40 387

转载 几种常见加密算法

由于计算机软件的非法复制,通信的泄密、数据安全受到威胁,解密及盗版问题日益严重,甚至引发国际争端,所以在信息安全技术中,加密技术占有不可替代的位置,因此对信息加密技术和加密手段的研究与开发,受到各国计算机界的重视,发展日新月异。现在我们就几种常用的加密算法给大家比较一下。DES加密算法DES加密算法是一种分组密码,以64位为分组对数据加密,它的密钥长度是56位,加密解密用同一算法。

2017-10-01 11:53:42 1494

转载 常见加密算法

加 密算法通常分为对称性加密算法和非对称性加密算法,对于对称性加密算法,信息接收双方都需事先知道密匙和加解密算法且其密匙是相同的,之后便是对数据进行 加解密了。非对称算法与之不同,发送双方A,B事先均生成一堆密匙,然后A将自己的公有密匙发送给B,B将自己的公有密匙发送给A,如果A要给B发送消 息,则先需要用B的公有密匙进行消息加密,然后发送给B端,此时B端再用自己的私有密匙进行消息解密,B向A发送

2017-10-01 11:52:48 268

转载 加密算法

加密解密中间参与的是一个算法,有这个算法规律你才可以将简单的语言或者数据转换成只有了解此算法的人才能看懂才能知道其本身含义的语言或者是数据,你做的这部分工作其实就是在加密,别人理解的过程就是解密。      定义:把一段原始数据通过某种算法处理成另外一种数据(原始数据为明文,处理后的数据为密文)。明文->密文:称之为加密。密文->明文:称之为解密。      从

2017-10-01 11:43:51 298

转载 QL的四种连接-左外连接、右外连接、内连接、全连接

1、内联接(典型的联接运算,使用像 =  或 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 students和courses表中学生标识号相同的所有行。       2、外联接。外联接可以是左向外联接、右向外联接或完整外部联接。     在 FROM子句中指定外联接时,可以由下列几组关键字中的一组指定:     1)LEFT  JOIN或LEFT OU

2017-09-30 12:27:33 839

原创 String 类型字符串存储和拼接

链接:https://www.nowcoder.com/questionTerminal/f06ee75317c44b44b43b10b1ffc866bd来源:牛客网 String str1="hello";     String str2="he"+"llo";   String str3="he"+new String("llo"); str1==str2 true

2017-09-28 09:48:17 1692

转载 进程间的通信方式

1、几种进程间的通信方式# 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。# 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。# 信号量( semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访

2017-09-27 09:44:55 169

转载 线程的几种状态

线程在一定条件下,状态会发生变化。线程一共有以下几种状态:1、新建状态(New):新创建了一个线程对象。2、就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于“可运行线程池”中,变得可运行,只等待获取CPU的使用权。即在就绪状态的进程除CPU之外,其它的运行所需资源都已全部获得。3、运行状态(Running):就绪状态的

2017-09-26 17:03:09 342

转载 数据库中等值连接与自然连接的区别

e.g  S:  A   B               R:B  C                1   2                       2  1                3   3                       7  2                5   9                       3  5等值连接(

2017-09-20 23:26:01 12603 4

原创 经典SQL语句大全(绝对的经典)----特别好

转载自:点击打开链接经典SQL语句大全(绝对的经典)一、基础1、说明:创建数据库CREATE DATABASE database-name 2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', ...

2017-09-19 10:44:51 574

转载 Java 中的悲观锁和乐观锁的实现

锁(locking)业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算处理中,我们希望针对某个cut-off时间点的数据进行处理,而不希望在结算进行过程中(可能是几秒种,也可能是几个小时),数据再发生变化。此时,我们就需要通过一些机制来保证这些数据在某个操作过程中不会被外界修改,这样的机制,在这里,也就是所谓的“锁”,即给我们选定的目

2017-09-18 12:45:23 464

转载 全面理解Java内存模型

Java内存模型即Java Memory Model,简称JMM。JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。如果我们要想深入了解Java并发编程,就要先理解好Java内存模型。Java内存模型定义了多线程之间共享变量的可见性以及如何在需要的时候对共享变量进行同步。原始的Java内存模型效率并不是很理想,

2017-09-18 12:22:01 350

转载 TCP与UDP基本区别

TCP UDPTCP与UDP基本区别  1.基于连接与无连接  2.TCP要求系统资源较多,UDP较少;   3.UDP程序结构较简单   4.流模式(TCP)与数据报模式(UDP);   5.TCP保证数据正确性,UDP可能丢包   6.TCP保证数据顺序,UDP不保证   UDP应用场景:  1.面向数据报方式  2.网络数据大多为短消息   3

2017-09-17 18:33:42 173

原创 公平锁与非公平锁

总括:   在Java的ReentrantLock构造函数中提供了两种锁:创建公平锁和非公平锁(默认)。代码如下:public ReentrantLock() {sync = new NonfairSync();}在公平的锁上,线程按照他们发出请求的顺序获取锁,但在非公平锁上,则允许‘插队’:当一个线程请求非公平锁时,如果在发出请求的

2017-09-17 18:10:04 281

转载 数据结构中常见的树(BST二叉搜索树、AVL平衡二叉树、RBT红黑树、B-树、B+树、B*树)

BST树       即二叉搜索树:       1.所有非叶子结点至多拥有两个儿子(Left和Right);       2.所有结点存储一个关键字;       3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;       如:              BST树的搜索,从根结点开始,如果查询的关键字与

2017-09-15 12:19:25 228

转载 Minor GC ,Full GC 触发条件

GC,即就是Java垃圾回收机制。目前主流的JVM(HotSpot)采用的是分代收集算法。与C++不同的是,Java采用的是类似于树形结构的可达性分析法来判断对象是否还存在引用。即:从gcroot开始,把所有可以搜索得到的对象标记为存活对象。GC机制要准确理解Java的垃圾回收机制,就要从:“什么时候”,“对什么东西”,“做了什么”三个方面来具体分析。第一:“什么时候”即就

2017-09-14 09:08:40 340

转载 AtomicInteger的CAS原理,及为啥不用synchronized而用cas

CAS原理:       通过查看AtomicInteger的源码可知,        `private volatile int value;public final boolean compareAndSet(int expect, int update) {                     return unsafe.compareAndSwapInt(this,

2017-09-11 10:50:07 4500 2

转载 多线程运用场景

多线程使用的主要目的在于:1、吞吐量:你做WEB,容器帮你做了多线程,但是他只能帮你做请求层面的。简单的说,可能就是一个请求一个线程。或多个请求一个线程。如果是单线程,那同时只能处理一个用户的请求。2、伸缩性:也就是说,你可以通过增加CPU核数来提升性能。如果是单线程,那程序执行到死也就利用了单核,肯定没办法通过增加CPU核数来提升性能。鉴于你是做WEB的,第1点可能你几乎

2017-09-11 10:20:31 362

原创 锁、volatile、CAS 比较

一。锁的劣势 (1) 在JDK1.5之前都是使用synchronized关键字保证同步的,这种通过使用一致的锁定协议来协调对共享状态的访问,可以确保无论哪个线程持有守护变量的锁,都采用独占的方式来访问这些变量 (2)如果出现多个线程同时访问锁,则一些线程将被挂起,当线程恢复执行时,必须等待其它线程执行完他们的时间片以后才能被调度执行,在挂起和恢复执行过程中存在着很大的开销 ...

2017-09-10 23:32:21 476

转载 TCP的三次握手(建立连接)和四次挥手(关闭连接)

建立连接: 理解:窗口和滑动窗口TCP的流量控制TCP使用窗口机制进行流量控制什么是窗口?连接建立时,各端分配一块缓冲区用来存储接收的数据,并将缓冲区的尺寸发送给另一端接收方发送的确认信息中包含了自己剩余的缓冲区尺寸剩余缓冲区空间的数量叫做窗口2. TCP的流控过程(滑动窗口)TCP(Transmission Control

2017-09-09 23:37:18 242

转载 三次握手,四次挥手

建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。【更新于2017.01.04 】该部分内容配图有误,请大家见谅,正确的配图如下,错误配图也不删了,大家可以比较下,对比理解效果更好。这么久才来更新,抱歉!!错误配图如下:首先Client端发送连接请求报文,Server

2017-09-09 23:33:56 214

转载 Spring事物5隔离,7传播,1只读,1超时

文章一:我们都知道事务的概念,那么事务的传播特性是什么呢?(此处着重介绍传播特性的概念,关于传播特性的相关配置就不介绍了,可以查看spring的官方文档) 在我们用SSH开发项目的时候,我们一般都是将事务设置在Service层 那么当我们调用Service层的一个方法的时候它能够保证我们的这个方法中执行的所有的对数据库的更新操作保持在一个事务中,在事务层里面调用的这些方法要么全部成功,要么

2017-09-09 22:52:15 226

转载 数据库表设计

原始单据与实体之间的关系可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是 一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面 大有好处。比如:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工

2017-09-09 11:34:08 488

原创 框架常见面试题

2 、 结合项目谈谈你对 MVC 的理解MVC 是 Model—View—Controler 的简称。即模型—视图—控制器。MVC 是一种设计模式,它强制性的把应用程序的输入、处理和输出分开。MVC 中的模型、视图、控制器它们分别担负着不同的任务。视图: 视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并接受用户的输入。视图不进行任何业务逻辑处理。模型: 模型表示业务数据和业...

2017-09-09 10:53:52 1168

转载 Java 8 Lambda表达式探险

为什么?    我们为什么需要Lambda表达式    主要有三个原因:    &gt; 更加紧凑的代码      比如Java中现有的匿名内部类以及监听器(listeners)和事件处理器(handlers)都显得很冗长    &gt; 修改方法的能力(我个人理解为代码注入,或者有点类似JavaScript中传一个回调函数给另外一个函数)      比如Collection接口的co...

2017-09-09 10:29:19 189

转载 线程,进程,协程

没有啥复杂的东西,考虑清楚需求,就可以很自然的衍生出这些解决方案。一开始大家想要同一时间执行那么三五个程序,大家能一块跑一跑。特别是UI什么的,别一上计算量比较大的玩意就跟死机一样。于是就有了并发,从程序员的角度可以看成是多个独立的逻辑流。内部可以是多cpu并行,也可以是单cpu时间分片,能快速的切换逻辑流,看起来像是大家一块跑的就行。但是一块跑就有问题了。我计算到一半,刚把多次方程解

2017-09-09 10:25:20 220

转载 stack,deque,queue对比

1.stack堆栈,没有迭代器,支持push()方法。后进先出,top()返回最顶端的元素,pop()剔除最顶元素,后进先出(LIFO);2.deque双端队列,支持迭代器,有push_back()方法,跟vector差不多,比vector多了个pop_front,push_front方法;3.queue队列,先进先出,不支持迭代器。队列通常(但并非一定)以

2017-09-09 10:02:52 532

原创 ArrayList和LinkedList在性能上优缺点

我们都知道ArrayList和LinkedList的大致区别:      1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。      2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。      3.对于新增和删除操作add和remove,LinedList比较占优势,因为A

2017-09-09 09:33:14 3178 1

原创 数据库的优化

为什么要优化:     随着实际项目的启动,数据库经过一段时间的运行,最初的数据库设置,会与实际数据库运行性能会有一些差异,这时我们就需要做一个优化调整。数据库优化这个课题较大,可分为四大类:       》主机性能       》内存使用性能       》网络传输性能       》SQL语句执行性能【软件工程师】下面列出一些数据库SQL优化方案:

2017-09-07 08:45:53 185

转载 java三种代理模式

URL:点击打开链接

2017-09-05 15:33:13 193

转载 TCP是如何保证包的顺序传输?

我和大家一起讨论下TCP在保证可靠传输数据的前提下,是怎样对传输的数据进行顺序化操作的。大家都知道,TCP提供了最可靠的数据传输,它给发送的每个数据包做顺序化(这看起来非常烦琐),然而,如果TCP没有这样烦琐的操作,那么,可能会造成更多的麻烦。如造成数据包的重传、顺序的颠倒甚至造成数据包的丢失。那么,TCP具体是通过怎样的方式来保证数据的顺序化传输呢?主机每次发送数据时,TCP

2017-09-03 20:53:39 590

转载 HTTP协议,一篇就够了

关于HTTP协议,一篇就够了HTTP简介HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP是一个属于应用层的面向对象的协

2017-09-03 20:34:05 1072

空空如也

空空如也

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

TA关注的人

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