`
maosheng
  • 浏览: 551318 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
Cookie机制: Cookies是服务器在本地机器上存储的小段文本并随每一个请求发送至同一个服务器。网络服务器用HTTP头向客户端发送cookies,在客户终端,浏览器解析这些cookies并将它们保存为一个本地文件,它会自动将同一服务器的任何请求缚上这些cookies 。 具体来说cookie机制采用的是在客户端保持状态的方案。它是在用户端的会话状态的存贮机制,他需要用户打开客户端的cookie支持。cookie的作用就是为了解决HTTP协议无状态的缺陷所作的努力。 正统的cookie分发是通过扩展HTTP协议来实现的,服务器通过在HTTP的响应头中加上一行特殊的指示以提示浏览器按照指 ...
软件架构对新产品开发的作用:       上承业务目标       下接技术决策       控制复杂性 软件需求: 软件需求 = 功能需求 + 质量属性 + 约束 约束是架构设计要解决的问题的上下文 不同需求影响架构的不同原理, ...
JVM是JAVA虚拟机(JAVA Virtual Machine)的缩写,是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JAVA虚拟机有自己完善的虚拟硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM屏蔽了与具体操作系统平台相关的信息,使得JAVA程序只需生成在JAVA虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。 JVM的生命周期: (1) JVM 实例的诞生 当启动一个JAVA程序时,一个JVM实例就产生了,任何一个拥有public static void main(String[] args)函数的class都 ...
硬件的效率和一致性: 由于计算机的运算速度和它的存储和通讯子系统的速度差距巨大,大部分时间都花在IO,网络和数据库上。为了压榨CPU的运算能力,需要并发。 由于运算速度的差距,CPU和存储设备间加入多层的cache。同时也引入了缓存一致性的问题。解决缓存一致性有多种读写协议,(MSI,MESI,MOSI,Synapse,Firefly和Dragon Protocol等。 JAVA内存模型: 主内存和工作内存 1.所有的变量都存储在主内存中 2.每个线程都还有自己的工作内存,拥有主内存的对象的拷贝 3.线程只能操作自己的工作内存,线程间的交互只能通过主内存通讯 内存间的交互 ...
术语定义: 共享变量:在多个线程之间能够被共享的变量被称为共享变量。共享变量包括所有的实例变量,静态变量和数组元素。他们都被存放在堆内存中,Volatile只作用于共享变量。 内存屏障(Memory Barriers):是一组处理器指令,用于实现对内存操作的顺序限制。 缓冲行(Cache line):缓存中可以分配的最小存储单位。处理器填写缓存线时会加载整个缓存线,需要使用多个主内存读周期。 原子操作(Atomic operations):不可中断的一个或一系列操作 缓存行填充(cache line fill):当处理器识别到从内存中读取操作数是可缓存的,处理器读取整个缓存行到适当的缓 ...
基本回收算法: 1.引用计数(Reference Counting)     比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引 ...
Linux开机流程: 1. 加载 BIOS(Basic Input Output System),并透过 BIOS 程序去加载 CMOS 的信息,并且藉由 CMOS 内的设定值取得主机的各项硬件配置信息,进行开机自我测试(POST:Power-on Self Test),然后开始执行硬件侦测的初始化,并设定 PnP(Plug and Play) 装置,之后再定义出可开机的装置顺序,并依据设定取得第一个可开机装置,接下来就会开始进行开机装置的数据读取了 (MBR 相关的仸务开始)。 2. 读取并执行第一个开机装置内 MBR(Master Boot Record,, 主要启动记录区) 的 Bo ...
一.拓扑图: 二.拓扑图的规划: 三.此架构考虑的问题: 1)、Master没挂,则Master占有vip且nginx运行在Master上 2)、Master挂了,则Backup抢占vip且在Backup上运行nginx服务 3)、如果Master服务器上的nginx服务挂了,则vip资源转移到Backup服务器上 4)、检测后端服务器的健康状态 Master和Backup两边都开启nginx服务,无论Master还是Backup,当其中的一个keepalived服务停止后,vip都会漂移到keepalived服务还在的节点上。 如果要想使nginx服务挂了,vip ...
1.HashSet概述:    HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用null元素。 (1) Set 是继承于Collection的接口。它是一个不允许有重复元素的集合。 (2) AbstractSet 是一个抽象类,它继承于AbstractCollection,AbstractCollection实现了Set中的绝大部分函数,为Set的实现类提供了便利。 (3) HastSet 是Set的一个实现类,HashSet依赖于HashMap,它实际上是通过HashMap实现的。Ha ...
1.HashMap概述:       HashMap是基于哈希表的Map接口的非同步实现。其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。       HashMap是非线程安全的,只是用于单线程环境下,多线程环境下可以采用concurrent并发包下的concurrentHashMap。       HashMap 实现了Serializable接口,因此它支持序列化,实现了Cloneable接口,能被克隆。       HashMap存数据的过程 ...
面向对象设计原则是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心. 众所周知,Java编程最基本的原则就是要追求高内聚和低耦合的解决方案和代码模块设计。 原则1:DRY(Don't repeat yourself) 即不要写重复的代码,而是用“abstraction”类来抽象公有的东西。如果你需要多次用到一个硬编码值,那么可以设为公共常量;如果你要在两个以上的地方使用一个代码块,那么可以将它设为一个独立的方法。SOLID设计原则的优点是易于维护,但要注意,不要滥用,重复不是针对代码,而是针对功能。 原则2:封装变化 ...
1.面向对象基本概念【OO(Object-Oriented) Basics】 抽象(Abstraction) 封装(Encapsulation) 继承(Inheritance) 多态(Polymorphism)   2. Design Principle 1   找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码 ...
ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。由号称“俄罗斯 Google”的Yandex开发而来,在2016年开源,在计算引擎里算是一个后起之秀,在内存数据库领域号称是最快的。由于它有几倍于GreenPlum等引擎的性能优势 ...
MES(Manufacturing Execution System)制造执行系统,用于制造业车间级的信息化管理系统。单说MES系统这个概念比较广泛,大致分为以下几个方面:计划调度、生产、质量、物流、设备、工艺等11个方面。 制造运营管理MOM:通过协调管理 ...
一、为什么需要加密? 因为http的内容是明文传输的,明文数据会经过中间代理服务器、路由器、wifi热点、通信服务运营商等多个物理节点,如果信息在传输过程中被劫持,传输的内容就完全暴露了。劫持者还可以篡改传输的信息且不被双方察觉,这就是中间人攻击。所以我们才需要对信息进行加密。最容易理解的就是对称加密 。 二、什么是对称加密? 简单说就是有一个密钥,它可以加密一段信息,也可以对加密后的信息进行解密,和我们日常生活中用的钥匙作用差不多。 对称加密(https://sectigostore.com/blog/types-of-encryption-what-to-know-about-symme ...
Global site tag (gtag.js) - Google Analytics