自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ZCC的专栏

每天坚持看书和写作,相信每天的一小步,将会是人生的一大步! 形成、知化、流动、屏读、使用、共享、过滤、重混、互动、追踪、提问、开始!...

原创 Java面试大集合

知识点总结 (1)https://github.com/CyC2018/CS-Notes (2)https://github.com/crossoverJie/Java-Interview (3)https://github.com/Snailclimb/JavaGuide (...

2018-09-29 17:01:17

阅读数 330

评论数 0

翻译 Java网络编程

一、网络编程模型 二、主要步骤和代码实现 2.1 Socket通信的步骤 ① 创建ServerSocket和Socket ② 打开连接到Socket的输入/输出流 ③ 按照协议对Socket进行读/写操作 ④ 关闭输入输出流、关闭Socket 服务器端: ① 创建ServerS...

2018-09-27 15:29:45

阅读数 122

评论数 0

转载 秒杀系统的设计

一、秒杀的特点 (1)瞬时并发量大 秒杀时会有大量用户在同一时间进行抢购,瞬时并发访问量突增 10 倍,甚至 100 倍以上都有。 (2)库存量少 一般秒杀活动商品量很少,这就导致了只有极少量用户能成功购买到。 (3)业务简单 流程比较简单,一般都是下订单、扣库存、支付订单 二、秒杀架构思想 三...

2018-09-27 15:13:04

阅读数 868

评论数 0

翻译 tomcat优化(内存,并发,缓存,安全,网络,系统等)

一、tomcat架构 1. Tomcat架构 Server(服务器)是Tomcat构成的顶级构成元素,所有一切均包含在Serv erz中,Server的实现类StandardServer可以包含一个到多个Services;>&...

2018-09-26 23:37:45

阅读数 114

评论数 0

翻译 手写生产者和消费者

一、手写一个阻塞队列 import java.util.LinkedList; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.ReentrantLock; public class My...

2018-09-25 14:00:25

阅读数 309

评论数 0

翻译 String中hashCode的求法

**求解算法:s[0]31^(n-1) + s[1]31 ^(n-2) + … + s[n-1] s[i]表示字符串的第i个字符,n表示字符串的长度,^表示取幂。 返回字符串的hashCode,int类型。 方法中hash初始值为0,value为输入的字符串转化为charArray。 pub...

2018-09-23 20:14:42

阅读数 209

评论数 0

原创 深信服四道编程题

