微信红包的支撑架构原理是什么?

每次到过年过节的时候,我们总是会在群里发上几个红包,那么全国各地的人都在发红包,服务器端要处理的请求量非常大,那么它是怎么实现能处理这么多请求的呢? 那么他就涉及到了以下几个特点: 高并发 快速响应 高处理量  那么我们如何实现高并发? 说到高并发,我们一般采用的使用集群的方式解...

2018-11-21 00:58:31

阅读数 715

评论数 0

JAVA网络信息传输加密算法

为什么要进行网络加密? 请看:如何使用加密保证网络交互的绝对安全性? 下面来说一下我的实现思想: 加密: 1、第一个假数据长度n+n个随机字符串+真实数据的字节流+真实数据MD5加密后的串+长度位m第二个假数据+第二个家数据的长度m 2、上述数据在进行跟字母t的按位异或  实例: ...

2018-11-15 18:21:27

阅读数 182

评论数 0

正则表达式详解

语法如下: 1、定位符: 定位符 说明 示例 匹配结果 ^ 匹配字符串开始的位置,即以该字符串开头的数据 ^Hello Hello Wrold $ 匹配字符串结尾的位置,即以该字符串结尾的数据 Wrold$ Hello Wrold ...

2018-10-18 20:55:55

阅读数 121

评论数 0

平衡二叉树建立及其增删改查(JAVA)

平衡二叉树:指的是左右子树高度差的绝对值不超过一的二叉排序树。 主要思路:1、用左高度跟右高度代替平衡因子,大于1进行L~调整,小于-1进行R~调整                   2、每次插入都通过递归计算一次各结点高度,然后进行旋转调整                   3、判断旋...

2018-10-06 20:17:05

阅读数 443

评论数 0

位运算符最详细的解释(java)

计算机中的数据都以二进制的形式存在,其中第一位作为我们的符号位,与数据共享一个存储空间,关于位运算符,呕心沥血,经过近两个小时的在纸上画写,终于有所感悟!!!!! 位运算右操作数要完成模32的运算,右移位运算右操作数要完成模32的运算,右移位运算右操作数要完成模32的运算,重要的事情说三遍!!!...

2018-09-30 01:00:57

阅读数 303

评论数 0

JVM安全点详解

1、安全点是什么? 在虚拟机在进行可达性分析时,HotSpot虚拟机会在特定的位置记录在哪有引用,这些特定的位置就叫做安全点。 2、安全点的作用是什么? 上边已经说过了,在Oomap的帮助下,HotSpot虚拟机很快就完成了GC Roots枚举,但是我们不可能给每一个指令都声成对应的OoMa...

2019-06-09 19:17:43

阅读数 1621

评论数 1

thymleaf读取内容中的html元素

利用<div th:text="${txt}">读取的数据库内容无法解析html元素,需要使用<div th:utext="${txt}"&gt...

2019-02-16 19:11:36

阅读数 100

评论数 0

Spring事务详述

1、先来说一说事务是什么,在Spring中事务指的是对数据库进行增删改查的一系列过程,它具有以下几种特性: 原子性(Atomicity):事务是一个原子操作,由一系列动作组成。事务的原子性确保动作要么全部完成,要么完全不起作用。 一致性(Consistency):一旦事务完成(不管成功还是失...

2018-12-23 06:46:40

阅读数 92

评论数 0

Zookeeper+Dubbo 搭建RPC框架架构原理详述

Zookeeper是什么? ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户,简单来说,他就...

2018-12-20 21:52:37

阅读数 140

评论数 0

八大基本排序详解(二) 基数排序

基数排序:基数排序(Radix Sort)是桶排序的扩展,它的基本思想是:将整数按位数切割成不同的数字,然后按每个位数分别比较。 实现思想:将所有待比较数值统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后, 数列就变成一个...

2018-12-18 23:06:29

阅读数 104

评论数 0

八大基本排序详解(一)选择排序

选择排序:选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。 选择排序是不...

2018-12-18 20:08:34

阅读数 102

评论数 0

Eclipse中复制项目后,怎么更改项目名等相关配置?

在工作中,我们偶尔需要建立新的项目,但是不需要自己搭建项目框架,而是直接可以复制上一个项目。复制之后,发现改了项目名字之后,访问路径,以及打包名字等都会保留旧的项目名,看起来非常不爽,那么就需要我们彻底地将项目进行重新翻新。 第一部分:右击项目 ->Properties  ...

2018-12-18 16:40:21

阅读数 81

评论数 0

Java 类锁和静态锁

Java的锁分为两种: 对象锁(又称实例锁,synchronized):该锁针对的是该实例对象(当前对象)。synchronized是对类的当前实例(当前对象)进行加锁,防止其他线程同时访问该类的该实例的所有synchronized块,注意这里是“类的当前实例”, 类的两个不同实例就没有这种...

2018-12-14 18:57:49

阅读数 48

评论数 0

SpringMVC工作原理

SpringMVC的工作原理图: SpringMVC流程 1、  用户发送请求至前端控制器DispatcherServlet。 2、  DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、  处理器映射器找到具体的处理器(可以根据xml配置、注...

2018-12-14 16:14:57

阅读数 54

评论数 0

Java动态代理详解

一、代理是什么? 代理类指的时一种可以在程序运行时创建全新的类的类  

2018-12-14 09:52:20

阅读数 54

评论数 0

Java 内存模型的基础(二)——重排序

一、数据依赖性 如果两个操作访问同一个变量,且两个操作中有一个为写操作,此时这两个操作就存在数据依赖性。数据依赖分为以下三种情况: 名称 代码示例 说   明 写后读 a = 1; b = 2; 写一个变量后,再读这个位置 写后写 ...

2018-12-12 15:00:23

阅读数 54

评论数 0

Java 内存模型的基础(一)

一、并发编程模型的两个关键问题 在并发编程中,需要处理两个关键问题:线程之间如何通信及线程之间如何同步。 线程之间的通信有两种方式:共享内存和消息传递(信号量机制)。在共享内存的通信机制中,线程之间共享程序的公公状态,通过写-读内存中的公共状态进行隐式通信;而消息传递的通信机制中,线程之间没有...

2018-12-11 21:00:53

阅读数 72

评论数 0

Java Comparable接口详解

我们经常听到服务商这样说:”如果类遵从某个特定接口,那么就旅行这项服务“。在Java中Comparable接口就是这个特定的接口,Arrays类的sort方法承诺可以对对象数组进行排序,但前提是:对象所属的类必须实现了Comparable接口(几大基本类型除外)。但是,我们有两种选择: 1、自己...

2018-12-10 19:57:50

阅读数 62

评论数 0

JVM之垃圾回收算法

标记清除算法 最基础的收集算法是 “标记清除算法” ,如同他的名字一样,算法分为 “标记” 和 “清除” 两个阶段:首先标记出所需要回收的对象,在标记完成后统一回收所有被标记的对象。后续的算法都是在它的基础上进行的改进。他的不足之处如下:一个是效率问题,标记和清除两个过程的效率都不高;另一个是空...

2018-12-08 09:53:29

阅读数 44

评论数 0

JVM之方法区的回收

很多人都认为在方法区(或者HotSpot虚拟机中的永久代)中是没有垃圾回收的,Java虚拟机规范中确实说过可以不要求虚拟机在方法去实现垃圾回收,而且在方法区中垃圾回收的 “性价比” 一般是比较低的,因为方法区中的东西一般是不需要回收的,所以扫描一遍回收的很少。 永久代的垃圾收集主要分为两部分内容...

2018-12-07 17:10:24

阅读数 50

评论数 0

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