沉迷代码无法自拔

一枚萌新的学习成长记录

分布式系统中CAP理论的理解

对于分布式系统了解的不是很多,今天学习了一下分布式系统中CAP,记录一下,希望能对分布式系统的学习有所帮助 Consistency(一致性), 数据一致更新,所有数据变动都是同步的 Availability(可用性), 好的响应性能 Partition tolerance(分区容忍性) 可靠...

2018-07-24 00:52:35

阅读数 840

评论数 0

怎么打破双亲委派机制

今天在看面经的时候看到一个问题,怎么打破双亲委派机制,觉得很有意思,一般来说面试官关心的都是双亲委派机制的三个特性或者说这个机制的作用,第一次看到这样问的,于是来总结一下打破这个机制的方法: 1:自己写一个类加载器 2:重写loadclass方法 3:重写findclass方法 这里最主要...

2018-07-19 23:54:38

阅读数 1773

评论数 0

DoubleCheck的几种方法总结

第一种:非延迟加载单例类 public class Singleton { private Singleton() {} private static final Singleton instance = new Singleton(); public static Sing...

2018-07-18 00:31:06

阅读数 1117

评论数 0

RBAC

实用的RBAC模型的数据库建模    RBAC用户角色权限设计方案RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,...

2018-07-15 21:20:40

阅读数 660

评论数 0

分库分表相关知识

背景情况用户表达到了 几千万级别,在做很多操作都比较吃力,.所以,考虑对其进行分库分表,或者在进行高并发读写的时候采用分库分表的形式也更能增强读写的性能,保证服务的稳定高效常用的切分方案数据的切分(Sharding)根据其切分规则的类型,可以分为两种切分模式。一种是按照不同的表(或者Schema)...

2018-07-13 23:58:58

阅读数 79

评论数 0

maven打包的经验教训

今天在公司实际开发项目过程中遇到了一件事,我觉得应该记录下来引以为戒当时我项目开发需要另外一个项目组的人提供相应的接口支持,跟他沟通过后他给了我jar包的maven仓库地址,这个接口是正在开发的未经过测试的,我刚拿到的时候觉得没什么不对劲,后来才发现他给我的居然是releases版本的,这样其实是...

2018-07-13 23:54:16

阅读数 128

评论数 0

实习总结之埋点监控的重要性

在公司的开发中提供的有埋点监控的接口,可以实时的记录你想要记录的数据,这为我们发现问题解决问题提供了很好的参照对比性可以记录查询缓存的次数和查询数据库的次数:在缓存开关正常得情况下能够监控缓存的使用情况可以记录服务调用失败数和成功数:关注服务的可用性,新上线的任务是否有问题可以记录缓存命中率: 能...

2018-07-08 22:02:38

阅读数 449

评论数 0

关于接收对象的小技巧

今天在完成开发任务的时候被师兄指出了一个关于代码的优雅性的小问题,在这里记录一下:    当接受一个Object类型的对象数据,并且要取里面的值的时候,不需要使用类型转换把这个object转换成我们所需要的类,这样的话就相当于写死了逻辑。如果传来的Object类型的对象变化的时候,比如之前是把他转...

2018-07-06 00:57:21

阅读数 49

评论数 0

实习之缓存使用心得

    经历了一段时间的实习,基本上了解了企业级开发一些具体流程和规范化管理机制,并且也开始上手参与到了项目的研发中去,最近在项目中使用缓存的时候发现我们组使用的缓存机制让我眼前一亮,这是我在原来学校中没有接触到的一部分,今天来记录一下大概的几个要点:1.根据Cache资源管控信息,获取查询模式 ...

2018-07-04 00:45:18

阅读数 88

评论数 0

http1.1和1.0的区别

1.带宽优化及网络连接的使用,HTTP1.0中,存在一些浪费带宽的现象,例如客户端只是需要某个对象的一部分,而服务器却将整个对象送过来了,并且不支持断点续传功能,HTTP1.1则在请求头引入了range头域,它允许只请求资源的某个部分,即返回码是206(Partial Content),这样就方便...

2018-07-02 00:32:46

阅读数 109

评论数 0

如何合理配置线程池的大小

一般需要根据任务的类型来配置线程池大小:   如果是CPU密集型任务,就需要尽量压榨CPU,参考值可以设为 NCPU+1  如果是IO密集型任务,参考值可以设置为2*NCPU  当然,这只是一个参考值,具体的设置还需要根据实际情况进行调整,比如可以先将线程池大小设置为参考值,再观察任务运行情况和系...

2018-07-02 00:30:39

阅读数 1127

评论数 0

HTTPS的工作流程

1.客户端发送请求到服务器端2.服务器端返回证书和公开密钥,公开密钥作为证书的一部分而存在3.客户端验证证书和公开密钥的有效性,如果有效,则生成共享密钥并使用公开密钥加密发送到服务器端4.服务器端使用私有密钥解密数据,并使用收到的共享密钥加密数据,发送到客户端5.客户端使用共享密钥解密数据...

2018-06-29 00:31:18

阅读数 290

评论数 0

在浏览器中输入网址后执行的全部过程

1、浏览器根据域名(主机名)通过DNS服务器查询域名对应的服务器的IP地址2、浏览器主机根据IP地址与服务器建立TCP连接。3、浏览器将访问请求封装为一个HTTP请求报文,通过TCP协议发送给服务器。4、服务器收到请求并响应,生成一个HTTP响应报文,通过TCP协议发送给浏览器主机。5、浏览器得到...

2018-06-29 00:25:43

阅读数 615

评论数 0

重写equals方法

object对象中的 public boolean equals(Object obj),指示其他某个对象是否与此对象“相等”。这里的相等指的是比较的两方指向同一个对象 对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象(就是同一块内存地址),此方法才返回 true; 但是这一...

2018-06-28 01:08:13

阅读数 110

评论数 0

项目之如果学会使用枚举来封装出现的常量

    项目初期的时候,因为有很多异常信息的处理都需要返回响应的结果字符串,每次都是在需要的地方直接写上字符串就好,后来当需求变动,返回的消息有改动的时候,就需要一处一处地查找用到的字符串,非常麻烦,而且不容易纠错。所以本着优化代码,规范代码的思想,之前有时间将所有的消息都用枚举类型来替代,这样一...

2018-06-28 00:58:30

阅读数 135

评论数 0

DNS查找过程

递归查询:        主机向本地域名服务器的查询一般都是采用递归查询。        如果主机所询问的本地域名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其根域名服务器继续发出查询请求报文(即替主机继续查询),而不是让主机自己进行下一步查询。因此,递归查询返回...

2018-06-27 00:24:47

阅读数 536

评论数 0

CAS自旋volatile变量

我们先来看一下AtomicInteger类的getAndIncrement的源代码: public final int getAndIncrement() { for (;;) { int current = ...

2018-06-27 00:19:44

阅读数 2142

评论数 0

CAS

一、什么是CASCAS,compare and swap的缩写,中文翻译成比较并交换。我们都知道,在java语言之前,并发就已经广泛存在并在服务器领域得到了大量的应用。所以硬件厂商老早就在芯片中加入了大量直至并发操作的原语,从而在硬件层面提升效率。在intel的CPU中,使用cmpxchg指令。在...

2018-06-27 00:17:19

阅读数 63

评论数 0

CDN内容分发网络技术

    由于静态网站的请求资源是不会经常发生变化的,那么这种资源其实很容易被迁移,我们都知道网络传输的效率是和距离长短有关系的,既然静态资源很容易被迁移那么我们就可以把静态资源服务器按地域分布在多个服务节点上,当用户请求网站时候根据一个路由算法将请求落地在离用户最近的节点上,这样就可以减少网络传输...

2018-06-24 23:18:42

阅读数 40

评论数 0

集群session一致性和同步问题

一. 何为session用户使用网站的服务,基本上需要浏览器和web服务器进行多次交互,web服务器如何知道哪些请求是来自哪个会话的?具体方式为:在会话开始时,分配一个唯一的会话标识(sessionId),通过cookie把这个标识告诉浏览器,以后每次请求的时候,浏览器都会带上这个会话标识来告诉w...

2018-06-24 23:08:20

阅读数 56

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