日常总结
渴望豆浆的油条
资深java程序猿
展开
-
dubbo和zookeeper的实现原理
dubbo的实现原理client一个线程调用远程接口,生成一个唯一的ID(比如一段随机字符串,UUID等),Dubbo是使用AtomicLong从0开始累计数字的将打包的方法调用信息(如调用的接口名称,方法名称,参数值列表等),和处理结果的回调对象callback,全部封装在一起,组成一个对象object向专门存放调用信息的全局ConcurrentHashMap里面原创 2017-12-15 09:33:34 · 5035 阅读 · 0 评论 -
Semaphore信号量的总结
在java中使用synchronize关键字和锁去实现资源的并发访问控制,这是为了保证共享数据的安全。但是另外,当一个资源有多个副本可用的时候像公共设施一样,这种就方式就不适用了,因为这个资源可以同时被一定数量的线程使用,而不仅仅是拿到锁的哪一个线程。Seamaphore(se mer for)类是一个计数信号量,必须由获取它的线程去释放。通常用于限制可以访问某些资源的线程数目,可以为它设原创 2017-12-15 09:35:36 · 275 阅读 · 0 评论 -
jq,ajax,表单提交简单的请求方式
$.ajax({ type: "POST", url: "test.php", data: "name=garfield&age=18", success: function(data){ $("#myDiv").html(''+d原创 2017-12-15 09:36:49 · 942 阅读 · 0 评论 -
java基础知识总结
范围随机数的生成:int max=32; int min=1; Random random = new Random(); int s = random.nextInt(max)%(max-min+1) + min;day1数据类型:决定了变量占据多大的内存,以及变量存储什么样的数float:精确到7位原创 2017-12-15 09:38:38 · 242 阅读 · 0 评论 -
redis的穿透和雪崩
redis穿透:正常的执行路径是这样的,请求数据,首先会从redis缓存中拿数据,如果缓存没有的话才去查数据库,再写到redis缓存中。那么如果有人请求一条根本不存在的数据时,redis里面肯定没有嘛,它就会去访问数据库,但是数据库没有,所以它也没把数据写回redis缓存。所以它每次请求这个数据的时候它就会直接去访问数据库。如果请求的数量太大的话,都直接穿过redis直接去访问数据库,数据库承受不原创 2017-12-15 09:40:27 · 2794 阅读 · 0 评论 -
架构必须要考虑的问题
数据与表的问题:海量数据---》多对多关系(尽量避免多对多,使用冗余字段)-----》数据的索引(索引跟update)---》数据的高并发----》缓存(缓存是全局共享的,当两个或多个对同时对缓存有更新的要求的情况下,应用容易挂掉)文件存储(io爆棚,推维护难,可推磁盘阵列和存储专用服务器推分布式(要重新考虑文件的索引问题))---》分布式(数据的同步与原创 2017-12-15 09:42:34 · 274 阅读 · 0 评论 -
RPC远程过程调用协议
远程过程调用协议运用这个技术的应用场景:在公司里的系统都有成千上万的服务,各个服务都部署在不同的服务器上。如果想调用这个服务的话我们就要像之前老师那样写一个webserveice去访问这个服务才能调用服务里面的方法。这是一个很繁琐的过程,那么我们有没有想过如果我们能直接像平常写方法去调用远程服务上面的方法该有多好。下面给你们介绍一种新的调用的远端的服务的方式:RPC,市面上很多转载 2017-12-15 09:43:59 · 729 阅读 · 0 评论 -
http1.0,http1.1,http2.0。https和http的区别
模拟cookie攻击解决办法 使用SSL/TLS来传递Cookie信息,加强服务器逻辑判断https和http的区别:在URL前加https 前缀表明是用SSL加密的Web服务器启用SSL需要获得一个服务器证书并将该证书与要使用SSL的服务器绑定。http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。http的连转载 2017-12-15 09:45:07 · 779 阅读 · 0 评论 -
解决iview的DatePicker时间带T带Z格式问题
在用iview的DatePicker控件的时候遇到一个问题,因为在Model里面用这个时间摘取控件是最好的。但是蛋疼的是它传到后台的数据是带T带Z不知道什么格式的。自己写了个转换器: 脚本代码: //时区日期格式转换(TZ) function changeDate(dateA) { var dateee = new Date(dateA).toJSON(); ...原创 2018-04-13 11:31:03 · 12299 阅读 · 5 评论