一、木板最大接水量 import java.util.Scanner; import java.util.Stack; /** 木板接水 */ public class Main { public static void main(String[] args) { Scanner ...

2018-09-22 23:24:31

阅读数 282

评论数 0

翻译 用读写锁实现一个缓存系统

一、用读写锁设计缓存系统 import java.util.HashMap; import java.util.Map; import java.util.concurrent.locks.ReentrantReadWriteLock; /** * 用读写锁实现的一个缓存系统,读...

2018-09-19 22:01:56

阅读数 253

评论数 0

翻译 进程、线程间的几种通信方式

一、进程通信 几种进程间的通信方式 (1) 管道(pipe):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有血缘关系的进程间使用。进程的血缘关系通常指父子进程关系。 (2)有名管道(named pipe):有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间通信。 (3)...

2018-09-19 13:13:13

阅读数 140

评论数 0

转载 面试复习

:Algorithm: 算法 剑指 Offer 题解 目录根据原书第二版进行编排,代码和原书有所不同,尽量比原书更简洁。 Leetcode 题解 对题目做了一个大致分类,并对每种题型的解题思路做了总结。 算法 排序、并查集、栈和队列、红黑树、散列表。

2018-09-18 10:17:38

阅读数 191

评论数 0

翻译 计算机书籍推荐

数据结构与算法 算法 数据结构与算法分析 编程珠玑 剑指 Offer 操作系统 现代操作系统 深入理解计算机系统 鸟哥的 Linux 私房菜 Unix 环境高级编程 Unix/Linux 编程实践教程 Operating Systems: Three Easy P...

2018-09-18 09:34:36

阅读数 888

评论数 0

翻译 TCP三次握手和四次挥手和拥塞控制

一、三次握手和四次挥手 二、TCP报文头 三、TCP流量控制和拥塞控制 (1).流量控制——滑动窗口 TCP采用大小可变的滑动窗口进行流量控制,窗口大小的单位是字节。 (2)拥塞控制 (1)慢开始,拥塞避免 (2)快重传,快恢复 ...

2018-09-17 19:45:46

阅读数 124

评论数 0

翻译 Http协议相关问题

一、http协议中的请求和响应头包括内容 (1)请求 ①是请求方法,GET和POST是最常见的HTTP方法,除此以外还包括DELETE、HEAD、OPTIONS、PUT、TRACE。不过,当前的大多数浏览器只支持GET和POST,Spring 3.0提供了一个HiddenHttpMetho...

2018-09-17 11:35:13

阅读数 131

评论数 0

翻译 Set集合常用的类

一、HashSet类 HashSet具有以下特点: (1)HashSet具有很好的对象检索性能,当从HashSet中查找某个对象时,Java系统首先调用对象的hasCode方法获得该对象的哈希码,然后根据哈希码找到对应的存储区域,最后取出该存储区域的每个元素与该对象进行equals方法的比较,...

2018-09-17 11:14:36

阅读数 854

评论数 0

翻译 排序算法小结

一、排序算法分类 二、排序算法对比

2018-09-16 13:07:22

阅读数 74

评论数 0

翻译 随机数范围扩展

题目:已知有个rand7()的函数,返回1到7随机自然数,让利用这个rand7()构造rand10() 随机1~10。 分析:要保证rand10()在整数1-10的均匀分布,可以构造一个1-10*n的均匀分布的随机整数区间(n为任何正整数)。假设x是这个1-10*n区间上的一个随机整数,那么...

2018-09-15 22:27:11

阅读数 145

评论数 0

翻译 TCP解决粘包问题

一、定义 二、解决办法 方法一:TCP提供了强制数据立即传送的操作指令push,TCP软件收到该操作指令后,就立即将本段数据发送出去,而不必等待发送缓冲区满; 方法二:发送固定长度的消息 方法三:把消息的尺寸与消息一块发送 方法四:双方约定每次传送的大小 方法五:双方约定使用特殊标...

2018-09-14 15:46:34

阅读数 195

评论数 0

翻译 CAP原理及分布式一致性算法

一、CAP原理 一个分布式系统最多只能同时满足 一致性(Consistency),可用性(Availability)和分区容错性(Partition tolerance)这三项中的两项。 (1)一致性(Consistency) 一致性(Consistency),说的是每一个更新成功后...

2018-09-13 16:55:09

阅读数 646

评论数 0

翻译 linux硬链接与软链接的联系与区别

一、Linux 系统的顶层目录结构 二、文件文件名与数据 在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 (metadata)。用户数据,即文件数据块 (data block),数据块是记录文件真实内容的地方;而元数据则是文件的附加属性,如文件大小、创建时...

2018-09-13 11:13:36

阅读数 690

评论数 0

原创 求一个字符串的最长的无重复子串

例如,在”abcabcbb”中,其无重复字符的最长子字符串是”abc”,其长度为 3。 对于,”bbbbb”,其无重复字符的最长子字符串为”b”,长度为1。 import java.util.HashSet; import java.util.Scanner; public class Ma...

2018-09-10 16:20:35

阅读数 313

评论数 0

翻译 网络编程小结

一、网络编程NIO NIO即Non-block I/O,同步非阻塞I/O,与Socket类和ServerSocket类相对应,NIO也提供了SocketChannel和ServerSocketChannel两种不同的套接字通道实现。 深入理解NIO之前呢,首先我们要了解与NIO有关的基本概念。...

2018-09-10 10:51:07

阅读数 117

评论数 0

翻译 操作系统小结

一、大内核和微内核 内核分为主要的两个类别:聚内核与微内核(还有第三类,外核,主要存在于研究领域),大内核比其它两类的设计更简单,在1980之前所有内核都采用聚内核的方式。聚内核被实现为运行在单一的地址空间里的单一的进程。因此,这种内核通常以一个静态的二进制文件保存在磁盘中。所以内核的服务都存在...

2018-09-09 19:01:47

阅读数 114

评论数 0

翻译 Zookeeper的Leader选举算法

一、概述 在ZooKeeper中,提供了三种Leader选举的算法,分别是 1)LeaderElection、 2)UDP版本的FastLeaderElection 3)TCP版本的FastLeaderElection 可以通过在配置文件zoo.cfg中使用electionAlg...

2018-09-09 15:13:30

阅读数 1751

评论数 0

翻译 Mysql总结

一、Mysql优化 语句优化,索引优化和失效,和优化锁对象,优化磁盘IO 二、聚簇索引和非聚簇索引 MyISAM的是非聚簇索引,B+Tree的叶子节点上的data,并不是数据本身,而是数据存放的地址。主索引和辅助索引没啥区别,只是主索引中的key一定得是唯一的。这里的索引都是非聚簇索...

2018-09-09 14:23:08

阅读数 126

评论数 0

翻译 Redis相关问题

一、Redis简介 Redis是一个开源的内存中的数据结构存储系统,它可以用作:数据库、缓存和消息中间件 它支持多种类型的数据结构,如字符串(Strings),散列(Hash),列表(List),集合(Set),有序集合(Sorted Set或者是ZSet)与范围查询,Bitmaps,Hype...

2018-09-09 12:55:46

阅读数 87

评论数 0

翻译 Mysql主从复制

一、 什么是主从复制 将主数据库中的DDL和DML操作通过二进制日志(BINLOG)传输到从数据库上,然后将这些日志重新执行(重做);从而使得从数据库的数据与主数据库保持一致。 二、主从复制的作用 1、主数据库出现问题,可以切换到从数据库。 2、可以进行数据库层面的读写分离, 3、可...

2018-09-09 10:48:42

阅读数 57

评论数 0

转载 Java反射和注解

一、反射 二、注解 参考链接

2018-09-06 15:17:10

阅读数 105

评论数 0

转载 Java抽象类与接口的区别

什么时候使用抽象类和接口 如果你拥有一些方法并且想让它们中的一些有默认实现,那么使用抽象类吧。 如果你想实现多重继承,那么你必须使用接口。由于Java不支持多继承,子类不能够继承多个类,但可以实现多个接口。因此你就可以使用接口来解决它。 如果基本功能在不断改变,那么就需要使用抽象类。如果...

2018-09-06 11:49:43

阅读数 72

评论数 0

转载 Java开发面试:高并发秒杀系统如何设计与优化

转载链接 如今处在一个大数据时代,应届生找工作面试高级Java开发工程师时,经常会被问一些和大数据相关的问题,比如大数据处理问题、高并发处理问题、数据优化问题等,笔者曾经遇到两个比较经典的问题,高并发秒杀系统的设计优化问题和大数据文件排序问题。在这里总结了高并发秒杀系统的设计和优化点。 ...

2018-09-06 11:29:31

阅读数 1701

评论数 0

翻译 虚拟机和集合

一、Minor GC ,Full GC 触发条件 (1)Minor GC触发条件:当Eden区满时,触发Minor GC。 (2)Full GC触发条件: (1)调用System.gc时,系统建议执行Full GC,但是不必然执行 (2)老年代空间不足 (3)方法去空间不足 (4)通过...

2018-09-06 11:15:23

阅读数 96

评论数 0

翻译 SQL的四种连接-左外连接、右外连接、内连接、全连接

一、四种连接 1、内联接(典型的联接运算,使用像 = 或 <> 之类的比较运算符)。包括相等联接和自然联接。 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 students和courses表中学生标识号相同的所有行。 2、外联接。...

2018-09-05 19:30:10

阅读数 83

评论数 0

翻译 分布式锁的实现方式

在分布式的环境下,我们需要保证一个方法在同一时间内只能被同一个线程执行。在单机环境中,Java中其实提供了很多并发处理相关的API,但是这些API在分布式场景中就无能为力了。也就是说单纯的Java API并不能提供分布式锁的能力。所以针对分布式锁的实现目前有多种方案: 一 分布式锁一般有三种...

2018-09-04 18:31:20

阅读数 68

评论数 0

原创 寻找一个字符串中的最长的重复子串

问题:求一个字符串中的最长的重复子串 import java.util.*; /** 寻找一个字符串中的最长的重复子串 */ public class Solution { String reg,left; //最长的重复字串,极端情况就比如abcabc,最长重复字串就是a...

2018-09-04 17:56:37

阅读数 3860

评论数 3

转载 Linux常用命令

查看进程 1. ps 查看某个时间点的进程信息 示例一:查看自己的进程 ps -l 示例二:查看系统所有进程 ps aux 示例三:查看特定的进程 ps aux | grep threadx top 实时显示进程信息 示例:两秒钟刷新一次 top -d 2 ...

2018-09-03 16:19:40

阅读数 106

评论数 0

转载 HTTP状态码

当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。 HTTP状态码的英文为HTTP Status Code。 下面是常见的HTTP状态码: 20...

2018-09-02 19:05:19

阅读数 112

评论数 0

翻译 谈谈进程与线程

一、进程概念 进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。进程是一种抽象的概念,从来没有统一的标准定义。进程一般由程序、数据集合和进程控制块三部分组成。程序用于描述进程要完成的功能,是控制进程执行的指令集;...

2018-09-02 17:22:37

阅读数 123

评论数 0

翻译 Comparator和Comparable之间的区别

一、概要 二、详细区别

2018-09-01 16:59:26

阅读数 82

评论数 0

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