Gordon Blog

Keep  hungry  Keep  foolish

朝 乾 夕 惕 , 功 不 唐 捐

计算机数据库 事务 索引 一些小总结

"Transaction && DB-Index"

事务的概念 事务的概念来自于两个独立的需求:并发数据库访问,系统错误恢复。 一个事务是可以被看作一个单元的一系列SQL语句的集合。 事务的特性(ACID) A, atomacity 原子性 事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联的操作具有共同的目标,并且是相互依赖的。如果系统只执行这些操作的一个子集,则可能会破坏事务...

Java 基础知识(二)- JDK 中运用的设计模式

"别说我是学过设计模式的"

1、创建型设计模式 抽象工厂模式 特点:创建方法返回一个可以用来创建抽象类或接口的工厂类。 javax.xml.parsers.DocumentBuilderFactory#newInstance() javax.xml.transform.TransformerFactory#newInstance() javax.xml.xpath.XPathFactory#newInstance(...

Java 软件工程技术 面试 个人指南 (三) - 常见算法篇

"一切都是为了做个不后悔的自己"

数组 链表 判断单链表中是否有环找到环的入口节点 使用追赶的方法,设定两个指针slow、fast,从头指针开始,每次分别前进1步、2步。如存在环,则两者相遇;如不存在环,fast遇到NULL退出 如何知道环的长度 记录下问题1的碰撞点p,slow、fast从该点开始,再次碰撞所走过的操作数就是环的长度s ...

拜读 鲁迅《热风·随感录四十一》& 缅怀 史蒂芬.威廉.霍金

"愿中国青年都只是向上走"

他? “即使我身处果壳之中,我仍以为自己是宇宙之王。” 史蒂芬·威廉·霍金(Stephen William Hawking),1942年1月8日出生于英国牛津,英国剑桥大学著名物理学家,现代最伟大的物理学家之一、20世纪享有国际盛誉的伟人之一,2018年3月14号,史蒂芬·霍金去世,享年76岁。 毫无疑问,他是伟人。 时间 著作名...

Java 进阶知识(三)- HashMap 扩容 位运算 原理

"HashMap 扩容 & HashCode 妙用"

哦? HashMap在Java集合里属于使用频率非常高的一种结构,而且面试时常会出现相关问题,其扩容原理使用了位运算,十分精妙,特此记录一番 JDK为:1.9 HashMap有两个参数影响其性能:初始容量和加载因子。 默认初始容量DEFAULT_INITIAL_CAPACITY是16 = 1 « 4 最大容量MAXIMUM_CAPACITY是2^30 = 1,07...

Java 进阶知识(二)- Proxy 代理模式

"浅谈JDK静态代理,JDK动态代理以及CGLIB动态代理异同"

本文是基于jdk1.8&CGLIB 3.1来对Java代理模式的底层机制进行简浅探究 Java中代理的实现一般分为三种: JDK静态代理 JDK动态代理 CGLIB动态代理 在Spring的AOP实现中,主要应用了JDK动态代理以及CGLIB动态代理。 JDK静态代理 创建一个接口,然后创建被代理的类实现该接口并且实现该接口中的抽象方法。之后再创建一个...

强图一波流系列 (一) - OSI 七层模型

"OSI 七层模型 & 各层协议"

强图一波流系列旨在以最简单的视图来展示最多的信息 图一 : 计算机网络 - OSI 7层模型 应用层 HTTP 超文本传输协议 FTP 文件传输协议 SMTP 简单邮件传输协议 TELNET TCP/IP终端仿真协议 POP3 邮局协议第三版 Finger 用户信息协议 NNTP 网络新闻传输协议 IMAP4 因特网信息访问协议第四版 ...

Java 进阶知识(一)- Jvm Java虚拟机

"《深入理解JVM》读书笔记"

第二章 Java内存区域与内存溢出异常 一、运行时数据区域 1.程序计数器 线程私有,是一块较小内存空间,可以看作当前线程的执行字节码的行号指示器。CPU分配给A线程的时间片用完,线程挂起,程序计数器记录当前线程执行的字节码指令地址。线程切换回来,再次获取CPU时间片,依靠程序计数器保存的字节码指令地址继续执行程序。 2.虚拟机栈 线程私有,生命周期和线程一样。Java方法在执行的同时...

Java 基础知识(一)- Collection 集合

"Java 集合 大家族 & 使用注意事项"

原文地址:java提高篇-集合大家族 作者:chenssy 这是一篇转载的博文,笔者对其中一些东西加入了自己的理解和补充,仅为记录之用。 Java集合 在编写java程序中,我们最常用的除了八种基本数据类型,String对象外还有一个集合类,在我们的的程序中到处充斥着集合类的身影!java中集合大家族的成员实在是太丰富了,有常用的ArrayList...

6种负载均衡算法 & Java代码实现

"抓阄干活,你行你上"

老王家有一亩地,四头牛,假设每头牛耕地的效率是一样的,那么怎么安排牛耕作最有效率? 还是那个老王,还是那亩地,但牛不是以前的牛,假设每头牛耕地的效率不一样,那么又该怎么安排? 互联网架构中,计算机的资源在分配和使用有两大思维:效率和公平 而负载均衡技术体现了公平思维。 负载均衡 负载均衡(Load Balance),指由多台服务器以对称的方式组成一个服务器集合,每台服务器都...