- 博客(64)
- 资源 (4)
- 收藏
- 关注
原创 业务与技术的分水岭
2017年-2018年是业务与技术的分水岭,在此前是做业务大于做技术范围的,随着新元年分布式技术的发展与区块链的出现,大型网站应用发生了变革,高并发高可用高可扩展成为了普遍技术学习攻关的要点,大数据与人工智能的搭配,已经实质到远远不是搭建一个数据中心的程度,各个技术方向与生态扑而来,自动化运维devops,数据监控,gc垃圾收集资源优化,这让我们面临到当你遇见一片海,先不要着急于冲过去,首先要保持一段距离,感受它的重量,感受他的深度,否则可能会一下沉没在海里,左抓一把右抓一把,不能得之要领,这时需要根据自
2022-01-10 18:34:13 1026
原创 spring源码1--springAOP
ProxyCreateSupport---aopProxyFactory.createAopProxy--------------| 生产代理对象的工厂 ----------------------FroxyFactoryBean | ...
2021-02-21 22:15:22 102
原创 前端--跨域请求,浏览器同源策略
浏览器同源策略解决方案jsonp,通过js发送ajax请求json数据padding填充CORSW3C标准,前端浏览器支持,后端通过设置Acess-control-allow允许访问为*跨域访问的请求先通过CORS发送options预请求,判断是否可以访问,response返回Acess-control-allow为true,表示可以访问CORS请求分为常规简单请求和非常规请求简单请求即通过get/post/head发送的请求非简单请求即put/delete请求,..
2020-09-10 15:51:44 194
原创 div布局+响应式布局适配
div横向布局响应式布局媒体查询@media screen + rem,页面整体字体大小高宽度控制flex弹性布局百分比%,VW/VHviewport显示区域
2020-09-01 22:05:39 852
原创 window bom,事件绑定
原生脚本入口,页面dom加载完之后进入执行window.onload = function (){}图片文件全部加载完,执行类比对jquery $().onready(){}dom加载完执行事件绑定,dom中元素绑定<button id=btn onclick=click()>,<selector id=selonchange=change()>js中绑定,表现与行为分开document.getElement(btn)...
2020-09-01 21:43:16 153
原创 前端--原生-let.var,const区别
let变量定义更加严格,不能像var一样可以重复定义1.变量提升,定义声明会在编译之前提升到前面,放到合适的作用域位置方法内局部变量,方法外全局变量、方法内部提升,方法外部提升es6新增let,const关键字,js有了"块"级作用域let,const不存在变量提升,有利于养成良好编程习惯let作用域2.函数提升...
2020-09-01 21:14:19 123
原创 javascript--闭包-原型,原型链
全局变量,局部变量全局变量应用于页面所有脚本局部变量应用于局部函数内部全局变量会受污染局部变量无法完成计数器累计增加,每次都会初始化局部变量嵌套函数可以i访问上一层的函数变量闭包变量返回+内部函数变量调用原型对象对象原型模型访问 ,protptype,对原型进行改造function Person(name,age){}Persion.prototype.sex=‘男’;原型是对像的定义原型链,js中的继承B继承...
2020-08-15 12:05:12 128
原创 html--div布局
div默认排列横向排列,通过css属性1 float 浮动float:left ,float:right,没有center居中2 display:inline-block 行块标签#div1,#div2,#div3{ display:inline-block}3 flex 弹性盒模型flex-start左对齐,默认,flex-end右对齐,center集中居中,space-around分散居中,space-between分散居中,两头无间距...
2020-07-28 21:59:59 213
原创 前端--vue6-axios,router-query传参,params传参
axios,http库,基于promise封装get,post请求axios({ axios.get('/user?ID=12345') method:'post', .then(function(response){ ur...
2020-07-16 18:38:44 930
原创 tomcat源码--Http11Processor
socket-->socketwrapper-->socketprocessor-->Http11Processor --------------------解析请求行 if (!inputBuffer.parseRequestLine(keptAlive, protocol.getConnectionTimeout(), protocol.getKeepAliveTimeout())) { ...
2020-06-23 13:59:56 217
原创 redis--高可用哨兵3
哨兵客户端] #src/redis-cli -p 26379 //哨兵端口号26379>info //查看状态停止哨兵服务src/redis-cli -p 26379 shutdown
2020-05-27 23:50:00 151
原创 tomcat调优--bio/nio/apr
tomcat7.x默认使用biotomcat8.x默认使用nioapr,http11AprProtocol -----------------包括高级IO功能,sendfie,epoll, openSSL -----------------OS级别功能,随机数生成 -----------------本地进程管理,共享内存,NT管道apr内核态性能优于>nio,更适合高并发场景需要安装第三方库,提升性能...
2020-05-24 01:39:51 214
原创 数据库in,exsits,表连接机制
select * from student where student.id in (1,3,5)外表和内表hash连接,hash(id),到内表get(hash(1))--------------------------------id 1 hash(1)--------------join 1 2 ...
2020-05-23 00:31:51 314
原创 数据库配置,spring框架配置,springboot约定大于配置
用户端根据用户属性不同,客户端界面显示不同异构表现层根据用户不同,数据库做不同的组配置组配置,配置组与用户关联,用户显示区分配置影像组,影像组根据业务配置需要使用的身份证,租赁合同等影像用户-------关联--------影像组spring框架中使用xml文件对容器中要管理的bean做配置配置bean的id标识,class类,构造函数,生命周期init,destroy,对bean进行之间关系配置关联装载springboot约定大于配置,最佳实践...
2020-05-22 16:24:58 342
原创 HTTP协议无状态
客户端 | -------------------- HTTP协议,无状态服务端 客户短-服务端通过http协议,发送报文,响应报文,http无状态是http没有规定对客户端-服务端之间的交互做出记录,每一次都是单纯的内容请求-返回,服务端没有对客户端做出记录,也没有返回客户端任何标记服务端没有记录客户端记录,即没有保留客户端状态,每一次请求都是全新的无状态即无法对客户端进行跟踪,实现通过j2ee规范通过session ...
2020-05-22 16:03:58 349
原创 jdk--ThreadPoolExecutor2--LinkedBlockingQueue
ThreadPoolExecutor线程池满拒绝执行策略,默认abortpolicy,不执行并抛出异常AbortPolicy拒绝策略implements RejectExecutionHandler实现rejectExecution(){//抛出异常throw new RejectExecutionException("task"..runnable reject from executor)}blockingqueue-->在ThreaPoolExecutor中使用r..
2020-05-21 00:47:53 187
原创 前端--环境初始化搭建--VUE0
安装nodejs平台环境npm包管理器包括安装目录,全局包目录npm/node_modules>npm root -g显示默认全局包路径,依赖包管理目录>npm install -g vue下载全局包可以在js中require(vue)依赖包,node ***.js运行对比直接<script src="http://**.vue">引入VUE CLI是一套完整的快速开发系统,包括 ---...
2020-05-18 22:26:14 166
原创 jdk--ThreadPoolExecutor1--线程池并发线程数
充分利用CPU多核,每个内核不闲置线程池线程数--->基于Ncpu核数 线程任务------计算密集型 -------IO密集型计算密集型,线程数=CPU核数 --------------CPU1,没有IO等待,一直计算执行繁忙 --------------CPU2,没有IO等待,一直计算...
2020-05-17 03:47:01 245
原创 前端--响应式编程--vue5
数据驱动-->响应式编程 |监听 |触发逻辑执行,判断if或计算compute计算逻辑vue-->监听 -->操作domv-model绑定模型字段 -->修改model模型数据--触发逻辑-->修改显示层环境搭建vue init webpack myproject ---------build --------config ...
2020-05-17 03:02:11 440
原创 接口设计rest.规范及安全
基于资源resouce的 representationl state transfer基于http method状态转换:创建(无-有)----->post,创建资源 查询(无改变) -----> get,单个详情,多个(列表) 更新(改变前-改变后)----> put,修改-------多属性body{json} p...
2020-05-13 01:53:34 379
原创 mysql--流式查询1
stmt=con.preparedstatement(sql,resultset.TYPE_FORWARD_NOLY,resultset.CONCUR_READ_ONLY)stmt.setFechSize(Integer.MIN_VALUE) //Integer.MIN_VALUE是作为一个标识,表示逐行读取返回
2020-05-11 03:18:00 266
原创 mysql--数据库并发2
mvcc多版本 事务并发场景,同一数据源----同一数据结果集,可能一条记录,可能多条记录 快照读 repeatable-read---隔离级别,tx-isolation 普通select 解决读写之间一致性问题,当前事务内,版本号使用于同一事务内 ...
2020-05-10 23:58:05 101
原创 mysql--数据库并发1
mvcc并发读写实现思路基于多版本---相对应lbcc基于锁的并发控制多版本,读不加锁,并发读写不冲突快照读,读取历史版本,不影响其他事务写当前读,读取当前记录最新版本,返回的当前记录加锁,其他事务不会并发修改这条记录数据行锁悲观锁,乐观锁保证并发共享数据更新正常乐观锁不对操作限制不对,最终对版本号判断,版本号不相等无效操作,过多资源浪费,用户无效操作悲观锁,数据库控制,开启事务,按先后顺序操作,前事务执行---->后续事务等待...
2020-05-08 22:42:40 263
原创 分布式服务--dubbo4--通信协议
客户端consumer-----服务端provider-------------通信协议默认使用dubbo协议 rmi协议 hessan协议 http协议 webservice协议 thr...
2020-05-07 22:53:31 134
原创 分布式服务--dubbo3
服务路由,负载均衡策略,------->服务降级,通过monitor监控中心----->服务注册,服务发现,register注册中心,###################服务编排,#######################服务授权服务监控,monitor监控中心,######################服务依赖...
2020-05-01 21:10:04 145
原创 分布式服务--dubbo2
scheduler动态调度中心,基于压力动态调整集群容量对某服务请求数大压力大,服务动态部署扩容上线,对于请求并发小的服务,服务动态下线自动管理服务动态扩展上线下线,提高机器利用率----------------》服务治理大型服务,小型服务...
2020-05-01 20:35:58 131
原创 分布式服务--dubbo1
proviver启动发布服务consumer启动获取服务代码执行运行服务root下service,consumer, provider,节点下建立对应定义接口provider依赖实现接口consumer依赖接口,接口调用denpendency groupId=com.alibaba artifactId=dubbo version=2.5.3zkc...
2020-05-01 20:34:54 118
原创 linux环境变量,命令
evn,当前用户变量set,当前shell变量,包括-->用户变量a=abc,定义一个shell变量aexport a,导出为一个用户变量环境变量分为临时和永久shell窗口中export a='abc',导出的环境变量为临时在etc/profile中编辑export a='abc',环境变量为永久,执行sourceetc/profile生效...
2020-04-29 16:35:06 181
原创 线程并发锁竞争--java锁jvm锁--synch与reentrantLock比较1
sych在线程竞争中情况最终使用重量级锁,线程较少情况使用偏向锁->自旋锁当大量线程并发出现,自旋锁升级为重量级锁,因为jvm调优当大量线程自旋太过消耗CPU资源,启用重量级锁,没有获得锁的线程到等待队列挂起等待,不消耗CPUreetrantLock实现基于AQS(CAS),使用自旋队列方式,所以在较大线程并发情况占用CPU比较消耗CPU资源condition,重...
2020-04-24 14:08:40 205
原创 线程并发锁竞争--java锁jvm锁--synch锁分析
cas compare and swap,比较交换,atomic原子类,native unsafe compareAnd,汇编实现asm汇编,lock xchge,多核lock其他核不能操作synch锁升级过程,根据竞争情况升级无锁(new)->偏向锁(占用标签)->轻量级锁自旋锁->重量级锁(操作系统底层内核态申请) markwo...
2020-04-24 14:05:15 188
原创 redis--高可用哨兵2
gossip,接收关于主服务器是否下线的信息agreement protocols,决定是否执行自动故障迁移, 以及选择哪个从服务器作为新的主服务器sdown,主观下线,单个 Sentinel 实例对服务器做出的下线判断odown,客观下线,多个sentinel通过is-master-down-by-addr命令交流后都认为监控主服已下线有效回复,规定时间返回ping--...
2020-04-22 18:04:19 111
原创 redis--高可用哨兵1
redis监控,通知,自动故障迁移redis sentinel是一个分布式系统,可以在一个架构中运行多个sentinel进程redis sentinel是一个可执行文件,实际上是一个运行在特殊模式下的redis服务器,可以再运行redis-server --sentinle指定两种启动方式redis-sentinel程序文件redis-server /path/to/se...
2020-04-22 00:28:37 88
原创 redis--redis主从复制高并发
使用 Redis replication主从复制在slave配置文件加入slaveof ,复制的过程已经由redis内置实现了在master故障时,使用sentinel哨兵货集群,切换到slave,实现高可用
2020-04-20 19:04:11 111
原创 maven--创建archtype-webapp项目
创建project -----------创建module父项目pom指定module模块<modules>module</modules>子模块module指定parent父项目<parent>父项目坐标描述</parent>选择maven-archtype-webapp模板pom....
2020-04-17 23:43:24 218
原创 linux运维--netstat网络1
tcp,udp, unix套接字下所有连接netstat -a[t|u|x]监听状态listen(等待连接)->已建立连接状态establishednetstat -al[t|u|x]查看网络状态已建立连接的状态,ESTA关键字netstat -antp|grep ESTA实时监视active状态的连接watch -d -n0 "netstat -antp|gre...
2020-04-16 17:16:35 129
原创 jvm--类加载器加载机制
核心类加载器,底层实现,加载核心类库java.lang.*扩展类加载器,java实现,加载扩展类库jre/lib/ext系统类加载器,java实现,加载classpath目录下用户自定义类加载器,继承系统类加载器ClassLoader实现自定义类加载器loader1,loader2-->super(loader1,"自定义类"),loader2使用父委托机制使用load...
2020-04-16 17:10:42 103
原创 jvm--内存分配模型
方法区 栈区 本地方法区native方法 堆区 程序计数器 方法区,类信息,静态变量,常量栈区,局部变量,,变量占用内存空间固定,编译期间静态分配好线程栈,每个线程对应的栈,栈帧存储进步变量,操作数,动态链接,方法返回地址堆区,对象,Class类对象-->newInstance实例化对象,动态分配,-Xmx初始分配内存大小,-Xmx最大...
2020-04-16 17:00:46 89
原创 日志系统log4j,slf4j.logback
日志系统default默认配置文件,resource-->classpath默认到路径下查找日志配置日志接口slf4j日志接口实现log4j,logback
2020-04-16 16:34:55 179
原创 spring框架--springContext上下文
web容器servletContextspringIOC容器WebapplicationContext,初始化--->监听器contextloadlistener,配置文件contextConfigLocation早期context上下文初始化通过--->contextloadServletspringIOC容器上下文,spring-context-4.3.8...
2020-04-16 16:08:56 1341
spring课件教程
2012-11-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人