Welcome 微信登录

首页 / 操作系统 / Linux

Java动态代理全面分析

Java动态代理全面分析

代理模式解说:给某一个对象提供一个代理,并由代理对象控制对原对象的引用;代理模式需要以下几个角色:1 主题:规定代理类和真实对象共同对外暴露的接口;2 代理类:专门代理真实对象的类;3 真实对象:需要被代理的对象;代理解决的主要的业务就是需要在 真实对象的某个接口 前后处理一些事情,框架中多会用到这种功能,比如 打日志、记录时间等静态代理静态代理是指自己动手编写代码实现代理类;优点:业务类只需要关注业务逻辑本身,保证了业务类的重用性。这是代理的共有优点。缺...
Spring之AntPathMatcher

Spring之AntPathMatcher

前言AntPathMatcher是什么?主要用来解决什么问题?背景:在做uri匹配规则发现这个类,根据源码对该类进行分析,它主要用来做类URLs字符串匹配;效果可以做URLs匹配,规则如下?匹配一个字符*匹配0个或多个字符**匹配0个或多个目录用例如下/trip/api/*x 匹配 /trip/api/x,/trip/api/ax,/trip/api/abx ;但不匹配/trip/abc/x;/trip/a/a?x 匹配 /trip/a/abx;但不匹...
Java多线程基本使用

Java多线程基本使用

一.概念1.进程1.1进程:是一个正在进行中的程序,每一个进程执行都有一个执行顺序,该顺序是一个执行路径,或者叫一个控制单元。1.2线程:就是进程中一个独立的控制单元,线程在控制着进程的执行,一个进程中至少有一个线程。1.3举例java VM:Java VM启动的时候会有一个进程java.exe,该进程中至少有一个线程在负责java程序的运行,而且这个线程运行的代码存在于main方法中,该线程称之为主线程。扩展:其实更细节说明jvm,jvm启动不止一个线程...
RSA 非对称加密 数字签名 数字证书

RSA 非对称加密 数字签名 数字证书

什么是RSA加密算法RSA加密算法是一种非对称加密算法,算法的数学基础是极大数分解难题。RSA加密算法的强度也就是极大数分解的难度,目前700多位(二进制)的数字已经可以破解,1024位认为是比较安全的,2048则是非常安全的。在RSA加密算法中,密钥由两部分组成,称之为公钥和私钥,私有由发送方自己保存,不能泄漏。公钥由发送方公布出去。发送方发送消息时,会用公钥对消息进行加码,接收方必须要使用对应的私钥才能将加密后的信息解开。因此,只要私钥不泄漏,通信内容...
Java 正则表达式学习

Java 正则表达式学习

匹配模式JDK提供三种匹配模式,分别是:贪婪模式(greedy),勉强模式(reluctant)和占有模式(possessive),分别对应三种占有量词,其中贪婪模式是默认的模式,勉强模式通过在表达式后面加一个?来表示。占有模式通过在表达式后面加一个+来表示。三种模式的含义是什么呢?贪婪模式的含义是:尽可能多的匹配,同时也尽量满足整体匹配。勉强模式的含义是:尽可能少的匹配,同时也尽量满足整体匹配。占有模式的含义是:尽可能多的匹配,如果因为匹配多了导致整理无...
Java可见性机制的原理

Java可见性机制的原理

基本概念可见性当一个线程修改了共享变量时,另一个线程可以读取到这个修改后的值。内存屏障(Memory Barriers)处理器的一组指令,用于实现对内存操作的顺序限制。缓冲行CPU告诉缓存中可以分配的最小存储单位,处理器填写缓存行时,会加载整个缓存行。Lock前缀的指令Lock前缀的指令在多核处理器下会发生两件事情:1)将当前处理器的缓存行的数据协会到系统内存。2)这个写回内存的操作会使其他CPU缓存了该内存的地址的数据无效。缓存一致性协议在多处理器下,为...
双重检查锁定和延迟初始化

双重检查锁定和延迟初始化

双重检查锁定的由来在Java程序中,有时需要推迟一些高开销的对象的初始化操作,并且只有在真正使用到这个对象的时候,才进行初始化,此时,就需要延迟初始化技术。延迟初始化的正确实现是需要一些技巧的,否则容易出现问题,下面一一介绍。方案1public class UnsafeLazyInit{private static Instance instance;public static Instance getInstance(){if (instance == ...
使用RabbitMQ的RPC

使用RabbitMQ的RPC

笔者不才,根据小弟的经验觉得使用rabbitMQ进行RPC调研不太妥当,需要他能够实现跨语言,但是对于整体来说使用消息队列服务进行RPC调用,通过RabbitMQ的事务来确定消息已经成功处理完毕,然后通过消息队列服务的reply队列返回处理结果。总觉得差点什么,或者你跟我一样发现了一些问题。第一如何处理分布式事务,这个的确有点费解,这个后面在spring和JPA的时候再去说吧。第二个问题也是我还没有弄懂的一个问题,就是如何做到多线程并发处理。为什么我会提出...
Next.js提供了基于React的简单通用JavaScript框架

Next.js提供了基于React的简单通用JavaScript框架

新的通用JavaScript框架Next.js目前已经开源了,它为基于React和服务器的Web应用提供了一个新的可选方案。来自Zeit的团队在React的基础和组件模型上构建了Next.js,同时还提供了一个关键扩展:通过使用名为getInitialProps()的组件生命周期钩子方法,框架能够在服务器上进行初始渲染,如果需要的话,还可以在客户端继续进行渲染。不过这个高级特性是一个很小却功能强大的框架所额外提供的。按照Next.js的最小功能集,它提供了...
Java基础之Calendar类

Java基础之Calendar类

Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。与其他语言环境敏感一样,Calendar 提供了一个类方法 getInstance,以获得此类型的一个通用的对象。Ca...
Ajax的概述与实现过程

Ajax的概述与实现过程

一、ajax概述1、Ajax是Asynchronous([?"s??kr?n?s) JavaScript XML的简写,不是一门新技术,而是对现有技术的综合利用。这一技术能够向服务器请求额外数据而无需刷新页面,带来了更好的用户体验2、Ajax技术的核心是XMLHttpRequest对象(简称XHR),这是由微软首先引入的一个特性。在XHR出现之前,Ajax式的通信必须借助一些hack手段来实现,大多数是使用隐藏的框架或内嵌框架。3、XHR为向服务器发送请求...
网络传输协议概述

网络传输协议概述

概述:指服务器和客户端间进行通信时的约束和规范,客户端与服务端的数据交互并不是杂乱无章的,需要遵照(基于)一定的规范进行常见的协议:a) HTTP、HTTPS 超文本传输协议b) FTP 文件传输协议c) SMTP 简单邮件传输协议本文主要介绍http超文本传输协议。1、HTTP协议即超文本传输协议,网站是基于HTTP协议的,例如网站的图片、CSS、JS等都是基于HTTP协议进行传输的。HTTP协议是由从客户机到服务器的请求(Request)和从服务器到客...
JavaScript之继承(原型链)

JavaScript之继承(原型链)

我们知道继承是oo语言中不可缺少的一部分,对于JavaScript也是如此。一般的继承有两种方式:其一,接口继承,只继承方法的签名;其二,实现继承,继承实际的方法。JavaScript不支持签名,因此只有实现继承。其中实现继承主要是依赖于原型链的。下面我将以原型链为重点说说继承的几种主要的方式:原型链继承借用构造函数继承组合继承(重点)第一部分:原型链继承 A 要说原型链继承,不得不首先介绍一下原型链的概念。 想象一下,如果使原型对象等于另一个对象的...
深入理解JavaScript中创建对象模式的演变(原型)

深入理解JavaScript中创建对象模式的演变(原型)

创建对象的模式多种多样,但是各种模式又有怎样的利弊呢?有没有一种最为完美的模式呢?下面我将就以下几个方面来分析创建对象的几种模式:Object构造函数和对象字面量方法工厂模式自定义构造函数模式原型模式组合使用自定义构造函数模式和原型模式动态原型模式、寄生构造函数模式、稳妥构造函数模式第一部分:Object构造函数和对象字面量方法 我之前在博文《JavaScript中对象字面量的理解 http://www.linuxidc.com/Linux/2016-1...
HTML中<meta>标签如何正确使用

HTML中&lt;meta&gt;标签如何正确使用

如果我们在浏览器中按下F12或者Ctrl+shift+J,便可以打开开发者工具,在element中即可看到<head>元素中有不少<meta>元素。对于网页而言,<meta>元素是必不可少的。我们在创建一个html5文档时,就会发现类似于<meta charset="UTF-8">这样的标签,来规定解析文档的字符类型。那么,它还有哪些作用呢?下面,我将一探究竟!我会通过下面几个部分来讲解,如果你希望直接看后面...
JavaScript函数之美

JavaScript函数之美

这篇文章,我将就以下几个方面来认识JavaScript中的函数。函数为什么是对象,如何定义函数?如何理解函数可以作为值被传递函数的内部对象、方法以及属性第一部分:函数为什么是对象,如何定义函数 JavaScript中最有意思的恐怕是函数了,因为和其他语言不同,在JavaScript中,每个函数都是Function类型的实例,而我们知道:Object是一个基础类型,其他所有类型都是从Object继承了基本的行为。也就是说Function也是从Object引...
深入理解JavaScript中的属性和特性

深入理解JavaScript中的属性和特性

JavaScript中属性和特性是完全不同的两个概念,这里我将根据自己所学,来深入理解JavaScript中的属性和特性。 主要内容如下:理解JavaScript中理解对象的本质、理解对象与类的关系、对象与引用类型的关系对象属性如何进行分类属性中特性的理解第一部分:理解JavaScript中理解对象的本质、理解对象与类的关系、对象与引用类型的关系 对象的本质:ECMA-262把对象定义为:无序属性的集合,其属性可以包含基本值、对象或者函数。即对象是一...
<< 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 >>