- 博客(39)
- 资源 (5)
- 收藏
- 关注
原创 笔记
32cpu128内存1T硬盘5万一台,3年有效期服务冗余、放在不同的机柜,防止机柜断电,系统要做到无状态化(快速扩容、快速缩容)。服务分级(制定一些规则,分出服务优先级)网关层热切换(读取配置)、根据是否打印日志或者看app超时时间来决定是否关闭服务防火墙设置只出不进也可以达到热切换能力QQ好友列表,时间换空间,各方都有一个版本号,每次登录对比版本号,一样则不拉取好友,不一样就拉取...
2020-04-30 17:50:25 412
转载 数据库并发事务存在的问题(脏读、不可重复读、幻读等)
一个数据库可能拥有多个访问客户端,这些客户端并发访问数据库时,若没有采取必要的隔离措施,存在以下问题,这些问题分为5类,包括3类数据读问题:脏读、不可重复读和幻读。两类数据更新问题:第一类丢失更新、第二类丢失更新。1.脏读A事务读取B事务尚未提交的更改数据,并在这个数据的基础上进行操作,这时候如果事务B回滚,那么A事务读到的数据是不被承认的。例如常见的取款事务和转账事务:2.不可重复读不可...
2020-04-29 16:30:35 441
转载 “两地三中心”和“双活”简介--容灾技术方案
当前市场上常见的容灾模式可分为同城容灾、异地容灾、双活数据中心、两地三中心几种。1、同城容灾同城容灾是在同城或相近区域内(≤200KM)建立两个数据中心:一个为数据中心,负责日常生产运行;另一个为灾难备份中心,负责在灾难发生后的应用系统运行。同城灾难备份的数据中心与灾难备份中心的距离比较近,通信线路质量较好,比较容易实现数据的同步复制,保证...
2019-11-29 15:08:37 7488
原创 笔记
32cpu128内存1T硬盘5万一台,3年有效期服务冗余、放在不同的机柜,防止机柜断电,系统要做到无状态化(快速扩容、快速缩容)。服务分级(制定一些规则,分出服务优先级)网关层热切换(读取配置)、根据是否打印日志或者看app超时时间来决定是否关闭服务防火墙设置只出不进也可以达到热切换能力QQ好友列表,时间换空间,各方都有一个版本号,每次登录对比版本号,一样则不拉取好友,不一样就拉...
2019-10-14 21:08:49 153
原创 半导体硅以及cpu制作简单介绍
沙子主要成分是SiO2工业上用CO冶炼生成CO2和粗Si提纯的大致方法是熔炼 事实上粗硅提纯的许多高效方法的详细内容是工业机密 或者申请了专利下面是计算机中Si的详细内容作为计算机的核心组件,CPU(Central Processor Unit,中央处理器)在用户的心中一直是十分神秘的:在多数用户的心目中,它都只是一个名词缩写,他们甚至连它的全写都拚不出来;在一些硬件高手的眼里,CPU也至...
2019-09-27 16:05:30 1679
原创 mybatis源码阅读第一天
mybatis源码阅读第一天源码阅读三要素mybatis全局配置文件mybatis初始化Configuration初始化sqlSessionFactory会话创建总图SqlSessionFactory初始化遇到的问题源码阅读三要素先读文档,在读代码,找到入口,带着目的读(我的目的是了解设计模式、编码风格、总体规划、分包分类等)梳理整体结构,画图加深记忆,先不要钻细节不要全读,60%左右就...
2019-08-25 14:54:00 149
转载 这种技术能够替代 Android 原生开发吗?
今天在浏览知乎的时候,看到这么一个问题,感觉很有意思,有点分享价值,如下:ApiCloud 能都替代 Android 原生开发吗?ApiCloud 现在好像蛮火,但是能替代比如在 Eclipse,AndroidStudio 来做的 App 开发吗?本来在 Eclipse 上做 App 开发的程序员有必要转到 ApiCloud 上开发吗,毕竟还是简单,快速些。说实话,这个问题本身就问...
2019-01-10 12:06:27 776
转载 dubbo是什么,很好的介绍
Dubbo是Alibaba开源的分布式服务框架,我们可以非常容易地通过Dubbo来构建分布式服务,并根据自己实际业务应用场景来选择合适的集群容错模式,这个对于很多应用都是迫切希望的,只需要通过简单的配置就能够实现分布式服务调用,也就是说服务提供方(Provider)发布的服务可以天然就是集群服务,比如,在实时性要求很高的应用场景下,可能希望来自消费方(Consumer)的调用响应时间最短,只需要选...
2018-10-05 19:36:58 382
转载 熔断机制hystrix
一、问题产生雪崩效应:是一种因服务提供者的不可用导致服务调用者的不可用,并将不可用逐渐放大的过程 正常情况下的服务:某一服务出现异常,拖垮整个服务链路,消耗整个线程队列,造成服务不可用,资源耗尽: 形成过程: 1)服务提供者不可用 a)硬件故障:硬件损坏造成的服...
2018-08-17 11:35:03 1315
转载 再有人问你Java内存模型是什么,就把这篇文章发给他。
前几天,发了一篇文章,介绍了一下JVM内存结构、Java内存模型以及Java对象模型之间的区别。有很多小伙伴反馈希望可以深入的讲解下每个知识点。Java内存模型,是这三个知识点当中最晦涩难懂的一个,而且涉及到很多背景知识和相关知识。网上有很多关于Java内存模型的文章,在《深入理解Java虚拟机》和《Java并发编程的艺术》等书中也都有关于这个知识点的介绍。但是,很多人读完之后还是搞不清楚,甚至有...
2018-07-03 15:47:56 147
原创 对bio nio aio的理解
看来很多关于bio nio aio博客,每次都是看不太懂,终于有点头绪,写博客记录下备用。在了解bio nio aio之前,首先这三个都是针对系统io来说的(包括网络io、磁盘io、内存io),先要知道程序读取数据是分两步走,第一步是数据先到达内核空间(即系统空间),第二步是由内核空间再拷贝到程序空间。第二步拷贝数据时,线程或进程会阻塞在这里,而不能去做其他事情,这里就是同步,线程或进程可以做其他...
2018-06-19 11:45:09 1907
转载 为什么分布式一定要有redis?
1、为什么使用redis 分析:博主觉得在项目中使用redis,主要是从两个角度去考虑:性能和并发。当然,redis还具备可以做分布式锁等其他功能,但是如果只是为了分布式锁这些其他功能,完全还有其他中间件(如zookpeer等)代替,并不是非要使用redis。因此,这个问题主要从性能和并发两个角度去答。 回答:如下所示,分为两点(一)性能如下图所示,我们在碰到需要执行耗时特别久,且结果不频繁变动的...
2018-06-15 14:25:03 166
原创 为什么说Java天生支持多线程
Java的线程是由jvm来管理的,它如何映射到操作系统的线程是由jvm实现来决定的。lwp轻量级进程是对内核线程的一层封装,提供给用户线程调用jvm正是被设计成采用lwp(轻量级进程)来实现与操作系统的内核线程形成一比一的映射关系,来实现Java内部的多线程,并提供了相应的语法来进行编码,其实调用Java的多线程就是调用内核线程来执行,所以说Java 天生是支持多线程的语言。但内核线程都有一个内核...
2018-06-12 20:49:03 2862
原创 https+非对称加密+对称加密
今天系统的看了下https原理,并没有深入细节,细节有现成的软件实现,各语言都有各自实现。https=http+ssl,两种协议的合体,ssl协议升级版为tls,ssl位于http应用层与tcp中间,注意ssl只保证安全(不被破解),并不保证可靠(即消息是否送达),这一点有tcp保证。https采用非对称加密算法+对称加密算法来保证数据的安全。非对称加密算法涉及到需要向ca认证机构(证书签发机构,...
2018-06-09 18:10:37 7464
转载 透彻的掌握 Spring 中@transactional 的使用
事务管理是应用系统开发中必不可少的一部分。Spring 为事务管理提供了丰富的功能支持。Spring 事务管理分为编码式和声明式的两种方式。编程式事务指的是通过编码方式实现事务;声明式事务基于 AOP,将具体业务逻辑与事务处理解耦。声明式事务管理使业务代码逻辑不受污染, 因此在实际使用中声明式事务用的比较多。声明式事务有两种方式,一种是在配置文件(xml)中做相关的事务规则声明,另一种是基于@Tr...
2018-05-25 20:07:44 668
转载 mysql explain执行计划详解
1)、id列数字越大越先执行,如果说数字一样大,那么就从上往下依次执行,id列为null的就表是这是一个结果集,不需要使用它来进行查询。 2)、select_type列常见的有:A:simple:表示不需要union操作或者不包含子查询的简单select查询。有连接查询时,外层的查询为simple,且只有一个B:primary:一个需要union操作或者含有子查询的
2017-11-14 11:18:03 175
转载 mysql 添加索引后 在查询的时候是mysql就自动从索引里面查询了。还是查询的时候有单 独的参数查询索引?
MYSQL在创建索引后对索引的使用方式分为两种:1 由数据库的查询优化器自动判断是否使用索引;2 用户可在写SQL语句时强制使用索引下面就两种索引使用方式进行说明第一种,自动使用索引。数据库在收到查询语句后会查看where语句后面的查询条件,同时查看在表上面有哪些索引,然后根据查询条件和索引进行匹配。查询条件和索引的匹配包括查询字段与索引字段的匹配和查询类型和索引类型的匹配。前者很好理
2017-11-11 18:50:12 346
转载 form data 和request payload 和Query String Parameters
enctype 属性在下面的例子中,表单数据会在未编码的情况下进行发送:form action="form_action.asp" enctype="text/plain"> p>First name: input type="text" name="fname" />p> p>Last name: input type="text" name="lname" />p> inp
2017-08-27 18:17:47 3323
转载 DAS,NAS,SAN在数据库存储上的应用
一. 硬盘接口类型1. 并行接口还是串行接口(1) 并行接口,指的是并行传输的接口,比如有0~9十个数字,用10条传输线,那么每根线只需要传输一位数字,即可完成。从理论上看,并行传输效率很高,但是由于线路上的物理原因,它的传输频率不能太高,所以实际的传输速度并不和并行度成正比,甚至可能更差。(2) 串行接口,指的是串行传输的接口,同样是0~9十个数字,用1条传输线,那么需要传输
2017-08-10 17:43:24 1341
转载 如何理解云计算?很简单,就像吃货想吃披萨了...
你一定听说过云计算中的三个“高大上”的你一定听说过云计算中的三个“高大上”的概念:IaaS、PaaS和SaaS,这几个术语并不好理解。不过,如果你是个吃货,还喜欢披萨,这个问题就好解决了!好吧,其实你根本不是一个吃货,之所以自我标榜为吃货,其实是为了收获赞叹式的夸奖,“吃货还这么瘦,好羡慕啊!”或者,总得给伦家的微丰找个像样的理由。 一个“吃货”是怎样吃到披萨的呢?
2017-08-09 17:12:21 466
转载 tomcat连接数、线程数关系
个人对tomcat连接器3个属性maxConnections、maxThreads、acceptCount的理解: 先摘取官网对这3个属性的描述:acceptCount The maximum queue length for incoming connection requests when all possible request processing threads are in use.
2017-07-26 15:59:11 5327 1
转载 JAVA Socket 底层是怎样基于TCP/IP 实现的
首先必须明确:TCP/IP模型中有四层结构: 应用层(Application Layer)、传输层(Transport Layer)、网络层(Internet Layer )、链路层(LinkLayer) 其中Ip协议(Internet Protocol)是位于网络层的,TCP协议时位于传输层的。通过Ip协议可以使可以使两台计算机使用同一种语言,从而允许Internet上连接不
2017-07-17 17:33:14 499
转载 关于 MySQL LEFT JOIN 你可能需要了解的三点
即使你认为自己已对 MySQL 的 LEFT JOIN 理解深刻,但我敢打赌,这篇文章肯定能让你学会点东西!ON 子句与 WHERE 子句的不同一种更好地理解带有 WHERE ... IS NULL 子句的复杂匹配条件的简单方法 Matching-Conditions 与 Where-conditions 的不同关于 “A LEFT JOIN B ON 条件表达式” 的一点提醒
2016-11-30 20:37:10 397
转载 mysql explain分析
本文我们主要介绍了MySQL性能分析以及explain的使用,包括:组合索引、慢查询分析、MYISAM和INNODB的锁定、MYSQL的事务配置项等,希望能够对您有所帮助。1.使用explain语句去查看分析结果 如explain select * from test1 where id=1;会出现:id selecttype table type possible_keys key
2016-11-30 20:35:52 319
转载 SessionID的本质
一、客户端用cookie保存了sessionID客户端用cookie保存了sessionID,当我们请求服务器的时候,会把这个sessionID一起发给服务器,服务器会到内存中搜索对应的sessionID,如果找到了对应的 sessionID,说明我们处于登录状态,有相应的权限;如果没有找到对应的sessionID,这说明:要么是我们把浏览器关掉了(后面会说明为什 么),要么sessi
2016-07-02 22:18:00 291
转载 关于图片或者文件在数据库的存储方式归纳
商品图片,用户上传的头像,其他方面的图片。目前业界存储图片有两种做法:1、 把图片直接以二进制形式存储在数据库中一般数据库提供一个二进制字段来存储二进制数据。比如mysql中有个blob字段。oracle数据库中是blob或bfile类型2、 图片存储在磁盘上,数据库字段中保存的是图片的路径。一、图片以二进制形式直接存储在数据库中第一种存储实现(php语言):大体思路:1、将读取到的图片用php
2016-06-12 10:56:26 18595
转载 JDK之jstat的用法
jstat的用法用以判断JVM是否存在内存问题呢?如何判断JVM垃圾回收是否正常?一般的top指令基本上满足不了这样的需求,因为它主要监控的是总体的系统资源,很难定位到java应用程序。Jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”,它位于java的bin目录下,主要利用JVM内建的指令对Java应用程
2016-04-21 16:08:41 417
转载 关于java中的OutOfMemory种类和解决方法
1、OutOfMemory的三种情况 1) 永久区溢出 Exception in thread “main” java.lang.OutOfMemoryError: PermGen space 这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域(包括常量池: 静态变量),它和存放Instance的Heap区域不同,GC(Garbage
2016-04-20 11:59:11 517
转载 Xms Xmx PermSize MaxPermSize 区别
Eclipse崩溃,错误提示: MyEclipse has detected that less than 5% of the 64MB of Perm Gen (Non-heap memory) space remains. It is strongly recommended that you exit and restart MyEclipse with new virtual mac
2016-04-20 11:43:24 259
转载 JavaScript 中对变量和函数声明的“提前(hoist)”
hoistvt.升起,提起; vi.被举起或抬高; n.起重机,升降机; 升起; <俚>推,托,举; ##这篇文章不讲英语,但是对于某些英语单词找不到很好的翻译,一上来就列出“hoist”这个单词的释义是为了让大家有个准备,我在这里将此单词翻译为“提前”,是为了解释 JavaScript 语言中很“古怪”的一个特性。变量声明“被提前” JavaScript 的语法和 C 、Java、C#
2016-03-14 19:31:05 393
转载 欢迎使用CSDN-markdown编辑器
进程、线程、程序、应用程序的区别看到一种说法是“一个程序至少有一个进程,一个进程至少有一个线程”,这种把程序与进程,进程与线程的关系混淆的说法是错误的。程序(program)只能有一个进程,一个进程就是一个程序。有人说,我打开一个程序,比如chrome,有十多个进程呢,这是咋回事。那就是十多个程序,操作系统给他们分配了彼此独立的内存,相互执行不受彼此约束,分配同样时间的CPU。对于用户而言,他们是一
2015-11-15 21:44:47 255
转载 解读Tomcat和负载均衡的意思
关于Tomact我们都知道它是一种嵌入的脚本软件,基本上我们在Linux下来来完成负载均衡。那么针对负载均衡和Tomact我们来进行一个具体的说明吧。之后再对他们的设定过程给出具体的内容。◆Tomcat的集群在Tomcat先前的版本中(4.1)可以通过第三方的jar文件来实现集群。在一个集群内安装和配置多个Tomcat实例不是一件容易的事情。将集群的能力增加到开放源的servlet容器(Tomcat
2015-08-27 10:33:00 985
转载 Linux kill, killall, kill -9
1) 查看进程的方法: ps -ef 或者 ps aux root 15087 0.0 0.0 0 0 ? S 23:31 0:00 [kworker/1:1] root 15219 0.0 0.0 0 0 ? S 23:36 0:00 [kworker/1:0] root
2015-08-18 10:31:39 329
原创 java servlet和jsp区别
目前常见的动态网页技术有CGI、ASP、PHP、JSP这几种。 最早出现的技术是CGI(通用网关接口),原先的web服务器并不支持动态的访问,即实时更新的网页内容,所以出现了CGI,但是CGI运行效率低下,每次访问就会创建一个进程,访问结束就会关闭进程,这样给服务器带来了很大压力,所以sun公司就根据java applet设计出了java servlet技术。 java servlet是独立于平
2015-07-06 15:05:51 1881
原创 Java引用传递和值传递
Java值传递: 是针对Java基本类型(int等)数据的传递,在方法执行完以后,形参值的改变不会影响到实参的数据,这个没什么好说的。 Java引用传递: 首先需要明确一点,引用的含义,引用是个通用名词,在C++中表示变量的别名,而在Java中,引用类似于C++的指针,但又不太相同,因为Java的引用并不需要你自己去控制对象的使用周期,由于Jvm自带垃圾回收,所以该引用是是对象在jvm中的内存
2015-06-10 14:43:06 656
原创 重写hashcode和equals方法
最近在看jvm优化的原理,不知不觉就看到引用和指针上的区别了,再然后就看了hash(散列)算法的实现思路,越看越不着边际,好吧,言归正传。Java里面比较对象相等,有两种方式,一种是使用==号,另一种是使用equals方法。==号: 判断两个对象的内存地址是否相等,相等则为同一个对象,不相等则不是, 对于基本类型数据,则只判断两个值是否相同。 equals方法: Object类默认都实现了e
2015-06-08 22:49:35 468
原创 osi七层模型学习笔记
最近在看关于负载均衡的相关知识,由于负载均衡包括二、三、四、七层负载均衡,所以去了解了一下七层模型的相关知识。 该内容只适合程序员,涉及的网络结构知识比较浅,只是为了更好的编写web程序,同时也是自己做一下记录。在了解osi七层模型之前,首先需要了解一下什么是协议,计算机中的协议是指为了从网络中的一台计算机传递到另一台计算机,所有设备必须讲相同的语言,就像人与人沟通,需要说相同的语言,其实语言也是
2015-05-22 15:59:15 655
原创 Linux与Windows的区别-文件系统
Linux与Windows的区别1这里主要说的是使用上的区别,即用户习惯、正常思维上的区别,再说linux与windows区别之前,首先要了解一下什么是文件系统。 文件系统: 文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;当然也有像内存这种虚拟的文件系统(vmfs),说白了就是操作系统或软件对文件在存储设备上的一种组织、
2015-05-22 12:29:51 9873
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人